From 69d88ec4639d7bec0d3b226c2f4d2186703e9055 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 30 Mar 2014 15:59:54 +0200 Subject: [PATCH 01/53] 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 76c4b44e..072961a2 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 02/53] 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 072961a2..397ea847 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 528cae34..bf0f3817 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 03/53] 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 d29ec375..3478932a 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 04/53] 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 3478932a..ba9015ee 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 05/53] 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 ba9015ee..74f04913 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 06/53] 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 fa54d01a..7d9ec1b7 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 cc61d289..2239e9e4 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 7156b118..d9af9044 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 b66aa3a6..4b591f0f 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 a7312d21..a3674a6c 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 af61bd36..13f075f7 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 fa358fac..77f1c373 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 fe8b8b26..7633def3 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 90f55ab4..61215420 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 07/53] 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 4b591f0f..80d93a46 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 cd2b72ee..4749181e 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 7633def3..72e70662 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 08/53] 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 b0ae5e0d..b1f0a187 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 9181a62e..839240bd 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 0ff24bfd..0ee1b355 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 9a80a177..bbfc0b75 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 74f04913..7d497e3c 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 2d3aab9c..5b68f513 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 09/53] 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 bbfc0b75..01cf2486 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 80d93a46..bdb0e7e7 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 1e08cf10..e11e8d22 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 2f7b6b65..8c08c9ee 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 72e70662..2a1f8a48 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 f7c5e35c..4b2fee99 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 10/53] 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 a3f507d6..8f676c8e 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 7d9ec1b7..b34ed8e0 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 716c9c39..8dcefc30 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 11/53] 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 22aa1e05..cf920b1e 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 12/53] 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 7d497e3c..a3cef485 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 13/53] 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 0ee1b355..73036712 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 d9af9044..a59a9bac 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 14/53] 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 73036712..937edcb4 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 a59a9bac..d3d6e930 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 8c08c9ee..255aa313 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 15/53] 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 a3f507d6..728c81d9 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 011ad695..f57cd449 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 b1f0a187..497bd9de 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 0ee1b355..061336a7 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 01cf2486..b1d3690f 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 6d18515f..c595d5e1 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 42dee56e..344b0f3e 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 3e5570f9..910ea74d 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 1065fa61..22daffee 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 0b93db8f..5122d0ec 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 8708d3dd..c8f3dadf 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 39bdcf40..5d1c4853 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 bdb0e7e7..6d0bebd7 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 2a1f8a48..378fb2e5 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 5de082ce..cb99a407 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 16/53] 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 8f676c8e..0f22ba90 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 a3cef485..95a9fcf6 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 cf920b1e..404708b6 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 dd413d2e..5d841ae1 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 a3d79b2b..7482ad97 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 17/53] 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 05e68868..143b175e 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 b34ed8e0..2307c8af 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 4f0f3e38..443973b8 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 77f1c373..b2723490 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 18/53] 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 d3d6e930..5cfcc46b 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 1a464b6c..7dc60396 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 19/53] minor change --- client/cmdhficlass.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 5cfcc46b..c2045952 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 20/53] 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 5d1c4853..e8dc8abc 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 21/53] 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 497bd9de..fb19656d 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 8a36d6ae..8f6a6af2 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 22/53] 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 95a9fcf6..94d9d1fb 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 b34ed8e0..93aaf953 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 8dcefc30..6a4e6ee6 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 23/53] 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 93aaf953..1f8b9fcd 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 24/53] 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 e8dc8abc..91741134 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 c2045952..583d518e 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 25/53] 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 1f8b9fcd..af075e6c 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 6a4e6ee6..8a202828 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 26/53] 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 af075e6c..6d151140 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 27/53] 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 b1d3690f..a4632aa5 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 28/53] 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 b1d3690f..a4632aa5 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 91741134..c9976076 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 29/53] 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 6d151140..4cd06e86 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 30/53] 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 4cd06e86..2b548816 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 31/53] 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 2b548816..e56c4e03 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 32/53] 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 e56c4e03..be6e35d5 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 33/53] 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 e10c1001..6f0a2aef 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 94d9d1fb..0ed1c0c3 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 05ffc667..b2b215e1 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 be6e35d5..607121f0 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 8a202828..8bbbf195 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 00000000..1d668a14 --- /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 34/53] 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 0ed1c0c3..2381a30f 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 607121f0..674a1bb5 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 35/53] 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 0f22ba90..8347bed9 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 011ad695..ee9fea74 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 2381a30f..c5e244c2 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 674a1bb5..32668d98 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 a3674a6c..83f49db7 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 a209e8f9..6363e347 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 bf2a8a1f..aeba31a7 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 1d668a14..c77a449a 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 5e4e0fc7..38001dd0 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 b4e29804..3e00c0a6 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 36/53] 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 32668d98..6416ebbc 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 c77a449a..1c3aad6f 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 38001dd0..e66ed6f9 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 37/53] 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 9025e8f1..0a8bcd7a 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 8bbbf195..6c1bd9ea 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 404708b6..d9b26e2a 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 7278754b..e298d659 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 18ff972a..3a8f0c3a 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 38/53] 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 c5e244c2..894adef7 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 0a8bcd7a..f10d7b53 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 3a8f0c3a..a0e85ffd 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 1c3aad6f..a03e7f02 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 00000000..d49c13a2 --- /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 00000000..1fb16070 --- /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 00000000..9383bab3 --- /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 00000000..34fbbec1 --- /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 00000000..bf1cc958 --- /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 39/53] 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 f10d7b53..bb9407d7 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 6c1bd9ea..999e6438 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 40/53] 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 bb9407d7..d8a0fcf6 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 41/53] 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 d49c13a2..00000000 --- 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 1fb16070..00000000 --- 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 9383bab3..00000000 --- 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 34fbbec1..00000000 --- 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 bf1cc958..00000000 --- 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 42/53] 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 00000000..d49c13a2 --- /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 00000000..1fb16070 --- /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 00000000..9383bab3 --- /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 00000000..34fbbec1 --- /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 00000000..bf1cc958 --- /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 43/53] 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 894adef7..d5b64593 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 44/53] 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 d5b64593..847e4525 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 45/53] Removed unused variable --- armsrc/lfops.c | 1 - 1 file changed, 1 deletion(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 847e4525..ab196325 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 46/53] Fixed indentation --- common/lfdemod.c | 1170 +++++++++++++++++++++++----------------------- 1 file changed, 585 insertions(+), 585 deletions(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index a03e7f02..f88db18b 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 47/53] 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 f88db18b..79c99f73 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 48/53] 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 28bdb3bc..2b1230f5 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 583d518e..19ec57d2 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 49/53] 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 2b1230f5..cb5416a0 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 19ec57d2..f6261f33 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 3e00c0a6..4d50de59 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 50/53] 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 d955fc83..9e8a2105 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 ff20a950..026357b5 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 c9976076..36ffe1b8 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 f6261f33..5146401b 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 51/53] Minor dox --- client/cmdhf.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 9e8a2105..85cc5425 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 52/53] 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 cb5416a0..3844ab14 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 0f7a250b..26e636ca 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 53/53] 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 5146401b..dba4f113 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 7dc60396..f0eb964b 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 255aa313..9ea9d145 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 a0f5a799..e02079d5 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