From: iceman1001 Date: Thu, 29 Jan 2015 20:39:33 +0000 (+0100) Subject: Merge branch 'master' of https://github.com/Proxmark/proxmark3 X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/64d1b4efc932898dc250dbc5d8f7418e3643b27b?hp=f004ba08d4e1bb3472f931924234c901a41d1ae1 Merge branch 'master' of https://github.com/Proxmark/proxmark3 Conflicts: armsrc/Makefile armsrc/appmain.c armsrc/apps.h armsrc/epa.c armsrc/iclass.c armsrc/iso14443a.c armsrc/iso14443a.h armsrc/iso15693.c armsrc/lfops.c armsrc/mifarecmd.c armsrc/mifareutil.c armsrc/mifareutil.h armsrc/string.h armsrc/util.h bootrom/bootrom.c client/Makefile client/cmddata.c client/cmddata.h client/cmdhf.c client/cmdhf14a.c client/cmdhf14b.c client/cmdhf15.c client/cmdhficlass.c client/cmdhfmf.c client/cmdhfmfu.c client/cmdlf.c client/cmdlfem4x.c client/cmdlfhid.c client/cmdlfhitag.c client/cmdlfio.c client/cmdmain.c client/data.h client/flash.c client/graph.c client/graph.h client/loclass/elite_crack.c client/loclass/fileutils.c client/lualibs/commands.lua client/lualibs/html_dumplib.lua client/lualibs/mf_default_keys.lua client/lualibs/utils.lua client/mifarehost.c client/nonce2key/crapto1.c client/proxmark3.c client/scripting.c client/scripts/tnp3dump.lua client/scripts/tnp3sim.lua client/scripts/tracetest.lua common/Makefile.common common/cmd.c common/cmd.h common/lfdemod.c common/lfdemod.h common/usb_cdc.c common/usb_cdc.h include/usb_cmd.h --- diff --git a/armsrc/BigBuf.c b/armsrc/BigBuf.c new file mode 100644 index 00000000..7f56e9a0 --- /dev/null +++ b/armsrc/BigBuf.c @@ -0,0 +1,97 @@ +//----------------------------------------------------------------------------- +// Jonathan Westhues, Aug 2005 +// Gerhard de Koning Gans, April 2008, May 2011 +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// BigBuf and functions to allocate/free parts of it. +//----------------------------------------------------------------------------- + +#include +#include "proxmark3.h" +#include "apps.h" +#include "string.h" + +// BigBuf is the large multi-purpose buffer, typically used to hold A/D samples or traces. +// Also used to hold various smaller buffers and the Mifare Emulator Memory. + +// declare it as uint32_t to achieve alignment to 4 Byte boundary +static uint32_t BigBuf[BIGBUF_SIZE/sizeof(uint32_t)]; + +// High memory mark +static uint16_t BigBuf_hi = BIGBUF_SIZE; + +// pointer to the emulator memory. +static uint8_t *emulator_memory = NULL; + +// trace related global variables +// (only one left). ToDo: make this static as well? +uint16_t traceLen = 0; + + +// get the address of BigBuf +uint8_t *BigBuf_get_addr(void) +{ + return (uint8_t *)BigBuf; +} + + +// get the address of the emulator memory. Allocate part of Bigbuf for it, if not yet done +uint8_t *BigBuf_get_EM_addr(void) +{ + if (emulator_memory == NULL) { // not yet allocated + emulator_memory = BigBuf_malloc(CARD_MEMORY_SIZE); + } + + return emulator_memory; +} + + +// clear ALL of BigBuf +void BigBuf_Clear(void) +{ + memset(BigBuf,0,BIGBUF_SIZE); + Dbprintf("Buffer cleared (%i bytes)",BIGBUF_SIZE); +} + + +// allocate a chunk of memory from BigBuf. We allocate high memory first. The unallocated memory +// at the beginning of BigBuf is always for traces/samples +uint8_t *BigBuf_malloc(uint16_t chunksize) +{ + if (BigBuf_hi - chunksize < 0) { + return NULL; // no memory left + } else { + chunksize = (chunksize + 3) & 0xfffc; // round to next multiple of 4 + BigBuf_hi -= chunksize; // aligned to 4 Byte boundary + return (uint8_t *)BigBuf + BigBuf_hi; + } +} + + +// free ALL allocated chunks. The whole BigBuf is available for traces or samples again. +void BigBuf_free(void) +{ + BigBuf_hi = BIGBUF_SIZE; + emulator_memory = NULL; +} + + +// free allocated chunks EXCEPT the emulator memory +void BigBuf_free_keep_EM(void) +{ + if (emulator_memory != NULL) { + BigBuf_hi = emulator_memory - (uint8_t *)BigBuf; + } else { + BigBuf_hi = BIGBUF_SIZE; + } +} + + +// return the maximum trace length (i.e. the unallocated size of BigBuf) +uint16_t BigBuf_max_traceLen(void) +{ + return BigBuf_hi; +} diff --git a/armsrc/BigBuf.h b/armsrc/BigBuf.h new file mode 100644 index 00000000..9d89a4f0 --- /dev/null +++ b/armsrc/BigBuf.h @@ -0,0 +1,34 @@ +//----------------------------------------------------------------------------- +// Jonathan Westhues, Aug 2005 +// Gerhard de Koning Gans, April 2008, May 2011 +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// BigBuf and functions to allocate/free parts of it. +//----------------------------------------------------------------------------- + +#ifndef __BIGBUF_H +#define __BIGBUF_H + + +#define BIGBUF_SIZE 40000 +#define MAX_FRAME_SIZE 256 // maximum allowed ISO14443 frame +#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 7) / 8) +#define MAX_MIFARE_FRAME_SIZE 18 // biggest Mifare frame is answer to a read (one block = 16 Bytes) + 2 Bytes CRC +#define MAX_MIFARE_PARITY_SIZE 3 // need 18 parity bits for the 18 Byte above. 3 Bytes are enough to store these +#define CARD_MEMORY_SIZE 4096 +#define DMA_BUFFER_SIZE 128 + +extern uint8_t *BigBuf_get_addr(void); +extern uint8_t *BigBuf_get_EM_addr(void); +extern uint16_t BigBuf_max_traceLen(void); +void BigBuf_Clear(void); +extern uint8_t *BigBuf_malloc(uint16_t); +extern void BigBuf_free(void); +extern void BigBuf_free_keep_EM(void); + +extern uint16_t traceLen; + +#endif /* __BIGBUF_H */ diff --git a/armsrc/Makefile b/armsrc/Makefile index 69e4738a..52317165 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -16,9 +16,9 @@ APP_CFLAGS = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ #SRC_LCD = fonts.c LCD.c SRC_LF = lfops.c hitag2.c SRC_ISO15693 = iso15693.c iso15693tools.c -SRC_ISO14443a = epa.c iso14443a.c mifareutil.c mifarecmd.c mifaresniff.c -SRC_ISO14443b = iso14443.c -SRC_CRAPTO1 = crapto1.c crypto1.c des.c aes.c desfire_key.c desfire_crypto.c mifaredesfire.c +SRC_ISO14443a = epa.c iso14443a.c mifareutil.c mifarecmd.c mifaresniff.c +SRC_ISO14443b = iso14443.c +SRC_CRAPTO1 = crapto1.c crypto1.c des.c aes.c SRC_CRC = iso14443crc.c crc.c crc16.c crc32.c THUMBSRC = start.c \ @@ -41,7 +41,8 @@ ARMSRC = fpgaloader.c \ $(SRC_CRAPTO1) \ $(SRC_CRC) \ legic_prng.c \ - iclass.c + iclass.c \ + BigBuf.c \ # stdint.h provided locally until GCC 4.5 becomes C99 compliant diff --git a/armsrc/appmain.c b/armsrc/appmain.c index c158ad2c..00e9ba4d 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -36,18 +36,12 @@ // is the order in which they go out on the wire. //============================================================================= -#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 +#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"))); -void BufferClear(void) -{ - memset(BigBuf,0,sizeof(BigBuf)); - Dbprintf("Buffer cleared (%i bytes)",sizeof(BigBuf)); -} - void ToSendReset(void) { ToSendMax = -1; @@ -68,7 +62,7 @@ void ToSendStuffBit(int b) ToSendBit++; - if(ToSendMax >= sizeof(ToSend)) { + if(ToSendMax >= sizeof(ToSend)) { ToSendBit = 0; DbpString("ToSendStuffBit overflowed!"); } @@ -246,7 +240,10 @@ void MeasureAntennaTuningHf(void) void SimulateTagHfListen(void) { - uint8_t *dest = (uint8_t *)BigBuf+FREE_BUFFER_OFFSET; + // ToDo: historically this used the free buffer, which was 2744 Bytes long. + // There might be a better size to be defined: + #define HF_14B_SNOOP_BUFFER_SIZE 2744 + uint8_t *dest = BigBuf_malloc(HF_14B_SNOOP_BUFFER_SIZE); uint8_t v = 0; int i; int p = 0; @@ -281,7 +278,7 @@ void SimulateTagHfListen(void) p = 0; i++; - if(i >= FREE_BUFFER_SIZE) { + if(i >= HF_14B_SNOOP_BUFFER_SIZE) { break; } } @@ -811,11 +808,11 @@ void UsbPacketReceived(uint8_t *packet, int len) MifareUC_Auth2(c->arg[0],c->d.asBytes); break; case CMD_MIFAREU_READCARD: - MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes); + MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes); break; case CMD_MIFAREUC_READCARD: - MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes); - break; + MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes); + break; case CMD_MIFARE_READSC: MifareReadSector(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); break; @@ -870,27 +867,6 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_MIFARE_SNIFFER: SniffMifare(c->arg[0]); break; - - // mifare desfire - case CMD_MIFARE_DESFIRE_READBL: - break; - case CMD_MIFARE_DESFIRE_WRITEBL: - break; - case CMD_MIFARE_DESFIRE_AUTH1: - MifareDES_Auth1(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); - break; - case CMD_MIFARE_DESFIRE_AUTH2: - //MifareDES_Auth2(c->arg[0],c->d.asBytes); - break; - // case CMD_MIFARE_DES_READER: - // ReaderMifareDES(c->arg[0], c->arg[1], c->d.asBytes); - //break; - case CMD_MIFARE_DESFIRE_INFO: - MifareDesfireGetInformation(); - break; - case CMD_MIFARE_DESFIRE: - MifareSendCommand(c->arg[0], c->arg[1], c->d.asBytes); - break; #endif @@ -915,7 +891,7 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_BUFF_CLEAR: - BufferClear(); + BigBuf_Clear(); break; case CMD_MEASURE_ANTENNA_TUNING: @@ -939,17 +915,18 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: LED_B_ON(); + uint8_t *BigBuf = BigBuf_get_addr(); for(size_t i=0; iarg[1]; i += USB_CMD_DATA_SIZE) { size_t len = MIN((c->arg[1] - i),USB_CMD_DATA_SIZE); - cmd_send(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K,i,len,0,((byte_t*)BigBuf)+c->arg[0]+i,len); + cmd_send(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K,i,len,traceLen,BigBuf+c->arg[0]+i,len); } // Trigger a finish downloading signal with an ACK frame - cmd_send(CMD_ACK,0,0,0,0,0); + cmd_send(CMD_ACK,0,0,traceLen,0,0); LED_B_OFF(); break; case CMD_DOWNLOADED_SIM_SAMPLES_125K: { - uint8_t *b = (uint8_t *)BigBuf; + uint8_t *b = BigBuf_get_addr(); memcpy(b+c->arg[0], c->d.asBytes, USB_CMD_DATA_SIZE); cmd_send(CMD_ACK,0,0,0,0,0); break; diff --git a/armsrc/apps.h b/armsrc/apps.h index 30010f1b..39ee3211 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -18,40 +18,10 @@ #include #include #include - -#include "../include/common.h" -#include "../include/hitag2.h" -#include "../include/mifare.h" - -//#include -//#include -//#include "des.h" -//#include "aes.h" -#include "../common/desfire.h" #include "../common/crc32.h" - -// The large multi-purpose buffer, typically used to hold A/D samples, -// maybe processed in some way. -#define BIGBUF_SIZE 40000 -uint32_t BigBuf[BIGBUF_SIZE / sizeof(uint32_t)]; -#define TRACE_OFFSET 0 -#define TRACE_SIZE 3000 -#define RECV_CMD_OFFSET (TRACE_OFFSET + TRACE_SIZE) -#define MAX_FRAME_SIZE 256 -#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 1)/ 8) -#define RECV_CMD_PAR_OFFSET (RECV_CMD_OFFSET + MAX_FRAME_SIZE) -#define RECV_RESP_OFFSET (RECV_CMD_PAR_OFFSET + MAX_PARITY_SIZE) -#define RECV_RESP_PAR_OFFSET (RECV_RESP_OFFSET + MAX_FRAME_SIZE) -#define CARD_MEMORY_OFFSET (RECV_RESP_PAR_OFFSET + MAX_PARITY_SIZE) -#define CARD_MEMORY_SIZE 4096 -#define DMA_BUFFER_OFFSET CARD_MEMORY_OFFSET -#define DMA_BUFFER_SIZE CARD_MEMORY_SIZE -#define FREE_BUFFER_OFFSET (CARD_MEMORY_OFFSET + CARD_MEMORY_SIZE) -#define FREE_BUFFER_SIZE (BIGBUF_SIZE - FREE_BUFFER_OFFSET - 1) +#include "BigBuf.h" extern const uint8_t OddByteParity[256]; -extern uint8_t *trace; // = (uint8_t *) BigBuf; -extern int traceLen; // = 0; extern int rsamples; // = 0; extern int tracing; // = TRUE; extern uint8_t trigger; @@ -82,7 +52,6 @@ void DoAcquisition125k(); extern int ToSendMax; extern uint8_t ToSend[]; -extern uint32_t BigBuf[]; /// fpga.h void FpgaSendCommand(uint16_t cmd, uint16_t v); @@ -130,6 +99,8 @@ void SetAdcMuxFor(uint32_t whichGpio); #define FPGA_HF_SIMULATOR_MODULATE_BPSK (1<<0) #define FPGA_HF_SIMULATOR_MODULATE_212K (2<<0) #define FPGA_HF_SIMULATOR_MODULATE_424K (4<<0) +#define FPGA_HF_SIMULATOR_MODULATE_424K_8BIT 0x5//101 + // Options for ISO14443A #define FPGA_HF_ISO14443A_SNIFFER (0<<0) #define FPGA_HF_ISO14443A_TAGSIM_LISTEN (1<<0) @@ -181,7 +152,7 @@ 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, 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 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); @@ -231,17 +202,6 @@ void OnError(uint8_t reason); -// desfire_crypto.h -void *mifare_cryto_preprocess_data (desfiretag_t tag, void *data, size_t *nbytes, off_t offset, int communication_settings); -void *mifare_cryto_postprocess_data (desfiretag_t tag, void *data, ssize_t *nbytes, int communication_settings); -void mifare_cypher_single_block (desfirekey_t key, uint8_t *data, uint8_t *ivect, MifareCryptoDirection direction, MifareCryptoOperation operation, size_t block_size); -void mifare_cypher_blocks_chained (desfiretag_t tag, desfirekey_t key, uint8_t *ivect, uint8_t *data, size_t data_size, MifareCryptoDirection direction, MifareCryptoOperation operation); -size_t key_block_size (const desfirekey_t key); -size_t padded_data_length (const size_t nbytes, const size_t block_size); -size_t maced_data_length (const desfirekey_t key, const size_t nbytes); -size_t enciphered_data_length (const desfiretag_t tag, const size_t nbytes, int communication_settings); -void cmac_generate_subkeys (desfirekey_t key); -void cmac (const desfirekey_t key, uint8_t *ivect, const uint8_t *data, size_t len, uint8_t *cmac); /// iso15693.h diff --git a/armsrc/epa.c b/armsrc/epa.c index 0bbd2dd7..a04b7628 100644 --- a/armsrc/epa.c +++ b/armsrc/epa.c @@ -435,6 +435,8 @@ int EPA_Setup() iso14a_set_timeout(10500); + iso14a_set_timeout(10500); + // select the card return_code = iso14443a_select_card(uid, &card_select_info, NULL); if (return_code != 1) { diff --git a/armsrc/hitag2.c b/armsrc/hitag2.c index d25fe4c8..f9005c71 100644 --- a/armsrc/hitag2.c +++ b/armsrc/hitag2.c @@ -24,15 +24,19 @@ static bool bQuiet; -bool bCrypto; -bool bAuthenticating; -bool bPwd; -bool bSuccessful; +static bool bCrypto; +static bool bAuthenticating; +static bool bPwd; +static bool bSuccessful; -int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader) + +static int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader) { + static uint16_t traceLen = 0; + uint8_t *trace = BigBuf_get_addr(); + // Return when trace is full - if (traceLen >= TRACE_SIZE) return FALSE; + if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + nbytes(iBits) > BigBuf_max_traceLen()) return FALSE; // Trace the random, i'm curious rsamples += iSamples; @@ -85,21 +89,17 @@ static struct hitag2_tag tag = { }, }; -//#define TRACE_LENGTH 3000 -//uint8_t *trace = (uint8_t *) BigBuf; -//int traceLen = 0; -//int rsamples = 0; +// ToDo: define a meaningful maximum size for auth_table. The bigger this is, the lower will be the available memory for traces. +// Historically it used to be FREE_BUFFER_SIZE, which was 2744. +#define AUTH_TABLE_LENGTH 2744 +static byte_t* auth_table; +static size_t auth_table_pos = 0; +static size_t auth_table_len = AUTH_TABLE_LENGTH; -#define AUTH_TABLE_OFFSET FREE_BUFFER_OFFSET -#define AUTH_TABLE_LENGTH FREE_BUFFER_SIZE -byte_t* auth_table = (byte_t *)BigBuf+AUTH_TABLE_OFFSET; -size_t auth_table_pos = 0; -size_t auth_table_len = AUTH_TABLE_LENGTH; - -byte_t password[4]; -byte_t NrAr[8]; -byte_t key[8]; -uint64_t cipher_state; +static byte_t password[4]; +static byte_t NrAr[8]; +static byte_t key[8]; +static uint64_t cipher_state; /* Following is a modified version of cryptolib.com/ciphers/hitag2/ */ // Software optimized 48-bit Philips/NXP Mifare Hitag2 PCF7936/46/47/52 stream cipher algorithm by I.C. Wiener 2006-2007. @@ -177,14 +177,14 @@ static u32 _hitag2_byte (u64 * x) return c; } -int hitag2_reset(void) +static int hitag2_reset(void) { tag.state = TAG_STATE_RESET; tag.crypto_active = 0; return 0; } -int hitag2_init(void) +static int hitag2_init(void) { // memcpy(&tag, &resetdata, sizeof(tag)); hitag2_reset(); @@ -300,7 +300,8 @@ static void hitag_send_frame(const byte_t* frame, size_t frame_len) LOW(GPIO_SSC_DOUT); } -void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) + +static void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { byte_t rx_air[HITAG_FRAME_LEN]; @@ -457,6 +458,7 @@ static void hitag_reader_send_bit(int bit) { LED_A_OFF(); } + static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len) { // Send the content of the frame @@ -475,7 +477,7 @@ static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len) size_t blocknr; -bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { +static bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -530,7 +532,7 @@ bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) return true; } -bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { +static bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -623,7 +625,7 @@ bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { } -bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { +static bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -663,7 +665,9 @@ bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txl return true; } -bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { + +static bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { + // Reset the transmission frame length *txlen = 0; @@ -675,17 +679,17 @@ bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_ if (bCrypto) { Dbprintf("auth: %02x%02x%02x%02x%02x%02x%02x%02x Failed, removed entry!",NrAr[0],NrAr[1],NrAr[2],NrAr[3],NrAr[4],NrAr[5],NrAr[6],NrAr[7]); - // Removing failed entry from authentiations table - memcpy(auth_table+auth_table_pos,auth_table+auth_table_pos+8,8); - auth_table_len -= 8; + // Removing failed entry from authentiations table + memcpy(auth_table+auth_table_pos,auth_table+auth_table_pos+8,8); + auth_table_len -= 8; - // Return if we reached the end of the authentiactions table + // Return if we reached the end of the authentications table bCrypto = false; if (auth_table_pos == auth_table_len) { return false; } - - // Copy the next authentication attempt in row (at the same position, b/c we removed last failed entry) + + // Copy the next authentication attempt in row (at the same position, b/c we removed last failed entry) memcpy(NrAr,auth_table+auth_table_pos,8); } *txlen = 5; @@ -718,6 +722,7 @@ bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_ return true; } + void SnoopHitag(uint32_t type) { int frame_count; int response; @@ -730,13 +735,15 @@ void SnoopHitag(uint32_t type) { byte_t rx[HITAG_FRAME_LEN]; size_t rxlen=0; - // Clean up trace and prepare it for storing frames - iso14a_set_tracing(TRUE); - iso14a_clear_trace(); - auth_table_len = 0; auth_table_pos = 0; + BigBuf_free(); + auth_table = (byte_t *)BigBuf_malloc(AUTH_TABLE_LENGTH); memset(auth_table, 0x00, AUTH_TABLE_LENGTH); + + // Clean up trace and prepare it for storing frames + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); DbpString("Starting Hitag2 snoop"); LED_D_ON(); @@ -760,7 +767,7 @@ void SnoopHitag(uint32_t type) { AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC1); AT91C_BASE_PIOA->PIO_BSR = GPIO_SSC_FRAME; - // Disable timer during configuration + // Disable timer during configuration AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; // Capture mode, defaul timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger, @@ -940,13 +947,17 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) { bool bQuitTraceFull = false; bQuiet = false; - // Clean up trace and prepare it for storing frames - iso14a_set_tracing(TRUE); - iso14a_clear_trace(); auth_table_len = 0; auth_table_pos = 0; + byte_t* auth_table; + BigBuf_free(); + auth_table = (byte_t *)BigBuf_malloc(AUTH_TABLE_LENGTH); memset(auth_table, 0x00, AUTH_TABLE_LENGTH); + // Clean up trace and prepare it for storing frames + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); + DbpString("Starting Hitag2 simulation"); LED_D_ON(); hitag2_init(); @@ -1126,21 +1137,22 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { bool bStop; bool bQuitTraceFull = false; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - // Reset the return status - bSuccessful = false; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + // Reset the return status + bSuccessful = false; // Clean up trace and prepare it for storing frames - iso14a_set_tracing(TRUE); - iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); + DbpString("Starting Hitag reader family"); // Check configuration switch(htf) { case RHT2F_PASSWORD: { - Dbprintf("List identifier in password mode"); + Dbprintf("List identifier in password mode"); memcpy(password,htd->pwd.password,4); - blocknr = 0; + blocknr = 0; bQuitTraceFull = false; bQuiet = false; bPwd = false; @@ -1152,7 +1164,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { Dbhexdump(8,NrAr,false); bQuiet = false; bCrypto = false; - bAuthenticating = false; + bAuthenticating = false; bQuitTraceFull = true; } break; @@ -1160,17 +1172,17 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { DbpString("Authenticating using key:"); memcpy(key,htd->crypto.key,4); //HACK; 4 or 6?? I read both in the code. Dbhexdump(6,key,false); - blocknr = 0; + blocknr = 0; bQuiet = false; bCrypto = false; - bAuthenticating = false; + bAuthenticating = false; bQuitTraceFull = true; } break; case RHT2F_TEST_AUTH_ATTEMPTS: { Dbprintf("Testing %d authentication attempts",(auth_table_len/8)); auth_table_pos = 0; - memcpy(NrAr,auth_table,8); + memcpy(NrAr, auth_table, 8); bQuitTraceFull = false; bQuiet = false; bCrypto = false; diff --git a/armsrc/iclass.c b/armsrc/iclass.c index aca2c918..c0edc1e0 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -435,7 +435,7 @@ static RAMFUNC int ManchesterDecoding(int v) else { modulation = bit & Demod.syncBit; modulation |= ((bit << 1) ^ ((Demod.buffer & 0x08) >> 3)) & Demod.syncBit; - + Demod.samples += 4; if(Demod.posCount==0) { @@ -642,21 +642,25 @@ void RAMFUNC SnoopIClass(void) // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *readerToTagCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + #define ICLASS_BUFFER_SIZE 32 + uint8_t readerToTagCmd[ICLASS_BUFFER_SIZE]; // The response (tag -> reader) that we're receiving. - uint8_t *tagToReaderResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); - + uint8_t tagToReaderResponse[ICLASS_BUFFER_SIZE]; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + // free all BigBuf memory + BigBuf_free(); + // The DMA buffer, used to stream samples from the FPGA + uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE); + // reset traceLen to 0 iso14a_set_tracing(TRUE); iso14a_clear_trace(); iso14a_set_trigger(FALSE); - // The DMA buffer, used to stream samples from the FPGA - int8_t *dmaBuf = ((int8_t *)BigBuf) + DMA_BUFFER_OFFSET; int lastRxCounter; - int8_t *upTo; + uint8_t *upTo; int smpl; int maxBehindBy = 0; @@ -689,7 +693,8 @@ void RAMFUNC SnoopIClass(void) SetAdcMuxFor(GPIO_MUXSEL_HIPKD); uint32_t time_0 = GetCountSspClk(); - + uint32_t time_start = 0; + uint32_t time_stop = 0; int div = 0; //int div2 = 0; @@ -704,7 +709,7 @@ void RAMFUNC SnoopIClass(void) (DMA_BUFFER_SIZE-1); if(behindBy > maxBehindBy) { maxBehindBy = behindBy; - if(behindBy > 400) { + if(behindBy > (9 * DMA_BUFFER_SIZE / 10)) { Dbprintf("blew circular buffer! behindBy=0x%x", behindBy); goto done; } @@ -740,14 +745,15 @@ void RAMFUNC SnoopIClass(void) smpl = decbyter; if(OutOfNDecoding((smpl & 0xF0) >> 4)) { rsamples = samples - Uart.samples; + time_stop = (GetCountSspClk()-time_0) << 4; LED_C_ON(); //if(!LogTrace(Uart.output,Uart.byteCnt, rsamples, Uart.parityBits,TRUE)) break; //if(!LogTrace(NULL, 0, Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, 0, TRUE)) break; - if(tracing) { + if(tracing) { uint8_t parity[MAX_PARITY_SIZE]; GetParity(Uart.output, Uart.byteCnt, parity); - LogTrace(Uart.output,Uart.byteCnt, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, TRUE); + LogTrace(Uart.output,Uart.byteCnt, time_start, time_stop, parity, TRUE); } @@ -758,6 +764,8 @@ void RAMFUNC SnoopIClass(void) Demod.state = DEMOD_UNSYNCD; LED_B_OFF(); Uart.byteCnt = 0; + }else{ + time_start = (GetCountSspClk()-time_0) << 4; } decbyter = 0; } @@ -765,21 +773,24 @@ void RAMFUNC SnoopIClass(void) if(div > 3) { smpl = decbyte; if(ManchesterDecoding(smpl & 0x0F)) { + time_stop = (GetCountSspClk()-time_0) << 4; + rsamples = samples - Demod.samples; LED_B_ON(); - if(tracing) { + if(tracing) { uint8_t parity[MAX_PARITY_SIZE]; GetParity(Demod.output, Demod.len, parity); - LogTrace(Demod.output, Demod.len, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, FALSE); + LogTrace(Demod.output, Demod.len, time_start, time_stop, parity, FALSE); } - // And ready to receive another response. memset(&Demod, 0, sizeof(Demod)); Demod.output = tagToReaderResponse; Demod.state = DEMOD_UNSYNCD; LED_C_OFF(); + }else{ + time_start = (GetCountSspClk()-time_0) << 4; } div = 0; @@ -852,57 +863,93 @@ static int GetIClassCommandFromReader(uint8_t *received, int *len, int maxLen) } } +static uint8_t encode4Bits(const uint8_t b) +{ + uint8_t c = b & 0xF; + // OTA, the least significant bits first + // The columns are + // 1 - Bit value to send + // 2 - Reversed (big-endian) + // 3 - Encoded + // 4 - Hex values + + switch(c){ + // 1 2 3 4 + case 15: return 0x55; // 1111 -> 1111 -> 01010101 -> 0x55 + case 14: return 0x95; // 1110 -> 0111 -> 10010101 -> 0x95 + case 13: return 0x65; // 1101 -> 1011 -> 01100101 -> 0x65 + case 12: return 0xa5; // 1100 -> 0011 -> 10100101 -> 0xa5 + case 11: return 0x59; // 1011 -> 1101 -> 01011001 -> 0x59 + case 10: return 0x99; // 1010 -> 0101 -> 10011001 -> 0x99 + case 9: return 0x69; // 1001 -> 1001 -> 01101001 -> 0x69 + case 8: return 0xa9; // 1000 -> 0001 -> 10101001 -> 0xa9 + case 7: return 0x56; // 0111 -> 1110 -> 01010110 -> 0x56 + case 6: return 0x96; // 0110 -> 0110 -> 10010110 -> 0x96 + case 5: return 0x66; // 0101 -> 1010 -> 01100110 -> 0x66 + case 4: return 0xa6; // 0100 -> 0010 -> 10100110 -> 0xa6 + case 3: return 0x5a; // 0011 -> 1100 -> 01011010 -> 0x5a + case 2: return 0x9a; // 0010 -> 0100 -> 10011010 -> 0x9a + case 1: return 0x6a; // 0001 -> 1000 -> 01101010 -> 0x6a + default: return 0xaa; // 0000 -> 0000 -> 10101010 -> 0xaa + + } +} //----------------------------------------------------------------------------- // Prepare tag messages //----------------------------------------------------------------------------- static void CodeIClassTagAnswer(const uint8_t *cmd, int len) { - //So far a dummy implementation, not used - //int lastProxToAirDuration =0; + + /* + * SOF comprises 3 parts; + * * An unmodulated time of 56.64 us + * * 24 pulses of 423.75 KHz (fc/32) + * * A logic 1, which starts with an unmodulated time of 18.88us + * followed by 8 pulses of 423.75kHz (fc/32) + * + * + * EOF comprises 3 parts: + * - A logic 0 (which starts with 8 pulses of fc/32 followed by an unmodulated + * time of 18.88us. + * - 24 pulses of fc/32 + * - An unmodulated time of 56.64 us + * + * + * A logic 0 starts with 8 pulses of fc/32 + * followed by an unmodulated time of 256/fc (~18,88us). + * + * A logic 0 starts with unmodulated time of 256/fc (~18,88us) followed by + * 8 pulses of fc/32 (also 18.88us) + * + * The mode FPGA_HF_SIMULATOR_MODULATE_424K_8BIT which we use to simulate tag, + * works like this. + * - A 1-bit input to the FPGA becomes 8 pulses on 423.5kHz (fc/32) (18.88us). + * - A 0-bit inptu to the FPGA becomes an unmodulated time of 18.88us + * + * In this mode the SOF can be written as 00011101 = 0x1D + * The EOF can be written as 10111000 = 0xb8 + * A logic 1 is 01 + * A logic 0 is 10 + * + * */ + int i; ToSendReset(); // Send SOF - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff;//Proxtoair duration starts here - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; + ToSend[++ToSendMax] = 0x1D; for(i = 0; i < len; i++) { - int j; uint8_t b = cmd[i]; - - // Data bits - for(j = 0; j < 8; j++) { - if(b & 1) { - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - } else { - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; + ToSend[++ToSendMax] = encode4Bits(b & 0xF); //Least significant half + ToSend[++ToSendMax] = encode4Bits((b >>4) & 0xF);//Most significant half } - b >>= 1; - } - } // Send EOF - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - + ToSend[++ToSendMax] = 0xB8; //lastProxToAirDuration = 8*ToSendMax - 3*8 - 3*8;//Not counting zeroes in the beginning or end - // Convert from last byte pos to length ToSendMax++; } @@ -915,21 +962,13 @@ static void CodeIClassTagSOF() ToSendReset(); // Send SOF - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - + ToSend[++ToSendMax] = 0x1D; // lastProxToAirDuration = 8*ToSendMax - 3*8;//Not counting zeroes in the beginning - // Convert from last byte pos to length ToSendMax++; } + int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf); /** * @brief SimulateIClass simulates an iClass card. @@ -965,7 +1004,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain else if(simType == 2) { - uint8_t mac_responses[64] = { 0 }; + uint8_t mac_responses[USB_CMD_DATA_SIZE] = { 0 }; Dbprintf("Going into attack mode, %d CSNS sent", numberOfCSNS); // In this mode, a number of csns are within datain. We'll simulate each one, one at a time // in order to collect MAC's from the reader. This can later be used in an offlne-attack @@ -978,6 +1017,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain memcpy(csn_crc, datain+(i*8), 8); if(doIClassSimulation(csn_crc,1,mac_responses+i*8)) { + cmd_send(CMD_ACK,CMD_SIMULATE_TAG_ICLASS,i,0,mac_responses,i*8); return; // Button pressed } } @@ -999,7 +1039,9 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain */ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf) { + // CSN followed by two CRC bytes + uint8_t response1[] = { 0x0F} ; uint8_t response2[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint8_t response3[] = { 0,0,0,0,0,0,0,0,0,0}; memcpy(response3,csn,sizeof(response3)); @@ -1022,33 +1064,34 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader // Reader 81 anticoll. CSN // Tag CSN - uint8_t *resp; - int respLen; - uint8_t* respdata = NULL; - int respsize = 0; - uint8_t sof = 0x0f; + uint8_t *modulated_response; + int modulated_response_size; + uint8_t* trace_data = NULL; + int trace_data_size = 0; + //uint8_t sof = 0x0f; - // Respond SOF -- takes 8 bytes - uint8_t *resp1 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); + // free eventually allocated BigBuf memory + BigBuf_free(); + // Respond SOF -- takes 1 bytes + uint8_t *resp1 = BigBuf_malloc(2); int resp1Len; // Anticollision CSN (rotated CSN) - // 176: Takes 16 bytes for SOF/EOF and 10 * 16 = 160 bytes (2 bytes/bit) - uint8_t *resp2 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 10); + // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) + uint8_t *resp2 = BigBuf_malloc(28); int resp2Len; // CSN - // 176: Takes 16 bytes for SOF/EOF and 10 * 16 = 160 bytes (2 bytes/bit) - uint8_t *resp3 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 190); + // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) + uint8_t *resp3 = BigBuf_malloc(30); int resp3Len; // e-Purse - // 144: Takes 16 bytes for SOF/EOF and 8 * 16 = 128 bytes (2 bytes/bit) - uint8_t *resp4 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 370); + // 18: Takes 2 bytes for SOF/EOF and 8 * 2 = 16 bytes (2 bytes/bit) + uint8_t *resp4 = BigBuf_malloc(20); int resp4Len; - // + 1720.. - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); memset(receivedCmd, 0x44, MAX_FRAME_SIZE); int len; @@ -1091,11 +1134,6 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader LED_A_ON(); bool buttonPressed = false; - /** Hack for testing - memcpy(reader_mac_buf,csn,8); - exitLoop = true; - end hack **/ - while(!exitLoop) { LED_B_OFF(); @@ -1114,35 +1152,35 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader // Okay, look at the command now. if(receivedCmd[0] == 0x0a ) { // Reader in anticollission phase - resp = resp1; respLen = resp1Len; //order = 1; - respdata = &sof; - respsize = sizeof(sof); + modulated_response = resp1; modulated_response_size = resp1Len; //order = 1; + trace_data = response1; + trace_data_size = sizeof(response1); } else if(receivedCmd[0] == 0x0c) { // Reader asks for anticollission CSN - resp = resp2; respLen = resp2Len; //order = 2; - respdata = response2; - respsize = sizeof(response2); + modulated_response = resp2; modulated_response_size = resp2Len; //order = 2; + trace_data = response2; + trace_data_size = sizeof(response2); //DbpString("Reader requests anticollission CSN:"); } else if(receivedCmd[0] == 0x81) { // Reader selects anticollission CSN. // Tag sends the corresponding real CSN - resp = resp3; respLen = resp3Len; //order = 3; - respdata = response3; - respsize = sizeof(response3); + modulated_response = resp3; modulated_response_size = resp3Len; //order = 3; + trace_data = response3; + trace_data_size = sizeof(response3); //DbpString("Reader selects anticollission CSN:"); } else if(receivedCmd[0] == 0x88) { // Read e-purse (88 02) - resp = resp4; respLen = resp4Len; //order = 4; - respdata = response4; - respsize = sizeof(response4); + modulated_response = resp4; modulated_response_size = resp4Len; //order = 4; + trace_data = response4; + trace_data_size = sizeof(response4); LED_B_ON(); } else if(receivedCmd[0] == 0x05) { // Reader random and reader MAC!!! // Do not respond // We do not know what to answer, so lets keep quiet - resp = resp1; respLen = 0; //order = 5; - respdata = NULL; - respsize = 0; + modulated_response = resp1; modulated_response_size = 0; //order = 5; + trace_data = NULL; + trace_data_size = 0; if (breakAfterMacReceived){ // dbprintf:ing ... Dbprintf("CSN: %02x %02x %02x %02x %02x %02x %02x %02x" @@ -1159,9 +1197,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader } } else if(receivedCmd[0] == 0x00 && len == 1) { // Reader ends the session - resp = resp1; respLen = 0; //order = 0; - respdata = NULL; - respsize = 0; + modulated_response = resp1; modulated_response_size = 0; //order = 0; + trace_data = NULL; + trace_data_size = 0; } else { //#db# Unknown command received from reader (len=5): 26 1 0 f6 a 44 44 44 44 // Never seen this command before @@ -1171,9 +1209,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader receivedCmd[3], receivedCmd[4], receivedCmd[5], receivedCmd[6], receivedCmd[7], receivedCmd[8]); // Do not respond - resp = resp1; respLen = 0; //order = 0; - respdata = NULL; - respsize = 0; + modulated_response = resp1; modulated_response_size = 0; //order = 0; + trace_data = NULL; + trace_data_size = 0; } if(cmdsRecvd > 100) { @@ -1183,9 +1221,11 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader else { cmdsRecvd++; } - - if(respLen > 0) { - SendIClassAnswer(resp, respLen, 21); + /** + A legit tag has about 380us delay between reader EOT and tag SOF. + **/ + if(modulated_response_size > 0) { + SendIClassAnswer(modulated_response, modulated_response_size, 1); t2r_time = GetCountSspClk(); } @@ -1194,9 +1234,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader GetParity(receivedCmd, len, parity); LogTrace(receivedCmd,len, (r2t_time-time_0)<< 4, (r2t_time-time_0) << 4, parity, TRUE); - if (respdata != NULL) { - GetParity(respdata, respsize, parity); - LogTrace(respdata, respsize, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE); + if (trace_data != NULL) { + GetParity(trace_data, trace_data_size, parity); + LogTrace(trace_data, trace_data_size, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE); } if(!tracing) { DbpString("Trace full"); @@ -1210,6 +1250,8 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader //Dbprintf("%x", cmdsRecvd); LED_A_OFF(); LED_B_OFF(); + LED_C_OFF(); + if(buttonPressed) { DbpString("Button pressed"); @@ -1222,7 +1264,8 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay) int i = 0, d=0;//, u = 0, d = 0; uint8_t b = 0; - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); + //FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K_8BIT); AT91C_BASE_SSC->SSC_THR = 0x00; FpgaSetupSsc(); @@ -1246,7 +1289,8 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay) AT91C_BASE_SSC->SSC_THR = b; } - if (i > respLen +4) break; +// if (i > respLen +4) break; + if (i > respLen +1) break; } return 0; @@ -1267,7 +1311,7 @@ static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int if (wait) { 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! @@ -1373,7 +1417,7 @@ void ReaderTransmitIClass(uint8_t* frame, int len) LED_A_ON(); // Store reader command in buffer - if (tracing) { + if (tracing) { uint8_t par[MAX_PARITY_SIZE]; GetParity(frame, len, par); LogTrace(frame, len, rsamples, rsamples, par, TRUE); @@ -1433,10 +1477,10 @@ int ReaderReceiveIClass(uint8_t* receivedAnswer) int samples = 0; if (!GetIClassAnswer(receivedAnswer,160,&samples,0)) return FALSE; rsamples += samples; - if (tracing){ - uint8_t parity[MAX_PARITY_SIZE]; - GetParity(receivedAnswer, Demod.len, parity); - LogTrace(receivedAnswer,Demod.len,rsamples,rsamples,parity,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; @@ -1492,7 +1536,7 @@ uint8_t handshakeIclassTag(uint8_t *card_data) static uint8_t identify[] = { 0x0c }; static uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static uint8_t readcheck_cc[]= { 0x88, 0x02 }; - uint8_t *resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + uint8_t resp[ICLASS_BUFFER_SIZE]; uint8_t read_status = 0; @@ -1539,7 +1583,7 @@ void ReaderIClass(uint8_t arg0) { uint8_t card_data[24]={0}; uint8_t last_csn[8]={0}; - + int read_status= 0; bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE; bool get_cc = arg0 & FLAG_ICLASS_READER_GET_CC; @@ -1550,11 +1594,11 @@ void ReaderIClass(uint8_t arg0) { while(!BUTTON_PRESS()) { - if(traceLen > TRACE_SIZE) { + if(traceLen > BigBuf_max_traceLen()) { DbpString("Trace full"); break; } - WDT_HIT(); + WDT_HIT(); read_status = handshakeIclassTag(card_data); @@ -1579,7 +1623,7 @@ void ReaderIClass(uint8_t arg0) { } //If 'get_cc' was specified and we didn't get a CC, we'll just keep trying... } - LED_B_OFF(); + LED_B_OFF(); } cmd_send(CMD_ACK,0,0,0,card_data, 0); LED_A_OFF(); @@ -1613,16 +1657,16 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { int keyaccess; } memory; - uint8_t* resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); - + uint8_t resp[ICLASS_BUFFER_SIZE]; + setupIclassReader(); while(!BUTTON_PRESS()) { WDT_HIT(); - - if(traceLen > TRACE_SIZE) { + + if(traceLen > BigBuf_max_traceLen()) { DbpString("Trace full"); break; } diff --git a/armsrc/iso14443.c b/armsrc/iso14443.c index 775c583a..48a32b10 100644 --- a/armsrc/iso14443.c +++ b/armsrc/iso14443.c @@ -339,10 +339,10 @@ void SimulateIso14443Tag(void) uint8_t *resp; int respLen; - uint8_t *resp1 = (((uint8_t *)BigBuf) + 800); + uint8_t *resp1 = BigBuf_get_addr() + 800; int resp1Len; - uint8_t *receivedCmd = (uint8_t *)BigBuf; + uint8_t *receivedCmd = BigBuf_get_addr(); int len; int i; @@ -629,31 +629,32 @@ static void GetSamplesFor14443Demod(int weTx, int n, int quiet) int gotFrame = FALSE; //# define DMA_BUFFER_SIZE 8 - int8_t *dmaBuf; + uint8_t *dmaBuf; int lastRxCounter; - int8_t *upTo; + uint8_t *upTo; int ci, cq; int samples = 0; // Clear out the state of the "UART" that receives from the tag. + uint8_t *BigBuf = BigBuf_get_addr(); memset(BigBuf, 0x00, 400); - Demod.output = (uint8_t *)BigBuf; + Demod.output = BigBuf; Demod.len = 0; Demod.state = DEMOD_UNSYNCD; // And the UART that receives from the reader - Uart.output = (((uint8_t *)BigBuf) + 1024); + Uart.output = BigBuf + 1024; Uart.byteCntMax = 100; Uart.state = STATE_UNSYNCD; // Setup for the DMA. - dmaBuf = (int8_t *)(BigBuf + 32); + dmaBuf = BigBuf + 32; upTo = dmaBuf; lastRxCounter = DEMOD_DMA_BUFFER_SIZE; - FpgaSetupSscDma((uint8_t *)dmaBuf, DEMOD_DMA_BUFFER_SIZE); + FpgaSetupSscDma(dmaBuf, DEMOD_DMA_BUFFER_SIZE); // Signal field is ON with the appropriate LED: if (weTx) LED_D_ON(); else LED_D_OFF(); @@ -1012,20 +1013,21 @@ void RAMFUNC SnoopIso14443(void) int triggered = TRUE; FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + BigBuf_free(); // The command (reader -> tag) that we're working on receiving. - uint8_t *receivedCmd = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE; + uint8_t *receivedCmd = BigBuf_malloc(READER_TAG_BUFFER_SIZE); // The response (tag -> reader) that we're working on receiving. - uint8_t *receivedResponse = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE; + uint8_t *receivedResponse = BigBuf_malloc(TAG_READER_BUFFER_SIZE); // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. - uint8_t *trace = (uint8_t *)BigBuf; - int traceLen = 0; + uint8_t *trace = BigBuf_get_addr(); + traceLen = 0; // The DMA buffer, used to stream samples from the FPGA. - int8_t *dmaBuf = (int8_t *)(BigBuf) + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE + TAG_READER_BUFFER_SIZE; + uint8_t *dmaBuf = BigBuf_malloc(DEMOD_DMA_BUFFER_SIZE); int lastRxCounter; - int8_t *upTo; + uint8_t *upTo; int ci, cq; int maxBehindBy = 0; @@ -1034,7 +1036,7 @@ void RAMFUNC SnoopIso14443(void) int samples = 0; // Initialize the trace buffer - memset(trace, 0x44, DEMOD_TRACE_SIZE); + memset(trace, 0x44, BigBuf_max_traceLen()); // Set up the demodulator for tag -> reader responses. Demod.output = receivedResponse; @@ -1049,7 +1051,7 @@ void RAMFUNC SnoopIso14443(void) // Print some debug information about the buffer sizes Dbprintf("Snooping buffers initialized:"); - Dbprintf(" Trace: %i bytes", DEMOD_TRACE_SIZE); + Dbprintf(" Trace: %i bytes", BigBuf_max_traceLen()); Dbprintf(" Reader -> tag: %i bytes", READER_TAG_BUFFER_SIZE); Dbprintf(" tag -> Reader: %i bytes", TAG_READER_BUFFER_SIZE); Dbprintf(" DMA: %i bytes", DEMOD_DMA_BUFFER_SIZE); @@ -1076,7 +1078,7 @@ void RAMFUNC SnoopIso14443(void) (DEMOD_DMA_BUFFER_SIZE-1); if(behindBy > maxBehindBy) { maxBehindBy = behindBy; - if(behindBy > (DEMOD_DMA_BUFFER_SIZE-2)) { // TODO: understand whether we can increase/decrease as we want or not? + if(behindBy > (9*DEMOD_DMA_BUFFER_SIZE/10)) { // TODO: understand whether we can increase/decrease as we want or not? Dbprintf("blew circular buffer! behindBy=0x%x", behindBy); goto done; } @@ -1147,7 +1149,7 @@ void RAMFUNC SnoopIso14443(void) trace[traceLen++] = Demod.len; memcpy(trace+traceLen, receivedResponse, Demod.len); traceLen += Demod.len; - if(traceLen > DEMOD_TRACE_SIZE) { + if(traceLen > BigBuf_max_traceLen()) { DbpString("Reached trace limit"); goto done; } @@ -1173,9 +1175,9 @@ done: LED_A_OFF(); LED_B_OFF(); LED_C_OFF(); - AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS; + AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS; DbpString("Snoop statistics:"); - Dbprintf(" Max behind by: %i", maxBehindBy); + Dbprintf(" Max behind by: %i", maxBehindBy); Dbprintf(" Uart State: %x", Uart.state); Dbprintf(" Uart ByteCnt: %i", Uart.byteCnt); Dbprintf(" Uart ByteCntMax: %i", Uart.byteCntMax); diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 3c5c9c24..b1639a88 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -10,20 +10,19 @@ // Routines to support ISO 14443 type A. //----------------------------------------------------------------------------- -#include "../include/proxmark3.h" +#include "proxmark3.h" #include "apps.h" #include "util.h" #include "string.h" -#include "../common/cmd.h" -#include "../common/iso14443crc.h" +#include "cmd.h" + +#include "iso14443crc.h" #include "iso14443a.h" #include "crapto1.h" #include "mifareutil.h" static uint32_t iso14a_timeout; -uint8_t *trace = (uint8_t *) BigBuf+TRACE_OFFSET; int rsamples = 0; -int traceLen = 0; int tracing = TRUE; uint8_t trigger = 0; // the block number for the ISO14443-4 PCB @@ -148,7 +147,9 @@ void iso14a_set_trigger(bool enable) { } void iso14a_clear_trace() { - memset(trace, 0x44, TRACE_SIZE); + uint8_t *trace = BigBuf_get_addr(); + uint16_t max_traceLen = BigBuf_max_traceLen(); + memset(trace, 0x44, max_traceLen); traceLen = 0; } @@ -169,7 +170,7 @@ byte_t oddparity (const byte_t bt) return OddByteParity[bt]; } -void GetParity(const uint8_t * pbtCmd, uint16_t iLen, uint8_t *par) +void GetParity(const uint8_t *pbtCmd, uint16_t iLen, uint8_t *par) { uint16_t paritybit_cnt = 0; uint16_t paritybyte_cnt = 0; @@ -179,15 +180,15 @@ void GetParity(const uint8_t * pbtCmd, uint16_t iLen, uint8_t *par) // 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 + par[paritybyte_cnt] = parityBits; // save 8 Bits parity + parityBits = 0; // and advance to next Parity Byte paritybyte_cnt++; paritybit_cnt = 0; } else { - paritybit_cnt++; + paritybit_cnt++; } } - + // save remaining parity bits par[paritybyte_cnt] = parityBits; @@ -203,11 +204,13 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_ { if (!tracing) return FALSE; - uint16_t num_paritybytes = (iLen-1)/8 + 1; // number of valid paritybytes in *parity + uint8_t *trace = BigBuf_get_addr(); + uint16_t num_paritybytes = (iLen-1)/8 + 1; // number of valid paritybytes in *parity uint16_t duration = timestamp_end - timestamp_start; // Return when trace is full - if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= TRACE_SIZE) { + uint16_t max_traceLen = BigBuf_max_traceLen(); + if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= max_traceLen) { tracing = FALSE; // don't trace any more return FALSE; } @@ -218,7 +221,7 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_ // 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); @@ -228,28 +231,28 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_ // 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; - } + } // data bytes if (btBytes != NULL && iLen != 0) { memcpy(trace + traceLen, btBytes, iLen); } - traceLen += iLen; - + traceLen += iLen; + // parity bytes if (parity != NULL && iLen != 0) { memcpy(trace + traceLen, parity, num_paritybytes); } traceLen += num_paritybytes; - + return TRUE; } @@ -307,7 +310,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) Uart.twoBits = (Uart.twoBits << 8) | bit; - if (Uart.state == STATE_UNSYNCD) { // not yet synced + if (Uart.state == STATE_UNSYNCD) { // not yet synced if (Uart.highCnt < 7) { // wait for a stable unmodulated signal if (Uart.twoBits == 0xffff) { @@ -315,7 +318,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) } else { Uart.highCnt = 0; } - } else { + } else { Uart.syncBit = 0xFFFF; // not set // look for 00xx1111 (the start bit) if ((Uart.twoBits & 0x6780) == 0x0780) Uart.syncBit = 7; @@ -355,9 +358,9 @@ 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; + if((Uart.len&0x0007) == 0) { // every 8 data bytes + Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits + Uart.parityBits = 0; } } } @@ -374,32 +377,32 @@ 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 + 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; - 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 + 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 } - if ( Uart.len) { - return TRUE; // we are finished with decoding the raw data sequence + if (Uart.len) { + return TRUE; // we are finished with decoding the raw data sequence } else { UartReset(); // Nothing receiver - start over - } + } } if (Uart.state == STATE_START_OF_COMMUNICATION) { // error - must not follow directly after SOC UartReset(); @@ -414,8 +417,8 @@ 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 + if ((Uart.len&0x0007) == 0) { // every 8 data bytes + Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits Uart.parityBits = 0; } } @@ -423,7 +426,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) } } - } + } return FALSE; // not finished yet, need more data } @@ -527,8 +530,8 @@ 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 + if((Demod.len&0x0007) == 0) { // every 8 data bytes + Demod.parity[Demod.parityLen++] = Demod.parityBits; // store 8 parity bits Demod.parityBits = 0; } } @@ -543,26 +546,26 @@ 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 + 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.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 - } - if (Demod.len) { - return TRUE; // we are finished with decoding the raw data sequence + 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 + } + if (Demod.len) { + return TRUE; // we are finished with decoding the raw data sequence } else { // nothing received. Start over DemodReset(); } @@ -590,9 +593,6 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // bit 1 - trigger from first reader 7-bit request LEDsoff(); - // init trace buffer - iso14a_clear_trace(); - iso14a_set_tracing(TRUE); // We won't start recording the frames that we acquire until we trigger; // a good trigger condition to get started is probably when we see a @@ -600,22 +600,25 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // triggered == FALSE -- to wait first for card bool triggered = !(param & 0x03); + // Allocate memory from BigBuf for some buffers + // free all previous allocations first + BigBuf_free(); + // The command (reader -> tag) that we're receiving. - // The length of a received command will in most cases be no more than 18 bytes. - // So 32 should be enough! - uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET; - uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); + uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE); // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = ((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; + uint8_t *receivedResponse = BigBuf_malloc(MAX_FRAME_SIZE); + uint8_t *receivedResponsePar = BigBuf_malloc(MAX_PARITY_SIZE); // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = ((uint8_t *)BigBuf) + DMA_BUFFER_OFFSET; + uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE); + + // init trace buffer + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + uint8_t *data = dmaBuf; uint8_t previous_data = 0; int maxDataLen = 0; @@ -627,10 +630,10 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // Set up the demodulator for tag -> reader responses. DemodInit(receivedResponse, receivedResponsePar); - + // Set up the demodulator for the reader -> tag commands UartInit(receivedCmd, receivedCmdPar); - + // Setup and start DMA. FpgaSetupSscDma((uint8_t *)dmaBuf, DMA_BUFFER_SIZE); @@ -655,7 +658,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // test for length of buffer if(dataLen > maxDataLen) { maxDataLen = dataLen; - if(dataLen > 400) { + if(dataLen > (9 * DMA_BUFFER_SIZE / 10)) { Dbprintf("blew circular buffer! dataLen=%d", dataLen); break; } @@ -687,12 +690,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.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, - Uart.parity, - 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(); @@ -709,12 +712,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.endTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER, - Demod.parity, - 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; @@ -745,7 +748,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { //----------------------------------------------------------------------------- // Prepare tag messages //----------------------------------------------------------------------------- -static void CodeIso14443aAsTagPar(const uint8_t *cmd, uint16_t len, uint8_t *parity) +static void CodeIso14443aAsTagPar(const uint8_t *cmd, uint16_t len, uint8_t *parity) { ToSendReset(); @@ -763,7 +766,7 @@ static void CodeIso14443aAsTagPar(const uint8_t *cmd, uint16_t len, uint8_t *pa ToSend[++ToSendMax] = SEC_D; LastProxToAirDuration = 8 * ToSendMax - 4; - for( uint16_t i = 0; i < len; i++) { + for(uint16_t i = 0; i < len; i++) { uint8_t b = cmd[i]; // Data bits @@ -884,7 +887,7 @@ int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par); bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity, uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity); -static uint8_t* free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); +static uint8_t* free_buffer_pointer; typedef struct { uint8_t* response; @@ -894,10 +897,6 @@ typedef struct { uint32_t ProxToAirDuration; } tag_response_info_t; -void reset_free_buffer() { - free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); -} - bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffer_size) { // Example response, answer to MIFARE Classic read block will be 16 bytes + 2 CRC = 18 bytes // This will need the following byte array for a modulation sequence @@ -909,7 +908,8 @@ bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffe // ----------- + // 166 bytes, since every bit that needs to be send costs us a byte // - + + // Prepare the tag modulation bits from the message CodeIso14443aAsTag(response_info->response,response_info->response_n); @@ -930,15 +930,22 @@ bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffe return true; } + +// "precompile" responses. There are 7 predefined responses with a total of 28 bytes data to transmit. +// Coded responses need one byte per bit to transfer (data, parity, start, stop, correction) +// 28 * 8 data bits, 28 * 1 parity bits, 7 start bits, 7 stop bits, 7 correction bits +// -> need 273 bytes buffer +#define ALLOCATED_TAG_MODULATION_BUFFER_SIZE 273 + bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) { // Retrieve and store the current buffer index response_info->modulation = free_buffer_pointer; // Determine the maximum size we can use from our buffer - size_t max_buffer_size = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + FREE_BUFFER_SIZE) - free_buffer_pointer; + size_t max_buffer_size = ALLOCATED_TAG_MODULATION_BUFFER_SIZE; // Forward the prepare tag modulation function to the inner function - if (prepare_tag_modulation(response_info,max_buffer_size)) { + if (prepare_tag_modulation(response_info, max_buffer_size)) { // Update the free buffer offset free_buffer_pointer += ToSendMax; return true; @@ -953,10 +960,6 @@ bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) { //----------------------------------------------------------------------------- void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) { - // Enable and clear the trace - iso14a_clear_trace(); - iso14a_set_tracing(TRUE); - uint8_t sak; // The first response contains the ATQA (note: bytes are transmitted in reverse order). @@ -1000,10 +1003,11 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) } // The second response contains the (mandatory) first 24 bits of the UID - uint8_t response2[5]; + uint8_t response2[5] = {0x00}; // Check if the uid uses the (optional) part - uint8_t response2a[5]; + uint8_t response2a[5] = {0x00}; + if (uid_2nd) { response2[0] = 0x88; num_to_bytes(uid_1st,3,response2+1); @@ -1024,18 +1028,18 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) response2[4] = response2[0] ^ response2[1] ^ response2[2] ^ response2[3]; // Prepare the mandatory SAK (for 4 and 7 byte UID) - uint8_t response3[3]; + uint8_t response3[3] = {0x00}; response3[0] = sak; ComputeCrc14443(CRC_14443_A, response3, 1, &response3[1], &response3[2]); // Prepare the optional second SAK (for 7 byte UID), drop the cascade bit - uint8_t response3a[3]; + uint8_t response3a[3] = {0x00}; response3a[0] = sak & 0xFB; 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, 0x80, 0x02, 0x00, 0x00 }; // dummy ATS (pseudo-ATR), answer to RATS: - // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present, + 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 @@ -1065,9 +1069,17 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) .modulation_n = 0 }; - // Reset the offset pointer of the free buffer - reset_free_buffer(); - + BigBuf_free_keep_EM(); + + // allocate buffers: + uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); + uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE); + free_buffer_pointer = BigBuf_malloc(ALLOCATED_TAG_MODULATION_BUFFER_SIZE); + + // clear trace + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + // Prepare the responses of the anticollision phase // there will be not enough time to do this at the moment the reader sends it REQA for (size_t i=0; i= 9. The start of the tags answer can be measured and therefore the end of the received command be calculated: - uint16_t reader_modlen = reader_EndTime - reader_StartTime; - uint16_t approx_fdt = tag_StartTime - reader_EndTime; - 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_EndTime, reader_Parity, TRUE)) { - return FALSE; + // we cannot exactly measure the end and start of a received command from reader. However we know that the delay from + // end of the received command to start of the tag's (simulated by us) answer is n*128+20 or n*128+84 resp. + // with n >= 9. The start of the tags answer can be measured and therefore the end of the received command be calculated: + uint16_t reader_modlen = reader_EndTime - reader_StartTime; + uint16_t approx_fdt = tag_StartTime - reader_EndTime; + 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_EndTime, reader_Parity, TRUE)) { + return FALSE; } else return(!LogTrace(tag_data, tag_len, tag_StartTime, tag_EndTime, tag_Parity, FALSE)); } else { return TRUE; @@ -1643,7 +1652,7 @@ static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint8_t *receive // Now get the answer from the card DemodInit(receivedResponse, receivedResponsePar); - + // clear RXRDY: uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; @@ -1685,23 +1694,23 @@ void ReaderTransmitPar(uint8_t* frame, uint16_t len, uint8_t *par, uint32_t *tim void ReaderTransmitBits(uint8_t* frame, uint16_t len, uint32_t *timing) { - // Generate parity and redirect - uint8_t par[MAX_PARITY_SIZE]; - GetParity(frame, len/8, par); - ReaderTransmitBitsPar(frame, len, par, timing); + // Generate parity and redirect + uint8_t par[MAX_PARITY_SIZE]; + GetParity(frame, len/8, par); + ReaderTransmitBitsPar(frame, len, par, timing); } void ReaderTransmit(uint8_t* frame, uint16_t len, uint32_t *timing) { - // Generate parity and redirect - uint8_t par[MAX_PARITY_SIZE]; - GetParity(frame, len, par); - ReaderTransmitBitsPar(frame, len*8, par, timing); + // Generate parity and redirect + uint8_t par[MAX_PARITY_SIZE]; + GetParity(frame, len, par); + ReaderTransmitBitsPar(frame, len*8, par, timing); } int ReaderReceiveOffset(uint8_t* receivedAnswer, uint16_t offset, uint8_t *parity) { - if (!GetIso14443aAnswerFromTag(receivedAnswer,parity,offset)) return FALSE; + if (!GetIso14443aAnswerFromTag(receivedAnswer, parity, offset)) return FALSE; if (tracing) { LogTrace(receivedAnswer, Demod.len, Demod.startTime*16 - DELAY_AIR2ARM_AS_READER, Demod.endTime*16 - DELAY_AIR2ARM_AS_READER, parity, FALSE); } @@ -1720,34 +1729,26 @@ int ReaderReceive(uint8_t *receivedAnswer, uint8_t *parity) /* 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 deselect[] = {0xc2}; //DESELECT - //uint8_t halt[] = { 0x50, 0x00, 0x57, 0xCD }; // HALT - uint8_t wupa[] = { 0x52 }; // WAKE-UP - //uint8_t reqa[] = { 0x26 }; // REQUEST A +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; - + uint8_t resp[MAX_FRAME_SIZE]; // theoretically. A usual RATS will be much smaller + uint8_t resp_par[MAX_PARITY_SIZE]; byte_t uid_resp[4]; size_t uid_resp_len; + uint8_t sak = 0x04; // cascade uid int cascade_level = 0; - int len =0; - - // test for the SKYLANDERS TOY. - // ReaderTransmit(deselect,sizeof(deselect), NULL); - // len = ReaderReceive(resp, resp_par); - + int len; + // Broadcast for a card, WUPA (0x52) will force response from all cards in the field - ReaderTransmitBitsPar(wupa,7,0, NULL); + ReaderTransmitBitsPar(wupa,7,0, NULL); // Receive the ATQA if(!ReaderReceive(resp, resp_par)) return 0; - + if(p_hi14a_card) { memcpy(p_hi14a_card->atqa, resp, 2); p_hi14a_card->uidlen = 0; @@ -1759,99 +1760,99 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u 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, resp_par)) 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); + // 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, resp_par)) 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 / 8] |= UIDbit << (uid_resp_bits % 8); + } + uid_resp[uid_resp_bits/8] |= 1 << (uid_resp_bits % 8); // next time select the card(s) with a 1 in the collision position + uid_resp_bits++; + // 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; } - 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]; + // 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); } - 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); - } - } else { // no collision, use the response to SELECT_ALL as current uid - memcpy(uid_resp,resp,4); - } - uid_resp_len = 4; + } else { // no collision, use the response to SELECT_ALL as current uid + memcpy(uid_resp, resp, 4); + } + uid_resp_len = 4; - // calculate crypto UID. Always use last 4 Bytes. - if(cuid_ptr) { - *cuid_ptr = bytes_to_num(uid_resp, 4); - } + // calculate crypto UID. Always use last 4 Bytes. + if(cuid_ptr) { + *cuid_ptr = bytes_to_num(uid_resp, 4); + } - // 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); + // 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); - // Receive the SAK + // Receive the SAK if (!ReaderReceive(resp, resp_par)) return 0; - sak = resp[0]; - + sak = resp[0]; + // Test if more parts of the uid are coming - if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) { - // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of: - // http://www.nxp.com/documents/application_note/AN10927.pdf - uid_resp[0] = uid_resp[1]; - uid_resp[1] = uid_resp[2]; - uid_resp[2] = uid_resp[3]; - - uid_resp_len = 3; - } + 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 + uid_resp[0] = uid_resp[1]; + uid_resp[1] = uid_resp[2]; + uid_resp[2] = uid_resp[3]; + + uid_resp_len = 3; + } - if(uid_ptr) { - memcpy(uid_ptr + (cascade_level*3), uid_resp, uid_resp_len); - } + if(uid_ptr) { + memcpy(uid_ptr + (cascade_level*3), uid_resp, uid_resp_len); + } - 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) { + 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(p_hi14a_card) { + p_hi14a_card->sak = sak; + p_hi14a_card->ats_len = 0; + } // non iso14443a compliant tag if( (sak & 0x20) == 0) return 2; - + // Request for answer to select AppendCrc14443a(rats, 2); ReaderTransmit(rats, sizeof(rats), NULL); - + if (!(len = ReaderReceive(resp, resp_par))) return 0; @@ -1862,7 +1863,7 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u // reset the PCB block number iso14_pcb_blocknum = 0; - return 1; + return 1; } void iso14443a_setup(uint8_t fpga_minor_mode) { @@ -1873,7 +1874,8 @@ void iso14443a_setup(uint8_t fpga_minor_mode) { SetAdcMuxFor(GPIO_MUXSEL_HIPKD); // Signal field is on with the appropriate LED - if (fpga_minor_mode == FPGA_HF_ISO14443A_READER_MOD || fpga_minor_mode == FPGA_HF_ISO14443A_READER_LISTEN) { + if (fpga_minor_mode == FPGA_HF_ISO14443A_READER_MOD + || fpga_minor_mode == FPGA_HF_ISO14443A_READER_LISTEN) { LED_D_ON(); } else { LED_D_OFF(); @@ -1886,7 +1888,7 @@ void iso14443a_setup(uint8_t fpga_minor_mode) { DemodReset(); UartReset(); NextTransferTime = 2*DELAY_ARM2AIR_AS_READER; - iso14a_set_timeout(1050); // 10ms default 10*105 = + iso14a_set_timeout(1050); // 10ms default } int iso14_apdu(uint8_t *cmd, uint16_t cmd_len, void *data) { @@ -1901,7 +1903,7 @@ int iso14_apdu(uint8_t *cmd, uint16_t cmd_len, void *data) { ReaderTransmit(real_cmd, cmd_len+4, NULL); size_t len = ReaderReceive(data, parity); - uint8_t * data_bytes = (uint8_t *) data; + 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 @@ -1965,8 +1967,8 @@ void ReaderIso14443a(UsbCommand *c) len += 2; if (lenbits) lenbits += 16; } - if(lenbits>0) { - GetParity(cmd, lenbits/8, par); + if(lenbits>0) { + GetParity(cmd, lenbits/8, par); ReaderTransmitBitsPar(cmd, lenbits, par, NULL); } else { ReaderTransmit(cmd,len, NULL); @@ -2025,9 +2027,12 @@ void ReaderMifare(bool first_try) uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static uint8_t mf_nr_ar3; - uint8_t* receivedAnswer = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); - uint8_t* receivedAnswerPar = (((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET); + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + // free eventually allocated BigBuf memory. We want all for tracing. + BigBuf_free(); + iso14a_clear_trace(); iso14a_set_tracing(TRUE); @@ -2164,7 +2169,7 @@ void ReaderMifare(bool first_try) led_on = !led_on; if(led_on) LED_B_ON(); else LED_B_OFF(); - par_list[nt_diff] = SwapBits(par[0], 8); + par_list[nt_diff] = SwapBits(par[0], 8); ks_list[nt_diff] = receivedAnswer[0] ^ 0x05; // Test if the information is complete @@ -2237,10 +2242,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 = 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 receivedCmd[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedCmd_par[MAX_MIFARE_PARITY_SIZE]; + uint8_t response[MAX_MIFARE_FRAME_SIZE]; + uint8_t response_par[MAX_MIFARE_PARITY_SIZE]; uint8_t rATQA[] = {0x04, 0x00}; // Mifare classic 1k 4BUID uint8_t rUIDBCC1[] = {0xde, 0xad, 0xbe, 0xaf, 0x62}; @@ -2257,6 +2262,8 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * uint32_t ar_nr_responses[] = {0,0,0,0,0,0,0,0}; uint8_t ar_nr_collected = 0; + // free eventually allocated BigBuf memory but keep Emulator Memory + BigBuf_free_keep_EM(); // clear trace iso14a_clear_trace(); iso14a_set_tracing(TRUE); @@ -2727,18 +2734,20 @@ void RAMFUNC SniffMifare(uint8_t param) { // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); - uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + uint8_t receivedCmd[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedCmdPar[MAX_MIFARE_PARITY_SIZE]; // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); - uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; - + uint8_t receivedResponse[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedResponsePar[MAX_MIFARE_PARITY_SIZE]; + // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. //uint8_t *trace = (uint8_t *)BigBuf; - // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = ((uint8_t *)BigBuf) + DMA_BUFFER_OFFSET; + // free eventually allocated BigBuf memory + BigBuf_free(); + // allocate the DMA buffer, used to stream samples from the FPGA + uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE); uint8_t *data = dmaBuf; uint8_t previous_data = 0; int maxDataLen = 0; @@ -2797,7 +2806,7 @@ void RAMFUNC SniffMifare(uint8_t param) { // test for length of buffer if(dataLen > maxDataLen) { // we are more behind than ever... maxDataLen = dataLen; - if(dataLen > 400) { + if(dataLen > (9 * DMA_BUFFER_SIZE / 10)) { Dbprintf("blew circular buffer! dataLen=0x%x", dataLen); break; } diff --git a/armsrc/iso14443a.h b/armsrc/iso14443a.h index 15e2a2f0..771a6f59 100644 --- a/armsrc/iso14443a.h +++ b/armsrc/iso14443a.h @@ -28,8 +28,8 @@ typedef struct { uint16_t bitCount; uint16_t collisionPos; uint16_t syncBit; - uint8_t parityBits; - uint8_t parityLen; + uint8_t parityBits; + uint8_t parityLen; uint16_t shiftReg; uint16_t samples; uint16_t len; @@ -61,8 +61,8 @@ typedef struct { uint16_t byteCntMax; uint16_t posCnt; uint16_t syncBit; - uint8_t parityBits; - uint8_t parityLen; + uint8_t parityBits; + uint8_t parityLen; uint16_t highCnt; uint16_t twoBits; uint32_t startTime, endTime; diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index 5af6efb3..94040a85 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -58,13 +58,12 @@ // *) document all the functions -#include "../include/proxmark3.h" +#include "proxmark3.h" #include "util.h" #include "apps.h" #include "string.h" -#include "../common/iso15693tools.h" -#include "../common/cmd.h" - +#include "iso15693tools.h" +#include "cmd.h" #define arraylen(x) (sizeof(x)/sizeof((x)[0])) @@ -297,7 +296,7 @@ static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed) { int c = 0; - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int getNext = 0; int8_t prev = 0; @@ -447,12 +446,12 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int * static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed) { int c = 0; - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int getNext = 0; int8_t prev = 0; - // NOW READ RESPONSE +// NOW READ RESPONSE FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); //spindelay(60); // greg - experiment to get rid of some of the 0 byte/failed reads c = 0; @@ -468,7 +467,7 @@ static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int // tone that the tag AM-modulates, so every other sample is I, // every other is Q. We just want power, so abs(I) + abs(Q) is // close to what we want. - if (getNext) { + if(getNext) { int8_t r; if(b < 0) { @@ -597,7 +596,7 @@ static void BuildIdentifyRequest(void); //----------------------------------------------------------------------------- void AcquireRawAdcSamplesIso15693(void) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int c = 0; int getNext = 0; @@ -679,7 +678,7 @@ void AcquireRawAdcSamplesIso15693(void) void RecordRawAdcSamplesIso15693(void) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int c = 0; int getNext = 0; @@ -690,8 +689,8 @@ void RecordRawAdcSamplesIso15693(void) FpgaSetupSsc(); // Start from off (no field generated) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(200); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); SetAdcMuxFor(GPIO_MUXSEL_HIPKD); @@ -879,8 +878,8 @@ int SendDataTag(uint8_t *send, int sendlen, int init, int speed, uint8_t **recv) LED_D_OFF(); int answerLen=0; - uint8_t *answer = (((uint8_t *)BigBuf) + 3660); - if (recv!=NULL) memset(BigBuf + 3660, 0, 100); + uint8_t *answer = BigBuf_get_addr() + 3660; + if (recv != NULL) memset(answer, 0, 100); if (init) Iso15693InitReader(); @@ -993,16 +992,16 @@ void SetDebugIso15693(uint32_t debug) { // Simulate an ISO15693 reader, perform anti-collision and then attempt to read a sector // all demodulation performed in arm rather than host. - greg //----------------------------------------------------------------------------- -void ReaderIso15693(uint32_t parameter ) +void ReaderIso15693(uint32_t parameter) { LED_A_ON(); LED_B_ON(); LED_C_OFF(); LED_D_OFF(); - uint8_t *answer1 = (((uint8_t *)BigBuf) + 3660); // - uint8_t *answer2 = (((uint8_t *)BigBuf) + 3760); - uint8_t *answer3 = (((uint8_t *)BigBuf) + 3860); + uint8_t *answer1 = BigBuf_get_addr() + 3660; + uint8_t *answer2 = BigBuf_get_addr() + 3760; + uint8_t *answer3 = BigBuf_get_addr() + 3860; int answerLen1 = 0; int answerLen2 = 0; @@ -1014,9 +1013,9 @@ void ReaderIso15693(uint32_t parameter ) int elapsed = 0; uint8_t TagUID[8] = {0x00}; - + // Blank arrays - memset(BigBuf + 3660, 0x00, 300); + memset(answer1, 0x00, 300); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); @@ -1025,9 +1024,9 @@ void ReaderIso15693(uint32_t parameter ) FpgaSetupSsc(); // Start from off (no field generated) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(200); - + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + // Give the tags time to energize FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); SpinDelay(200); @@ -1066,7 +1065,7 @@ void ReaderIso15693(uint32_t parameter ) Dbhexdump(answerLen1,answer1,true); // UID is reverse - if (answerLen1 >= 12) + if (answerLen1>=12) Dbprintf("UID = %02hX%02hX%02hX%02hX%02hX%02hX%02hX%02hX", TagUID[7],TagUID[6],TagUID[5],TagUID[4], TagUID[3],TagUID[2],TagUID[1],TagUID[0]); @@ -1080,14 +1079,14 @@ void ReaderIso15693(uint32_t parameter ) DbdecodeIso15693Answer(answerLen3,answer3); Dbhexdump(answerLen3,answer3,true); - // read all pages - if (answerLen1 >= 12 && DEBUG) { + // read all pages + if (answerLen1>=12 && DEBUG) { i=0; - while (i < 32) { // sanity check, assume max 32 pages + while (i<32) { // sanity check, assume max 32 pages BuildReadBlockRequest(TagUID,i); - TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); - answerLen2 = GetIso15693AnswerFromTag(answer2, 100, &samples, &elapsed); - if (answerLen2 > 0) { + TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); + answerLen2 = GetIso15693AnswerFromTag(answer2, 100, &samples, &elapsed); + if (answerLen2>0) { Dbprintf("READ SINGLE BLOCK %d returned %d octets:",i,answerLen2); DbdecodeIso15693Answer(answerLen2,answer2); Dbhexdump(answerLen2,answer2,true); @@ -1112,16 +1111,16 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid) LED_C_OFF(); LED_D_OFF(); - uint8_t *buf = (((uint8_t *)BigBuf) + 3660); // + uint8_t *buf = BigBuf_get_addr() + 3660; int answerLen1 = 0; int samples = 0; int tsamples = 0; int wait = 0; int elapsed = 0; - + memset(buf, 0x00, 100); - + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); SetAdcMuxFor(GPIO_MUXSEL_HIPKD); @@ -1129,8 +1128,8 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid) FpgaSetupSsc(); // Start from off (no field generated) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(200); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); LED_A_OFF(); LED_B_OFF(); @@ -1147,7 +1146,7 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid) BuildInventoryResponse(uid); - TransmitTo15693Reader(ToSend, ToSendMax, &tsamples, &wait); + TransmitTo15693Reader(ToSend,ToSendMax, &tsamples, &wait); } Dbprintf("%d octets read from reader command: %x %x %x %x %x %x %x %x %x", answerLen1, @@ -1214,7 +1213,7 @@ void BruteforceIso15693Afi(uint32_t speed) void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]) { int recvlen=0; - uint8_t *recvbuf=(uint8_t *)BigBuf; + uint8_t *recvbuf = BigBuf_get_addr(); // UsbCommand n; if (DEBUG) { diff --git a/armsrc/legicrf.c b/armsrc/legicrf.c index 0e63ef5e..d11436ec 100644 --- a/armsrc/legicrf.c +++ b/armsrc/legicrf.c @@ -98,13 +98,14 @@ static uint32_t get_key_stream(int skip, int count) } /* Write Time Data into LOG */ + uint8_t *BigBuf = BigBuf_get_addr(); if(count == 6) { i = -1; } else { i = legic_read_count; } - ((uint8_t*)BigBuf)[OFFSET_LOG+128+i] = legic_prng_count(); - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4] = (legic_prng_bc >> 0) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+1] = (legic_prng_bc >> 8) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+2] = (legic_prng_bc >>16) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+3] = (legic_prng_bc >>24) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+384+i] = count; + BigBuf[OFFSET_LOG+128+i] = legic_prng_count(); + BigBuf[OFFSET_LOG+256+i*4] = (legic_prng_bc >> 0) & 0xff; + BigBuf[OFFSET_LOG+256+i*4+1] = (legic_prng_bc >> 8) & 0xff; + BigBuf[OFFSET_LOG+256+i*4+2] = (legic_prng_bc >>16) & 0xff; + BigBuf[OFFSET_LOG+256+i*4+3] = (legic_prng_bc >>24) & 0xff; + BigBuf[OFFSET_LOG+384+i] = count; /* Generate KeyStream */ for(i=0; ibits == 7) { if(f->data == SESSION_IV) { @@ -582,9 +587,9 @@ static void frame_handle_tag(struct legic_frame const * const f) if(legic_state == STATE_CON) { int key = get_key_stream(-1, 11); //legic_phase_drift, 11); int addr = f->data ^ key; addr = addr >> 1; - int data = ((uint8_t*)BigBuf)[addr]; + int data = BigBuf[addr]; int hash = LegicCRC(addr, data, 11) << 8; - ((uint8_t*)BigBuf)[OFFSET_LOG+legic_read_count] = (uint8_t)addr; + BigBuf[OFFSET_LOG+legic_read_count] = (uint8_t)addr; legic_read_count++; //Dbprintf("Data:%03.3x, key:%03.3x, addr: %03.3x, read_c:%u", f->data, key, addr, read_c); @@ -619,19 +624,19 @@ static void frame_handle_tag(struct legic_frame const * const f) int i; Dbprintf("IV: %03.3x", legic_prng_iv); for(i = 0; iSSC_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]); -void LFSetupFPGAForADC(int divisor, bool lf_field) + } +} +/** +* Perform sample aquisition. +*/ +void DoAcquisition125k(int trigger_threshold) { - 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)); - - // 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(150); - - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + DoAcquisition125k_internal(trigger_threshold, false); } +/** +* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream +* if not already loaded, sets divisor and starts up the antenna. +* @param divisor : 1, 88> 255 or negative ==> 134.8 KHz +* 0 or 95 ==> 125 KHz +* +**/ +void LFSetupFPGAForADC(int divisor, bool lf_field) +{ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + + 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(); +} +/** +* Initializes the FPGA, and acquires the samples. +**/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - DoAcquisition125k(); + 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); - DoAcquisition125k_threshold(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } -// split into two routines so we can avoid timing issues after sending commands // -void DoAcquisition125k_internal(int trigger_threshold, bool silent) -{ - uint8_t *dest = (uint8_t *)BigBuf; - uint16_t i = 0; - memset(dest, 0x00, BIGBUF_SIZE); - - 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 >= BIGBUF_SIZE) 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]); - } -} -void DoAcquisition125k_threshold(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, true); -} -void DoAcquisition125k() { - DoAcquisition125k_internal(-1, true); -} - void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - - /* Make sure the tag is reset */ - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); - - int divisor = 95; // 125 KHz - // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor = 88; // 134.8 KHz - - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(2000); - - // 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); - - 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); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // now do the read - DoAcquisition125k(-1); + + /* 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') + 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); + + // 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 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); + + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -151,228 +169,228 @@ 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 - - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); - - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - - 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 - - // 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(); - - 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 - - // 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; - - // 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 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; - - // 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; - - 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"); - } - } + // 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_get_addr(); + uint16_t n = BigBuf_max_traceLen(); + // 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; + + // 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); + + // get TI tag data into the buffer + AcquireTiType(); + + 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 + + // 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; + + // 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 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; + + // 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; + + 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"); + } + } } void WriteTIbyte(uint8_t b) { - 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; - - // 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; - - // 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; - - LED_D_ON(); - - // modulate antenna - HIGH(GPIO_SSC_DOUT); - - // Charge TI tag for 50ms. - SpinDelay(50); - - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); - - 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(); - } - - // 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; - } - } - } + int i, j, n; + // tag transmission is <20ms, sampling at 2M gives us 40K samples max + // each sample is 1 bit stuffed into a uint32_t so we need 1250 uint32_t + #define TIBUFLEN 1250 + + // clear buffer + uint32_t *BigBuf = (uint32_t *)BigBuf_get_addr(); + memset(BigBuf,0,BigBuf_max_traceLen()/sizeof(uint32_t)); + + // 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; + + 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; + + 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(); + + // modulate antenna + HIGH(GPIO_SSC_DOUT); + + // Charge TI tag for 50ms. + SpinDelay(50); + + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); + + 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(); + } + + // 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_get_addr(); + 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 @@ -380,233 +398,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); - - // 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; - - // 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 - - 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(); - - // get TI tag data into the buffer - AcquireTiType(); - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + 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(); + + // 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 + + // 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 + + LED_A_OFF(); + + // get TI tag data into the buffer + AcquireTiType(); + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } - - -// PIO_CODR = Clear Output Data Register -// PIO_SODR = Set Output Data Register -//#define LOW(x) AT91C_BASE_PIOA->PIO_CODR = (x) -//#define HIGH(x) AT91C_BASE_PIOA->PIO_SODR = (x) -void SimulateTagLowFrequency( uint16_t period, uint32_t gap, uint8_t ledcontrol) +void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - LED_D_ON(); - - uint16_t i = 0; - uint8_t send = 0; - - //int overflow = 0; - uint8_t *buf = (uint8_t *)BigBuf; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT | FPGA_LF_EDGE_DETECT_READER_FIELD); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - RELAY_OFF(); - - // Configure output pin that is connected to the FPGA (for modulating) - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - - SHORT_COIL(); - - // Enable Peripheral Clock for TIMER_CLOCK0, used to measure exact timing before answering - AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC0); - - // Enable Peripheral Clock for TIMER_CLOCK1, used to capture edges of the reader frames - AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC1); - AT91C_BASE_PIOA->PIO_BSR = GPIO_SSC_FRAME; - - // Disable timer during configuration - AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; - - // Capture mode, default timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger, - // external trigger rising edge, load RA on rising edge of TIOA. - AT91C_BASE_TC1->TC_CMR = AT91C_TC_CLKS_TIMER_DIV1_CLOCK | AT91C_TC_ETRGEDG_RISING | AT91C_TC_ABETRG | AT91C_TC_LDRA_RISING; - - // Enable and reset counter - //AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; - AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; - - while(!BUTTON_PRESS()) { - WDT_HIT(); - - // Receive frame, watch for at most T0*EOF periods - while (AT91C_BASE_TC1->TC_CV < T0 * 55) { - - // Check if rising edge in modulation is detected - if(AT91C_BASE_TC1->TC_SR & AT91C_TC_LDRAS) { - // Retrieve the new timing values - //int ra = (AT91C_BASE_TC1->TC_RA/T0) + overflow; - //Dbprintf("Timing value - %d %d", ra, overflow); - //overflow = 0; - - // Reset timer every frame, we have to capture the last edge for timing - AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; - send = 1; - - LED_B_ON(); - } - } - - if ( send ) { - // Disable timer 1 with external trigger to avoid triggers during our own modulation - AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; - - // Wait for HITAG_T_WAIT_1 carrier periods after the last reader bit, - // not that since the clock counts since the rising edge, but T_Wait1 is - // with respect to the falling edge, we need to wait actually (T_Wait1 - T_Low) - // periods. The gap time T_Low varies (4..10). All timer values are in - // terms of T0 units - while(AT91C_BASE_TC0->TC_CV < T0 * 16 ); - - // datat kommer in som 1 bit för varje position i arrayn - for(i = 0; i < period; ++i) { - - // Reset clock for the next bit - AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG; - - if ( buf[i] > 0 ) - HIGH(GPIO_SSC_DOUT); - else - LOW(GPIO_SSC_DOUT); - - while(AT91C_BASE_TC0->TC_CV < T0 * 1 ); - } - // Drop modulation - LOW(GPIO_SSC_DOUT); - - // Enable and reset external trigger in timer for capturing future frames - AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; - LED_B_OFF(); - } - - send = 0; - - // Save the timer overflow, will be 0 when frame was received - //overflow += (AT91C_BASE_TC1->TC_CV/T0); - - // Reset the timer to restart while-loop that receives frames - AT91C_BASE_TC1->TC_CCR = AT91C_TC_SWTRG; - } - - LED_B_OFF(); - LED_D_OFF(); - AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; - AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - - DbpString("Sim Stopped"); -} + int i; + uint8_t *tab = BigBuf_get_addr(); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); -void SimulateTagLowFrequencyA(int len, int gap) -{ - uint8_t *buf = (uint8_t *)BigBuf; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT | FPGA_LF_EDGE_DETECT_TOGGLE_MODE); // new izsh toggle mode! - - // 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(); - SpinDelay(5); - - AT91C_BASE_SSC->SSC_THR = 0x00; - - int i = 0; - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - - if ( buf[i] > 0 ) - AT91C_BASE_SSC->SSC_THR = 0x43; - else - AT91C_BASE_SSC->SSC_THR = 0x00; - - ++i; - LED_A_ON(); - if (i >= len){ - i = 0; - } - } - - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - volatile uint32_t r = AT91C_BASE_SSC->SSC_RHR; - (void)r; - LED_A_OFF(); - } - } - DbpString("lf simulate stopped"); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + +#define SHORT_COIL() LOW(GPIO_SSC_DOUT) +#define OPEN_COIL() HIGH(GPIO_SSC_DOUT) + + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } + + if (ledcontrol) + LED_D_ON(); + + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); + + if (ledcontrol) + LED_D_OFF(); + + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } + + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -615,319 +527,315 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) } // compose fc/8 fc/10 waveform -static void fc(int c, uint16_t *n) { - 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; - } - } - - // 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; - } - } +static void fc(int c, int *n) { + uint8_t *dest = BigBuf_get_addr(); + 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; + } + } + + // 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, uint8_t ledcontrol) +void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - uint16_t 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 - - 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 - } - } - - if (ledcontrol) - LED_A_ON(); - - SimulateTagLowFrequency(n, 0, ledcontrol); - - if (ledcontrol) - LED_A_OFF(); + 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 + + 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 + } + } + + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); + + 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; - uint32_t hi2 = 0, hi = 0, lo = 0; - - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(0, true); - - while(!BUTTON_PRESS()) { - - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - - DoAcquisition125k_internal(-1,true); - - // FSK demodulator - int bitLen = HIDdemodFSK(dest,BIGBUF_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 - 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; + uint8_t *dest = BigBuf_get_addr(); + const size_t sizeOfBigBuff = BigBuf_max_traceLen(); + size_t size = 0; + uint32_t hi2=0, hi=0, lo=0; + int idx=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); + + while(!BUTTON_PRESS()) { + + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + + DoAcquisition125k_internal(-1,true); + // FSK demodulator + size = sizeOfBigBuff; //variable size will change after demod so re initialize it before use + idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo); + + if (idx>0 && lo>0){ + // 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; + lo2=lo2 >> 1; + idx3++; + } + bitlen = idx3+19; + fc =0; + cardnum=0; if(bitlen == 26){ - cardnum = (lo >> 1) & 0xFFFF; - fc = (lo >> 17) & 0xFF; - } + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } if(bitlen == 37){ - cardnum = (lo >> 1) & 0x7FFFF; - fc = ((hi & 0xF) << 12)|( lo >> 20); - } + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } if(bitlen == 34){ - cardnum = (lo >> 1) & 0xFFFF; - fc = ((hi & 1) << 15) | (lo >> 17); - } + 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) - 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(); + 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(); + *high = hi; + *low = lo; + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - uint32_t bitLen = 0; - int clk = 0, invert = 0, errCnt = 0; - uint64_t lo = 0; - - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(0, true); - - while(!BUTTON_PRESS()) { - - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - - DoAcquisition125k_internal(-1,true); - - // FSK demodulator - bitLen = BIGBUF_SIZE; - errCnt = askmandemod(dest,&bitLen,&clk,&invert); - if ( errCnt < 0 ) continue; - - WDT_HIT(); - - lo = Em410xDecode(dest,bitLen); - - if ( lo <= 0) continue; - - 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; - } - - WDT_HIT(); - lo = clk = invert = errCnt = 0; - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + uint8_t *dest = BigBuf_get_addr(); + + size_t size=0, idx=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()) { + + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + + DoAcquisition125k_internal(-1,true); + size = BigBuf_max_traceLen(); + //Dbprintf("DEBUG: Buffer got"); + //askdemod and manchester decode + errCnt = askmandemod(dest, &size, &clk, &invert); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); + + if (errCnt>=0){ + lo = Em410xDecode(dest, &size, &idx); + //Dbprintf("DEBUG: EM GOT"); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)", + (uint32_t)(lo>>32), + (uint32_t)lo, + (uint32_t)(lo&0xFFFF), + (uint32_t)((lo>>16LL) & 0xFF), + (uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + *high=lo>>32; + *low=lo & 0xFFFFFFFF; + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx = 0; - uint32_t code = 0, code2 = 0; - uint8_t version = 0; - uint8_t facilitycode = 0; - uint16_t number = 0; - - LFSetupFPGAForADC(0, true); - - while(!BUTTON_PRESS()) { - - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - - DoAcquisition125k_internal(-1, true); - - idx = IOdemodFSK(dest, BIGBUF_SIZE); - - if ( idx < 0 ) - continue; - - 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 - - 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 (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - code = code2 = 0; - version = facilitycode = 0; - number = 0; - idx = 0; - } - - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + uint8_t *dest = BigBuf_get_addr(); + 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, BigBuf_max_traceLen()); + 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(); + *high=code; + *low=code2; + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -936,14 +844,14 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) */ /* T55x7 configuration register definitions */ -#define T55x7_POR_DELAY 0x00000001 -#define T55x7_ST_TERMINATOR 0x00000008 -#define T55x7_PWD 0x00000010 +#define T55x7_POR_DELAY 0x00000001 +#define T55x7_ST_TERMINATOR 0x00000008 +#define T55x7_PWD 0x00000010 #define T55x7_MAXBLOCK_SHIFT 5 -#define T55x7_AOR 0x00000200 -#define T55x7_PSKCF_RF_2 0 -#define T55x7_PSKCF_RF_4 0x00000400 -#define T55x7_PSKCF_RF_8 0x00000800 +#define T55x7_AOR 0x00000200 +#define T55x7_PSKCF_RF_2 0 +#define T55x7_PSKCF_RF_4 0x00000400 +#define T55x7_PSKCF_RF_8 0x00000800 #define T55x7_MODULATION_DIRECT 0 #define T55x7_MODULATION_PSK1 0x00001000 #define T55x7_MODULATION_PSK2 0x00002000 @@ -954,17 +862,17 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) #define T55x7_MODULATION_FSK2a 0x00007000 #define T55x7_MODULATION_MANCHESTER 0x00008000 #define T55x7_MODULATION_BIPHASE 0x00010000 -#define T55x7_BITRATE_RF_8 0 -#define T55x7_BITRATE_RF_16 0x00040000 -#define T55x7_BITRATE_RF_32 0x00080000 -#define T55x7_BITRATE_RF_40 0x000C0000 -#define T55x7_BITRATE_RF_50 0x00100000 -#define T55x7_BITRATE_RF_64 0x00140000 +#define T55x7_BITRATE_RF_8 0 +#define T55x7_BITRATE_RF_16 0x00040000 +#define T55x7_BITRATE_RF_32 0x00080000 +#define T55x7_BITRATE_RF_40 0x000C0000 +#define T55x7_BITRATE_RF_50 0x00100000 +#define T55x7_BITRATE_RF_64 0x00140000 #define T55x7_BITRATE_RF_100 0x00180000 #define T55x7_BITRATE_RF_128 0x001C0000 /* T5555 (Q5) configuration register definitions */ -#define T5555_ST_TERMINATOR 0x00000001 +#define T5555_ST_TERMINATOR 0x00000001 #define T5555_MAXBLOCK_SHIFT 0x00000001 #define T5555_MODULATION_MANCHESTER 0 #define T5555_MODULATION_PSK1 0x00000010 @@ -974,334 +882,343 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) #define T5555_MODULATION_FSK2 0x00000050 #define T5555_MODULATION_BIPHASE 0x00000060 #define T5555_MODULATION_DIRECT 0x00000070 -#define T5555_INVERT_OUTPUT 0x00000080 -#define T5555_PSK_RF_2 0 -#define T5555_PSK_RF_4 0x00000100 -#define T5555_PSK_RF_8 0x00000200 -#define T5555_USE_PWD 0x00000400 -#define T5555_USE_AOR 0x00000800 -#define T5555_BITRATE_SHIFT 12 -#define T5555_FAST_WRITE 0x00004000 -#define T5555_PAGE_SELECT 0x00008000 +#define T5555_INVERT_OUTPUT 0x00000080 +#define T5555_PSK_RF_2 0 +#define T5555_PSK_RF_4 0x00000100 +#define T5555_PSK_RF_8 0x00000200 +#define T5555_USE_PWD 0x00000400 +#define T5555_USE_AOR 0x00000800 +#define T5555_BITRATE_SHIFT 12 +#define T5555_FAST_WRITE 0x00004000 +#define T5555_PAGE_SELECT 0x00008000 /* * Relevant times in microsecond * To compensate antenna falling times shorten the write times * and enlarge the gap ones. */ -#define START_GAP 30*8 // 10 - 50fc 250 -#define WRITE_GAP 20*8 // 8 - 30fc -#define WRITE_0 24*8 // 16 - 31fc 24fc 192 -#define WRITE_1 54*8 // 48 - 63fc 54fc 432 for T55x7; 448 for E5550 - -// VALUES TAKEN FROM EM4x function: SendForward -// START_GAP = 440; (55*8) cycles at 125Khz (8us = 1cycle) -// WRITE_GAP = 128; (16*8) -// WRITE_1 = 256 32*8; (32*8) - -// These timings work for 4469/4269/4305 (with the 55*8 above) -// WRITE_0 = 23*8 , 9*8 SpinDelayUs(23*8); - -#define T55xx_SAMPLES_SIZE 12000 // 32 x 32 x 10 (32 bit times numofblock (7), times clock skip..) +#define START_GAP 250 +#define WRITE_GAP 160 +#define WRITE_0 144 // 192 +#define WRITE_1 400 // 432 for T55x7; 448 for E5550 // 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) - 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) { - uint32_t i = 0; - - // Set up FPGA, 125kHz - // Wait for config.. (192+8190xPOW)x8 == 67ms - LFSetupFPGAForADC(0, true); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - - // Data - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & 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); + //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); + + // 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); + + // Data + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Data & 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); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = get_bigbufptr_recvrespbuf(); - uint16_t bufferlength = T55xx_SAMPLES_SIZE; - uint32_t i = 0; - - // Clear destination buffer before sending the command 0x80 = average. - memset(dest, 0x80, bufferlength); - - // Set up FPGA, 125kHz - // Wait for config.. (192+8190xPOW)x8 == 67ms - LFSetupFPGAForADC(0, true); - - 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 - TurnReadLFOn(); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - //AT91C_BASE_SSC->SSC_THR = 0xff; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - ++i; - LED_D_OFF(); - if (i >= bufferlength) break; - } - } - - cmd_send(CMD_ACK,0,0,0,0,0); + uint8_t *dest = BigBuf_get_addr(); + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = BigBuf_max_traceLen(); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + 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(); + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = get_bigbufptr_recvrespbuf(); - uint16_t bufferlength = T55xx_SAMPLES_SIZE; - uint32_t i = 0; - - // Clear destination buffer before sending the command 0x80 = average - memset(dest, 0x80, bufferlength); - - LFSetupFPGAForADC(0, true); - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 - - // Turn field on to read the response - TurnReadLFOn(); - - // Now do the acquisition - 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; - ++i; - LED_D_OFF(); - - if (i >= bufferlength) break; - } - } - - cmd_send(CMD_ACK,0,0,0,0,0); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); -} + uint8_t *dest = BigBuf_get_addr(); + int m=0, i=0; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = BigBuf_max_traceLen(); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); -void TurnReadLFOn(){ - 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. - //SpinDelay(30); - SpinDelayUs(8*150); + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; - - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 + 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 + } } - - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + + // 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 + } } - } - 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 + + 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); } - - 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; - + 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); - + //Config Block T55xxWriteBlock(0x00147040,0,0,0); LED_D_OFF(); - + DbpString("DONE!"); } @@ -1311,148 +1228,152 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; - - // 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; - - 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; - - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } - - // 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]; - - // Add stop bit - id <<= 1; - - 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); - - // 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); - - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + 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; + } + } + + 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; + } + + // 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 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]; + + // Add stop bit + id <<= 1; + + 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); + + // 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); + + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) - // T5567WriteBlock(0x603E1042,0); - - DbpString("DONE!"); -} + + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) + // T5567WriteBlock(0x603E1042,0); + + DbpString("DONE!"); + +} void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) - // T5567WriteBlock(0x603E10E2,0); - - DbpString("DONE!"); + + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) + // T5567WriteBlock(0x603E10E2,0); + + DbpString("DONE!"); + } @@ -1460,260 +1381,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 = BigBuf_get_addr(); + int GraphTraceLen = BigBuf_max_traceLen(); + 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)) + + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; + + for (bitidx = 0; i < GraphTraceLen; i++) { - 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) + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) { - 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++; + 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; + } } - 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; } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + 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; + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; + } + + for(i=0; i 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 { + 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); + 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 ; } @@ -1737,20 +1659,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 } //==================================================================== @@ -1760,21 +1682,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 } //==================================================================== @@ -1784,36 +1706,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; + //-------------------------------------------------------------------- + + 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; + } + for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; + *forward_ptr++ = column_parity; + column_parity >>= 1; } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } - - for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; - } - *forward_ptr = 0; - - return 45; //return number of emited bits + *forward_ptr = 0; + + return 45; //return number of emited bits } //==================================================================== @@ -1822,123 +1744,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 *dest = (uint8_t *)BigBuf; - uint16_t bufferlength = 12000; - uint32_t i = 0; - - // Clear destination buffer before sending the command 0x80 = average. - memset(dest, 0x80, bufferlength); - - 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_READ ); - fwd_bit_count += Prepare_Addr( Address ); - - // 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); - - // // Turn field on to read the response - // TurnReadLFOn(); - - // 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 >= bufferlength) break; - } - } - - cmd_send(CMD_ACK,0,0,0,0,0); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + + uint8_t fwd_bit_count; + uint8_t *dest = BigBuf_get_addr(); + 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 = BigBuf_max_traceLen(); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + 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; + } + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - - SendForward(fwd_bit_count); - - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + + uint8_t fwd_bit_count; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + + SendForward(fwd_bit_count); + + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 7a33afbb..50a5634d 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -16,8 +16,8 @@ #include "mifarecmd.h" #include "apps.h" #include "util.h" -#include "desfire.h" -#include "../common/crc.h" + +#include "crc.h" //----------------------------------------------------------------------------- // Select, Authenticate, Read a MIFARE tag. @@ -76,7 +76,7 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // ----------------------------- crypto1 destroy crypto1_destroy(pcs); - if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); + if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); LED_B_ON(); cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); @@ -104,14 +104,14 @@ void MifareUC_Auth1(uint8_t arg0, uint8_t *datain){ if(!iso14443a_select_card(uid, NULL, &cuid)) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); - OnError(0); + //OnError(0); return; }; if(mifare_ultra_auth1(cuid, dataoutbuf)){ if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Authentication part1: Fail."); - OnError(1); + //OnError(1); return; } @@ -138,7 +138,7 @@ void MifareUC_Auth2(uint32_t arg0, uint8_t *datain){ if(mifare_ultra_auth2(cuid, key, dataoutbuf)){ if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Authentication part2: Fail..."); - OnError(1); + //OnError(1); return; } @@ -161,30 +161,30 @@ void MifareUReadBlock(uint8_t arg0,uint8_t *datain) LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - + iso14a_clear_trace(); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); int len = iso14443a_select_card(uid, NULL, &cuid); if(!len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); - OnError(1); + //OnError(1); return; - }; - + }; + len = mifare_ultra_readblock(cuid, blockNo, dataout); if(len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Read block error"); - OnError(2); + //OnError(2); return; - }; - + }; + len = mifare_ultra_halt(cuid); if(len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error"); - OnError(3); + //OnError(3); return; - }; + }; cmd_send(CMD_ACK,1,0,0,dataout,16); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); @@ -261,14 +261,14 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) { - // params - uint8_t sectorNo = arg0; + // params + uint8_t sectorNo = arg0; int Pages = arg1; int count_Pages = 0; byte_t dataout[176] = {0x00};; uint8_t uid[10] = {0x00}; uint32_t cuid; - + LED_A_ON(); LED_B_OFF(); LED_C_OFF(); @@ -284,7 +284,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) if (!len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); - OnError(1); + //OnError(1); return; } @@ -295,7 +295,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) if (len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Read block %d error",i); - OnError(2); + //OnError(2); return; } else { count_Pages++; @@ -306,7 +306,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) if (len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error"); - OnError(3); + //OnError(3); return; } @@ -400,49 +400,49 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) { - // params - uint8_t blockNo = arg0; + // params + uint8_t blockNo = arg0; byte_t blockdata[16] = {0x00}; - memcpy(blockdata, datain, 16); - - // variables - byte_t isOK = 0; + memcpy(blockdata, datain,16); + + // variables + byte_t isOK = 0; uint8_t uid[10] = {0x00}; - uint32_t cuid; + uint32_t cuid; - iso14a_clear_trace(); - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - - LED_A_ON(); - LED_B_OFF(); - LED_C_OFF(); - - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - - if(mifare_ultra_writeblock(cuid, blockNo, blockdata)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Write block error"); - break; - }; + iso14a_clear_trace(); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - isOK = 1; - break; - } + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + while (true) { + if(!iso14443a_select_card(uid, NULL, &cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + break; + }; + + if(mifare_ultra_writeblock(cuid, blockNo, blockdata)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Write block error"); + break; + }; + + if(mifare_ultra_halt(cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + break; + }; + + isOK = 1; + break; + } - if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); + if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); - cmd_send(CMD_ACK,isOK,0,0,0,0); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); + cmd_send(CMD_ACK,isOK,0,0,0,0); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); } void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) @@ -493,7 +493,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, uint8_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; @@ -529,11 +529,13 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat struct Crypto1State mpcs = {0, 0}; struct Crypto1State *pcs; pcs = &mpcs; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; uint32_t auth1_time, auth2_time; static uint16_t delta_time; + // free eventually allocated BigBuf memory + BigBuf_free(); // clear trace iso14a_clear_trace(); iso14a_set_tracing(false); @@ -550,7 +552,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat WDT_HIT(); davg = dmax = 0; - dmin = 2000; + dmin = 2000; delta_time = 0; for (rtr = 0; rtr < 17; rtr++) { @@ -605,7 +607,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat } } - if (rtr <= 1) return; + if (rtr <= 1) return; davg = (davg + (rtr - 1)/2) / (rtr - 1); @@ -624,18 +626,9 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat // get crypted nonces for target sector for(i=0; i < 2; i++) { // look for exactly two different nonces - WDT_HIT(); - if(BUTTON_PRESS()) { - DbpString("Nested: cancelled"); - crypto1_destroy(pcs); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); - return; - } - target_nt[i] = 0; while(target_nt[i] == 0) { // continue until we have an unambiguous nonce - + // prepare next select. No need to power down the card. if(mifare_classic_halt(pcs, cuid)) { if (MF_DBGLEVEL >= 1) Dbprintf("Nested: Halt error"); @@ -695,7 +688,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat if (target_nt[i] == 0 && j == dmax+1 && MF_DBGLEVEL >= 3) Dbprintf("Nonce#%d: dismissed (all invalid)", i+1); } } - + LED_C_OFF(); // ----------------------------- crypto1 destroy @@ -929,15 +922,15 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai uint8_t d_block[18] = {0x00}; uint32_t cuid; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + // reset FPGA and LED if (workFlags & 0x08) { LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - + iso14a_clear_trace(); iso14a_set_tracing(TRUE); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -1048,14 +1041,14 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai uint8_t data[18] = {0x00}; uint32_t cuid = 0; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; if (workFlags & 0x08) { LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - + iso14a_clear_trace(); iso14a_set_tracing(TRUE); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -1113,8 +1106,8 @@ void MifareCIdent(){ // variables byte_t isOK = 1; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; ReaderTransmitBitsPar(wupC1,7,0, NULL); if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { @@ -1133,7 +1126,7 @@ void MifareCIdent(){ cmd_send(CMD_ACK,isOK,0,0,0,0); } -// + // // DESFIRE // @@ -1150,14 +1143,14 @@ void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain){ if(!len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); - OnError(1); + //OnError(1); return; }; if(mifare_desfire_des_auth1(cuid, dataout)){ if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Authentication part1: Fail."); - OnError(4); + //OnError(4); return; } @@ -1180,7 +1173,7 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){ if( isOK) { if (MF_DBGLEVEL >= MF_DBG_EXTENDED) Dbprintf("Authentication part2: Failed"); - OnError(4); + //OnError(4); return; } @@ -1190,4 +1183,4 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){ cmd_send(CMD_ACK, isOK, 0, 0, dataout, sizeof(dataout)); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -} \ No newline at end of file +} diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c index fed12772..59e84697 100644 --- a/armsrc/mifaresniff.c +++ b/armsrc/mifaresniff.c @@ -13,10 +13,10 @@ static int sniffState = SNF_INIT; static uint8_t sniffUIDType; -static uint8_t sniffUID[8]; -static uint8_t sniffATQA[2]; +static uint8_t sniffUID[8] = {0x00}; +static uint8_t sniffATQA[2] = {0x00}; static uint8_t sniffSAK; -static uint8_t sniffBuf[16]; +static uint8_t sniffBuf[16] = {0x00}; static uint32_t timerData = 0; @@ -151,12 +151,13 @@ bool intMfSniffSend() { int pckSize = 0; int pckLen = traceLen; int pckNum = 0; - + uint8_t *trace = BigBuf_get_addr(); + FpgaDisableSscDma(); while (pckLen > 0) { pckSize = MIN(USB_CMD_DATA_SIZE, pckLen); LED_B_ON(); - cmd_send(CMD_ACK, 1, pckSize, pckNum, trace + traceLen - pckLen, pckSize); + cmd_send(CMD_ACK, 1, traceLen, pckSize, trace + traceLen - pckLen, pckSize); LED_B_OFF(); pckLen -= pckSize; diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 18598191..c3ba1b81 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -9,29 +9,18 @@ // Work with mifare cards. //----------------------------------------------------------------------------- -#include "../include/proxmark3.h" +#include "proxmark3.h" #include "apps.h" #include "util.h" #include "string.h" -#include "../common/iso14443crc.h" +#include "iso14443crc.h" #include "iso14443a.h" #include "crapto1.h" #include "mifareutil.h" int MF_DBGLEVEL = MF_DBG_ALL; -// memory management -uint8_t* get_bigbufptr_recvrespbuf(void) { - return (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); -} -uint8_t* get_bigbufptr_recvcmdbuf(void) { - return (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); -} -uint8_t* get_bigbufptr_emlcardmem(void) { - return (((uint8_t *)BigBuf) + CARD_MEMORY_OFFSET); -} - // crypto1 helpers void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *data, int len){ uint8_t bt = 0; @@ -76,26 +65,26 @@ 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, uint8_t *answer_parity, 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, 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 *answer_parity, uint32_t *timing) -{ - uint8_t dcmd[8]; - dcmd[0] = cmd; + 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 *answer_parity, uint32_t *timing) +{ + uint8_t dcmd[8]; + dcmd[0] = cmd; dcmd[1] = data[0]; - dcmd[2] = data[1]; + dcmd[2] = data[1]; dcmd[3] = data[2]; dcmd[4] = data[3]; dcmd[5] = data[4]; - AppendCrc14443a(dcmd, 6); - ReaderTransmit(dcmd, sizeof(dcmd), NULL); - int len = ReaderReceive(answer, answer_parity); - if(!len) { - if (MF_DBGLEVEL >= 1) Dbprintf("Authentication failed. Card timeout."); - return 2; + AppendCrc14443a(dcmd, 6); + ReaderTransmit(dcmd, sizeof(dcmd), NULL); + int len = ReaderReceive(answer, answer_parity); + if(!len) { + if (MF_DBGLEVEL >= 1) Dbprintf("Authentication failed. Card timeout."); + return 2; } return len; } @@ -117,13 +106,13 @@ int mifare_sendcmd_short_mfucauth(struct Crypto1State *pcs, uint8_t crypted, uin if(len==1) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("NAK - Authentication failed."); return 1; - } - return len; -} - -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]; + } + return len; +} + +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]; uint16_t pos, res; uint8_t par[1]; // 1 Byte parity is enough here dcmd[0] = cmd; @@ -149,7 +138,7 @@ int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cm int len = ReaderReceive(answer, par); if (answer_parity) *answer_parity = par[0]; - + if (crypted == CRYPT_ALL) { if (len == 1) { res = 0; @@ -175,7 +164,7 @@ int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, 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, uint8_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; @@ -186,9 +175,9 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN uint32_t nt, ntpp; // Supplied tag nonce uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + // Transmit MIFARE_CLASSIC_AUTH len = mifare_sendcmd_short(pcs, isNested, 0x60 + (keyType & 0x01), blockNo, receivedAnswer, receivedAnswerPar, timing); if (MF_DBGLEVEL >= 4) Dbprintf("rand tag nonce len: %x", len); @@ -273,8 +262,8 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo int len; uint8_t bt[2]; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_READBLOCK len = mifare_sendcmd_short(pcs, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); @@ -295,15 +284,15 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo } memcpy(blockData, receivedAnswer, 16); - return 0; + return 0; } // mifare ultralight commands int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){ uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short(NULL, 1, 0x1A, 0x00, receivedAnswer,receivedAnswerPar ,NULL); if (len == 1) { @@ -327,8 +316,8 @@ int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){ int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short_mfucauth(NULL, 1, 0xAF, key, receivedAnswer, receivedAnswerPar, NULL); if (len == 1) { @@ -347,53 +336,53 @@ int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ } memcpy(blockData, receivedAnswer, 11); return 0; -} - -int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) -{ - uint16_t len; - uint8_t bt[2]; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - - - // command MIFARE_CLASSIC_READBLOCK - len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); - if (len == 1) { +} + +int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) +{ + uint16_t len; + uint8_t bt[2]; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + + + // command MIFARE_CLASSIC_READBLOCK + len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); + if (len == 1) { if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("Cmd Error: %02x", receivedAnswer[0]); - return 1; - } - if (len != 18) { + Dbprintf("Cmd Error: %02x", receivedAnswer[0]); + return 1; + } + if (len != 18) { if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("Cmd Error: card timeout. len: %x", len); - return 2; - } - - memcpy(bt, receivedAnswer + 16, 2); - AppendCrc14443a(receivedAnswer, 16); - if (bt[0] != receivedAnswer[16] || bt[1] != receivedAnswer[17]) { + Dbprintf("Cmd Error: card timeout. len: %x", len); + return 2; + } + + memcpy(bt, receivedAnswer + 16, 2); + AppendCrc14443a(receivedAnswer, 16); + if (bt[0] != receivedAnswer[16] || bt[1] != receivedAnswer[17]) { if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("Cmd CRC response error."); - return 3; - } - - memcpy(blockData, receivedAnswer, 14); - return 0; -} - - -int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData) -{ - // variables + Dbprintf("Cmd CRC response error."); + return 3; + } + + memcpy(blockData, receivedAnswer, 14); + return 0; +} + + +int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData) +{ + // variables uint16_t len, i; uint32_t pos; 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 = get_bigbufptr_recvrespbuf(); - uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_WRITEBLOCK len = mifare_sendcmd_short(pcs, 1, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); @@ -427,68 +416,68 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl return 2; } - return 0; -} - -int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) -{ - uint16_t len; - uint8_t par[3] = {0}; // enough for 18 parity bits - uint8_t d_block[18] = {0x00}; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - - // command MIFARE_CLASSIC_WRITEBLOCK - len = mifare_sendcmd_short(NULL, true, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); - - if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK + return 0; +} + +int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) +{ + uint16_t len; + uint8_t par[3] = {0}; // enough for 18 parity bits + uint8_t d_block[18] = {0x00}; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + + // command MIFARE_CLASSIC_WRITEBLOCK + len = mifare_sendcmd_short(NULL, true, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); + + if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); - return 1; - } - - memcpy(d_block, blockData, 16); - AppendCrc14443a(d_block, 16); - - ReaderTransmitPar(d_block, sizeof(d_block), par, NULL); - - len = ReaderReceive(receivedAnswer, receivedAnswerPar); - - if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK + Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); + return 1; + } + + memcpy(d_block, blockData, 16); + AppendCrc14443a(d_block, 16); + + ReaderTransmitPar(d_block, sizeof(d_block), par, NULL); + + len = ReaderReceive(receivedAnswer, receivedAnswerPar); + + if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("Cmd Data Error: %02x %d", receivedAnswer[0],len); - return 2; - } - return 0; -} - -int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) -{ - uint16_t len; - uint8_t d_block[8] = {0x00}; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - - // command MIFARE_CLASSIC_WRITEBLOCK - d_block[0]= blockNo; - memcpy(d_block+1,blockData,4); - AppendCrc14443a(d_block, 6); - - len = mifare_sendcmd_short_special(NULL, 1, 0xA2, d_block, receivedAnswer, receivedAnswerPar, NULL); - - if (receivedAnswer[0] != 0x0A) { // 0x0a - ACK + Dbprintf("Cmd Data Error: %02x %d", receivedAnswer[0],len); + return 2; + } + return 0; +} + +int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) +{ + uint16_t len; + uint8_t d_block[8] = {0x00}; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + + // command MIFARE_CLASSIC_WRITEBLOCK + d_block[0]= blockNo; + memcpy(d_block+1,blockData,4); + AppendCrc14443a(d_block, 6); + + len = mifare_sendcmd_short_special(NULL, 1, 0xA2, d_block, receivedAnswer, receivedAnswerPar, NULL); + + if (receivedAnswer[0] != 0x0A) { // 0x0a - ACK if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); - return 1; - } - return 0; -} - -int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) -{ + Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); + return 1; + } + return 0; +} + +int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) +{ uint16_t len; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short(pcs, pcs == NULL ? false:true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { @@ -497,24 +486,24 @@ int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) return 1; } - return 0; -} - -int mifare_ultra_halt(uint32_t uid) -{ - uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - - len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); - if (len != 0) { + return 0; +} + +int mifare_ultra_halt(uint32_t uid) +{ + uint16_t len; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; + + len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); + if (len != 0) { if (MF_DBGLEVEL >= MF_DBG_ERROR) - Dbprintf("halt error. response len: %x", len); - return 1; + Dbprintf("halt error. response len: %x", len); + return 1; } - return 0; -} - + return 0; +} + // Mifare Memory Structure: up to 32 Sectors with 4 blocks each (1k and 2k cards), // plus evtl. 8 sectors with 16 blocks each (4k cards) @@ -536,24 +525,24 @@ uint8_t FirstBlockOfSector(uint8_t sectorNo) } -// work with emulator memory -void emlSetMem(uint8_t *data, int blockNum, int blocksCount) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); +// work with emulator memory +void emlSetMem(uint8_t *data, int blockNum, int blocksCount) { + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(emCARD + blockNum * 16, data, blocksCount * 16); } void emlGetMem(uint8_t *data, int blockNum, int blocksCount) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(data, emCARD + blockNum * 16, blocksCount * 16); } void emlGetMemBt(uint8_t *data, int bytePtr, int byteCount) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(data, emCARD + bytePtr, byteCount); } int emlCheckValBl(int blockNum) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); uint8_t* data = emCARD + blockNum * 16; if ((data[0] != (data[4] ^ 0xff)) || (data[0] != data[8]) || @@ -568,7 +557,7 @@ int emlCheckValBl(int blockNum) { } int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); uint8_t* data = emCARD + blockNum * 16; if (emlCheckValBl(blockNum)) { @@ -576,12 +565,12 @@ int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { } memcpy(blReg, data, 4); - *blBlock = data[12]; + *blBlock = data[12]; return 0; } int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); uint8_t* data = emCARD + blockNum * 16; memcpy(data + 0, &blReg, 4); @@ -599,7 +588,7 @@ int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) { uint64_t emlGetKey(int sectorNum, int keyType) { uint8_t key[6]; - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(key, emCARD + 16 * (FirstBlockOfSector(sectorNum) + NumBlocksPerSector(sectorNum) - 1) + keyType * 10, 6); return bytes_to_num(key, 6); @@ -610,7 +599,7 @@ void emlClearMem(void) { const uint8_t trailer[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x80, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; const uint8_t uid[] = {0xe6, 0x84, 0x87, 0xf3, 0x16, 0x88, 0x04, 0x00, 0x46, 0x8e, 0x45, 0x55, 0x4d, 0x70, 0x41, 0x04}; - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memset(emCARD, 0, CARD_MEMORY_SIZE); @@ -665,8 +654,8 @@ int mifare_desfire_des_auth1(uint32_t uid, uint8_t *blockData){ int len; // load key, keynumber uint8_t data[2]={0x0a, 0x00}; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_special(NULL, 1, 0x02, data, receivedAnswer,receivedAnswerPar,NULL); if (len == 1) { @@ -695,8 +684,8 @@ int mifare_desfire_des_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ data[0] = 0xAF; memcpy(data+1,key,16); - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_special2(NULL, 1, 0x03, data, receivedAnswer, receivedAnswerPar ,NULL); @@ -717,4 +706,4 @@ int mifare_desfire_des_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ return 0; } return 1; -} \ No newline at end of file +} diff --git a/armsrc/mifareutil.h b/armsrc/mifareutil.h index 6ef5e0a5..195afa53 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 @@ -53,9 +53,8 @@ extern int MF_DBGLEVEL; #define cardSTATE_TO_IDLE() cardSTATE = MFEMUL_IDLE; LED_B_OFF(); LED_C_OFF(); //functions -uint8_t* mifare_get_bigbufptr(void); int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); -int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t *answer, uint8_t *answer_parity, uint32_t *timing); +int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); int mifare_sendcmd_short_mfucauth(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t *answer, uint8_t *answer_parity, uint32_t *timing); int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); @@ -83,11 +82,6 @@ void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *receivedCmd, int len) void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, uint8_t *par); uint8_t mf_crypto1_encrypt4bit(struct Crypto1State *pcs, uint8_t data); -// memory management -uint8_t* get_bigbufptr_recvrespbuf(void); -uint8_t* get_bigbufptr_recvcmdbuf(void); -uint8_t* get_bigbufptr_emlcardmem(void); - // Mifare memory structure uint8_t NumBlocksPerSector(uint8_t sectorNo); uint8_t FirstBlockOfSector(uint8_t sectorNo); diff --git a/armsrc/string.h b/armsrc/string.h index 6e2c7883..a9dbd826 100644 --- a/armsrc/string.h +++ b/armsrc/string.h @@ -18,7 +18,7 @@ int strlen(const char *str); RAMFUNC void *memcpy(void *dest, const void *src, int len); void *memset(void *dest, int c, int len); -RAMFUNC int memcmp(const void *av, const void *bv, int len); +RAMFUNC int memcmp(const void *av, const void *bv, int len); void memxor(uint8_t * dest, uint8_t * src, size_t len); char *strncat(char *dest, const char *src, unsigned int n); char *strcat(char *dest, const char *src); diff --git a/armsrc/util.h b/armsrc/util.h index c6503395..bf5d0cc8 100644 --- a/armsrc/util.h +++ b/armsrc/util.h @@ -13,7 +13,7 @@ #include #include -#include "../include/common.h" +#include "common.h" #define BYTEx(x, n) (((x) >> (n * 8)) & 0xff ) diff --git a/client/Makefile b/client/Makefile index 24b97670..823ee445 100644 --- a/client/Makefile +++ b/client/Makefile @@ -9,18 +9,16 @@ include ../common/Makefile.common CC=gcc CXX=g++ #COMMON_FLAGS = -m32 - VPATH = ../common OBJDIR = obj -LDLIBS = -L/mingw/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lm -lreadline -lpthread -lcrypto -lgdi32 +LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm LDFLAGS = $(COMMON_FLAGS) -CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/mingw/include -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 +CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic - ifneq (,$(findstring MINGW,$(platform))) -CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui -I$(QTDIR)/include/QtWidgets -I/mingw/include -QTLDLIBS = -L$(QTDIR)/lib -lQt5Core -lQt5Gui -lQt5Widgets +CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui +QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4 MOC = $(QTDIR)/bin/moc LUAPLATFORM = mingw else ifeq ($(platform),Darwin) @@ -54,16 +52,15 @@ CORESRCS = uart.c \ CMDSRCS = nonce2key/crapto1.c\ - nonce2key/crypto1.c\ - nonce2key/nonce2key.c\ - loclass/cipher.c \ - loclass/cipherutils.c \ - loclass/des.c \ - loclass/ikeys.c \ - loclass/elite_crack.c \ - loclass/fileutils.c \ - loclass/hash1_brute.c \ - mifarehost.c \ + nonce2key/crypto1.c\ + nonce2key/nonce2key.c\ + loclass/cipher.c \ + loclass/cipherutils.c \ + loclass/des.c \ + loclass/ikeys.c \ + loclass/elite_crack.c\ + loclass/fileutils.c\ + mifarehost.c\ crc16.c \ iso14443crc.c \ iso15693tools.c \ @@ -80,12 +77,9 @@ CMDSRCS = nonce2key/crapto1.c\ cmdhflegic.c \ cmdhficlass.c \ cmdhfmf.c \ - cmdhfmfu.c \ - cmdhfmfdes.c \ - cmdhfdes.c \ + cmdhfmfu.c \ cmdhw.c \ cmdlf.c \ - cmdlfawid26.c \ cmdlfio.c \ cmdlfhid.c \ cmdlfem4x.c \ @@ -99,6 +93,7 @@ CMDSRCS = nonce2key/crapto1.c\ scripting.c\ cmdscript.c\ pm3_bitlib.c\ + aes.c\ COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o) diff --git a/client/aes.c b/client/aes.c new file mode 100644 index 00000000..36f735d4 --- /dev/null +++ b/client/aes.c @@ -0,0 +1,1454 @@ +/* + * FIPS-197 compliant AES implementation + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +/* + * The AES block cipher was designed by Vincent Rijmen and Joan Daemen. + * + * http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf + * http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf + */ + +#if !defined(POLARSSL_CONFIG_FILE) +#include "polarssl_config.h" +#else +#include POLARSSL_CONFIG_FILE +#endif + +#if defined(POLARSSL_AES_C) + +#include "aes.h" +#if defined(POLARSSL_PADLOCK_C) +#include "polarssl/padlock.h" +#endif +#if defined(POLARSSL_AESNI_C) +#include "polarssl/aesni.h" +#endif + +#if defined(POLARSSL_PLATFORM_C) +#include "polarssl/platform.h" +#else +#define polarssl_printf printf +#endif + +#if !defined(POLARSSL_AES_ALT) + +/* Implementation that should never be optimized out by the compiler */ +static void polarssl_zeroize( void *v, size_t n ) { + volatile unsigned char *p = v; while( n-- ) *p++ = 0; +} + +/* + * 32-bit integer manipulation macros (little endian) + */ +#ifndef GET_UINT32_LE +#define GET_UINT32_LE(n,b,i) \ +{ \ + (n) = ( (uint32_t) (b)[(i) ] ) \ + | ( (uint32_t) (b)[(i) + 1] << 8 ) \ + | ( (uint32_t) (b)[(i) + 2] << 16 ) \ + | ( (uint32_t) (b)[(i) + 3] << 24 ); \ +} +#endif + +#ifndef PUT_UINT32_LE +#define PUT_UINT32_LE(n,b,i) \ +{ \ + (b)[(i) ] = (unsigned char) ( (n) ); \ + (b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \ + (b)[(i) + 2] = (unsigned char) ( (n) >> 16 ); \ + (b)[(i) + 3] = (unsigned char) ( (n) >> 24 ); \ +} +#endif + +#if defined(POLARSSL_PADLOCK_C) && \ + ( defined(POLARSSL_HAVE_X86) || defined(PADLOCK_ALIGN16) ) +static int aes_padlock_ace = -1; +#endif + +#if defined(POLARSSL_AES_ROM_TABLES) +/* + * Forward S-box + */ +static const unsigned char FSb[256] = +{ + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, + 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, + 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, + 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, + 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, + 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, + 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, + 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, + 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, + 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, + 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, + 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, + 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, + 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, + 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, + 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, + 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 +}; + +/* + * Forward tables + */ +#define FT \ +\ + V(A5,63,63,C6), V(84,7C,7C,F8), V(99,77,77,EE), V(8D,7B,7B,F6), \ + V(0D,F2,F2,FF), V(BD,6B,6B,D6), V(B1,6F,6F,DE), V(54,C5,C5,91), \ + V(50,30,30,60), V(03,01,01,02), V(A9,67,67,CE), V(7D,2B,2B,56), \ + V(19,FE,FE,E7), V(62,D7,D7,B5), V(E6,AB,AB,4D), V(9A,76,76,EC), \ + V(45,CA,CA,8F), V(9D,82,82,1F), V(40,C9,C9,89), V(87,7D,7D,FA), \ + V(15,FA,FA,EF), V(EB,59,59,B2), V(C9,47,47,8E), V(0B,F0,F0,FB), \ + V(EC,AD,AD,41), V(67,D4,D4,B3), V(FD,A2,A2,5F), V(EA,AF,AF,45), \ + V(BF,9C,9C,23), V(F7,A4,A4,53), V(96,72,72,E4), V(5B,C0,C0,9B), \ + V(C2,B7,B7,75), V(1C,FD,FD,E1), V(AE,93,93,3D), V(6A,26,26,4C), \ + V(5A,36,36,6C), V(41,3F,3F,7E), V(02,F7,F7,F5), V(4F,CC,CC,83), \ + V(5C,34,34,68), V(F4,A5,A5,51), V(34,E5,E5,D1), V(08,F1,F1,F9), \ + V(93,71,71,E2), V(73,D8,D8,AB), V(53,31,31,62), V(3F,15,15,2A), \ + V(0C,04,04,08), V(52,C7,C7,95), V(65,23,23,46), V(5E,C3,C3,9D), \ + V(28,18,18,30), V(A1,96,96,37), V(0F,05,05,0A), V(B5,9A,9A,2F), \ + V(09,07,07,0E), V(36,12,12,24), V(9B,80,80,1B), V(3D,E2,E2,DF), \ + V(26,EB,EB,CD), V(69,27,27,4E), V(CD,B2,B2,7F), V(9F,75,75,EA), \ + V(1B,09,09,12), V(9E,83,83,1D), V(74,2C,2C,58), V(2E,1A,1A,34), \ + V(2D,1B,1B,36), V(B2,6E,6E,DC), V(EE,5A,5A,B4), V(FB,A0,A0,5B), \ + V(F6,52,52,A4), V(4D,3B,3B,76), V(61,D6,D6,B7), V(CE,B3,B3,7D), \ + V(7B,29,29,52), V(3E,E3,E3,DD), V(71,2F,2F,5E), V(97,84,84,13), \ + V(F5,53,53,A6), V(68,D1,D1,B9), V(00,00,00,00), V(2C,ED,ED,C1), \ + V(60,20,20,40), V(1F,FC,FC,E3), V(C8,B1,B1,79), V(ED,5B,5B,B6), \ + V(BE,6A,6A,D4), V(46,CB,CB,8D), V(D9,BE,BE,67), V(4B,39,39,72), \ + V(DE,4A,4A,94), V(D4,4C,4C,98), V(E8,58,58,B0), V(4A,CF,CF,85), \ + V(6B,D0,D0,BB), V(2A,EF,EF,C5), V(E5,AA,AA,4F), V(16,FB,FB,ED), \ + V(C5,43,43,86), V(D7,4D,4D,9A), V(55,33,33,66), V(94,85,85,11), \ + V(CF,45,45,8A), V(10,F9,F9,E9), V(06,02,02,04), V(81,7F,7F,FE), \ + V(F0,50,50,A0), V(44,3C,3C,78), V(BA,9F,9F,25), V(E3,A8,A8,4B), \ + V(F3,51,51,A2), V(FE,A3,A3,5D), V(C0,40,40,80), V(8A,8F,8F,05), \ + V(AD,92,92,3F), V(BC,9D,9D,21), V(48,38,38,70), V(04,F5,F5,F1), \ + V(DF,BC,BC,63), V(C1,B6,B6,77), V(75,DA,DA,AF), V(63,21,21,42), \ + V(30,10,10,20), V(1A,FF,FF,E5), V(0E,F3,F3,FD), V(6D,D2,D2,BF), \ + V(4C,CD,CD,81), V(14,0C,0C,18), V(35,13,13,26), V(2F,EC,EC,C3), \ + V(E1,5F,5F,BE), V(A2,97,97,35), V(CC,44,44,88), V(39,17,17,2E), \ + V(57,C4,C4,93), V(F2,A7,A7,55), V(82,7E,7E,FC), V(47,3D,3D,7A), \ + V(AC,64,64,C8), V(E7,5D,5D,BA), V(2B,19,19,32), V(95,73,73,E6), \ + V(A0,60,60,C0), V(98,81,81,19), V(D1,4F,4F,9E), V(7F,DC,DC,A3), \ + V(66,22,22,44), V(7E,2A,2A,54), V(AB,90,90,3B), V(83,88,88,0B), \ + V(CA,46,46,8C), V(29,EE,EE,C7), V(D3,B8,B8,6B), V(3C,14,14,28), \ + V(79,DE,DE,A7), V(E2,5E,5E,BC), V(1D,0B,0B,16), V(76,DB,DB,AD), \ + V(3B,E0,E0,DB), V(56,32,32,64), V(4E,3A,3A,74), V(1E,0A,0A,14), \ + V(DB,49,49,92), V(0A,06,06,0C), V(6C,24,24,48), V(E4,5C,5C,B8), \ + V(5D,C2,C2,9F), V(6E,D3,D3,BD), V(EF,AC,AC,43), V(A6,62,62,C4), \ + V(A8,91,91,39), V(A4,95,95,31), V(37,E4,E4,D3), V(8B,79,79,F2), \ + V(32,E7,E7,D5), V(43,C8,C8,8B), V(59,37,37,6E), V(B7,6D,6D,DA), \ + V(8C,8D,8D,01), V(64,D5,D5,B1), V(D2,4E,4E,9C), V(E0,A9,A9,49), \ + V(B4,6C,6C,D8), V(FA,56,56,AC), V(07,F4,F4,F3), V(25,EA,EA,CF), \ + V(AF,65,65,CA), V(8E,7A,7A,F4), V(E9,AE,AE,47), V(18,08,08,10), \ + V(D5,BA,BA,6F), V(88,78,78,F0), V(6F,25,25,4A), V(72,2E,2E,5C), \ + V(24,1C,1C,38), V(F1,A6,A6,57), V(C7,B4,B4,73), V(51,C6,C6,97), \ + V(23,E8,E8,CB), V(7C,DD,DD,A1), V(9C,74,74,E8), V(21,1F,1F,3E), \ + V(DD,4B,4B,96), V(DC,BD,BD,61), V(86,8B,8B,0D), V(85,8A,8A,0F), \ + V(90,70,70,E0), V(42,3E,3E,7C), V(C4,B5,B5,71), V(AA,66,66,CC), \ + V(D8,48,48,90), V(05,03,03,06), V(01,F6,F6,F7), V(12,0E,0E,1C), \ + V(A3,61,61,C2), V(5F,35,35,6A), V(F9,57,57,AE), V(D0,B9,B9,69), \ + V(91,86,86,17), V(58,C1,C1,99), V(27,1D,1D,3A), V(B9,9E,9E,27), \ + V(38,E1,E1,D9), V(13,F8,F8,EB), V(B3,98,98,2B), V(33,11,11,22), \ + V(BB,69,69,D2), V(70,D9,D9,A9), V(89,8E,8E,07), V(A7,94,94,33), \ + V(B6,9B,9B,2D), V(22,1E,1E,3C), V(92,87,87,15), V(20,E9,E9,C9), \ + V(49,CE,CE,87), V(FF,55,55,AA), V(78,28,28,50), V(7A,DF,DF,A5), \ + V(8F,8C,8C,03), V(F8,A1,A1,59), V(80,89,89,09), V(17,0D,0D,1A), \ + V(DA,BF,BF,65), V(31,E6,E6,D7), V(C6,42,42,84), V(B8,68,68,D0), \ + V(C3,41,41,82), V(B0,99,99,29), V(77,2D,2D,5A), V(11,0F,0F,1E), \ + V(CB,B0,B0,7B), V(FC,54,54,A8), V(D6,BB,BB,6D), V(3A,16,16,2C) + +#define V(a,b,c,d) 0x##a##b##c##d +static const uint32_t FT0[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##b##c##d##a +static const uint32_t FT1[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##c##d##a##b +static const uint32_t FT2[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##d##a##b##c +static const uint32_t FT3[256] = { FT }; +#undef V + +#undef FT + +/* + * Reverse S-box + */ +static const unsigned char RSb[256] = +{ + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, + 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, + 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, + 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, + 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, + 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, + 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, + 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, + 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, + 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, + 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, + 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, + 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, + 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, + 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, + 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, + 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D +}; + +/* + * Reverse tables + */ +#define RT \ +\ + V(50,A7,F4,51), V(53,65,41,7E), V(C3,A4,17,1A), V(96,5E,27,3A), \ + V(CB,6B,AB,3B), V(F1,45,9D,1F), V(AB,58,FA,AC), V(93,03,E3,4B), \ + V(55,FA,30,20), V(F6,6D,76,AD), V(91,76,CC,88), V(25,4C,02,F5), \ + V(FC,D7,E5,4F), V(D7,CB,2A,C5), V(80,44,35,26), V(8F,A3,62,B5), \ + V(49,5A,B1,DE), V(67,1B,BA,25), V(98,0E,EA,45), V(E1,C0,FE,5D), \ + V(02,75,2F,C3), V(12,F0,4C,81), V(A3,97,46,8D), V(C6,F9,D3,6B), \ + V(E7,5F,8F,03), V(95,9C,92,15), V(EB,7A,6D,BF), V(DA,59,52,95), \ + V(2D,83,BE,D4), V(D3,21,74,58), V(29,69,E0,49), V(44,C8,C9,8E), \ + V(6A,89,C2,75), V(78,79,8E,F4), V(6B,3E,58,99), V(DD,71,B9,27), \ + V(B6,4F,E1,BE), V(17,AD,88,F0), V(66,AC,20,C9), V(B4,3A,CE,7D), \ + V(18,4A,DF,63), V(82,31,1A,E5), V(60,33,51,97), V(45,7F,53,62), \ + V(E0,77,64,B1), V(84,AE,6B,BB), V(1C,A0,81,FE), V(94,2B,08,F9), \ + V(58,68,48,70), V(19,FD,45,8F), V(87,6C,DE,94), V(B7,F8,7B,52), \ + V(23,D3,73,AB), V(E2,02,4B,72), V(57,8F,1F,E3), V(2A,AB,55,66), \ + V(07,28,EB,B2), V(03,C2,B5,2F), V(9A,7B,C5,86), V(A5,08,37,D3), \ + V(F2,87,28,30), V(B2,A5,BF,23), V(BA,6A,03,02), V(5C,82,16,ED), \ + V(2B,1C,CF,8A), V(92,B4,79,A7), V(F0,F2,07,F3), V(A1,E2,69,4E), \ + V(CD,F4,DA,65), V(D5,BE,05,06), V(1F,62,34,D1), V(8A,FE,A6,C4), \ + V(9D,53,2E,34), V(A0,55,F3,A2), V(32,E1,8A,05), V(75,EB,F6,A4), \ + V(39,EC,83,0B), V(AA,EF,60,40), V(06,9F,71,5E), V(51,10,6E,BD), \ + V(F9,8A,21,3E), V(3D,06,DD,96), V(AE,05,3E,DD), V(46,BD,E6,4D), \ + V(B5,8D,54,91), V(05,5D,C4,71), V(6F,D4,06,04), V(FF,15,50,60), \ + V(24,FB,98,19), V(97,E9,BD,D6), V(CC,43,40,89), V(77,9E,D9,67), \ + V(BD,42,E8,B0), V(88,8B,89,07), V(38,5B,19,E7), V(DB,EE,C8,79), \ + V(47,0A,7C,A1), V(E9,0F,42,7C), V(C9,1E,84,F8), V(00,00,00,00), \ + V(83,86,80,09), V(48,ED,2B,32), V(AC,70,11,1E), V(4E,72,5A,6C), \ + V(FB,FF,0E,FD), V(56,38,85,0F), V(1E,D5,AE,3D), V(27,39,2D,36), \ + V(64,D9,0F,0A), V(21,A6,5C,68), V(D1,54,5B,9B), V(3A,2E,36,24), \ + V(B1,67,0A,0C), V(0F,E7,57,93), V(D2,96,EE,B4), V(9E,91,9B,1B), \ + V(4F,C5,C0,80), V(A2,20,DC,61), V(69,4B,77,5A), V(16,1A,12,1C), \ + V(0A,BA,93,E2), V(E5,2A,A0,C0), V(43,E0,22,3C), V(1D,17,1B,12), \ + V(0B,0D,09,0E), V(AD,C7,8B,F2), V(B9,A8,B6,2D), V(C8,A9,1E,14), \ + V(85,19,F1,57), V(4C,07,75,AF), V(BB,DD,99,EE), V(FD,60,7F,A3), \ + V(9F,26,01,F7), V(BC,F5,72,5C), V(C5,3B,66,44), V(34,7E,FB,5B), \ + V(76,29,43,8B), V(DC,C6,23,CB), V(68,FC,ED,B6), V(63,F1,E4,B8), \ + V(CA,DC,31,D7), V(10,85,63,42), V(40,22,97,13), V(20,11,C6,84), \ + V(7D,24,4A,85), V(F8,3D,BB,D2), V(11,32,F9,AE), V(6D,A1,29,C7), \ + V(4B,2F,9E,1D), V(F3,30,B2,DC), V(EC,52,86,0D), V(D0,E3,C1,77), \ + V(6C,16,B3,2B), V(99,B9,70,A9), V(FA,48,94,11), V(22,64,E9,47), \ + V(C4,8C,FC,A8), V(1A,3F,F0,A0), V(D8,2C,7D,56), V(EF,90,33,22), \ + V(C7,4E,49,87), V(C1,D1,38,D9), V(FE,A2,CA,8C), V(36,0B,D4,98), \ + V(CF,81,F5,A6), V(28,DE,7A,A5), V(26,8E,B7,DA), V(A4,BF,AD,3F), \ + V(E4,9D,3A,2C), V(0D,92,78,50), V(9B,CC,5F,6A), V(62,46,7E,54), \ + V(C2,13,8D,F6), V(E8,B8,D8,90), V(5E,F7,39,2E), V(F5,AF,C3,82), \ + V(BE,80,5D,9F), V(7C,93,D0,69), V(A9,2D,D5,6F), V(B3,12,25,CF), \ + V(3B,99,AC,C8), V(A7,7D,18,10), V(6E,63,9C,E8), V(7B,BB,3B,DB), \ + V(09,78,26,CD), V(F4,18,59,6E), V(01,B7,9A,EC), V(A8,9A,4F,83), \ + V(65,6E,95,E6), V(7E,E6,FF,AA), V(08,CF,BC,21), V(E6,E8,15,EF), \ + V(D9,9B,E7,BA), V(CE,36,6F,4A), V(D4,09,9F,EA), V(D6,7C,B0,29), \ + V(AF,B2,A4,31), V(31,23,3F,2A), V(30,94,A5,C6), V(C0,66,A2,35), \ + V(37,BC,4E,74), V(A6,CA,82,FC), V(B0,D0,90,E0), V(15,D8,A7,33), \ + V(4A,98,04,F1), V(F7,DA,EC,41), V(0E,50,CD,7F), V(2F,F6,91,17), \ + V(8D,D6,4D,76), V(4D,B0,EF,43), V(54,4D,AA,CC), V(DF,04,96,E4), \ + V(E3,B5,D1,9E), V(1B,88,6A,4C), V(B8,1F,2C,C1), V(7F,51,65,46), \ + V(04,EA,5E,9D), V(5D,35,8C,01), V(73,74,87,FA), V(2E,41,0B,FB), \ + V(5A,1D,67,B3), V(52,D2,DB,92), V(33,56,10,E9), V(13,47,D6,6D), \ + V(8C,61,D7,9A), V(7A,0C,A1,37), V(8E,14,F8,59), V(89,3C,13,EB), \ + V(EE,27,A9,CE), V(35,C9,61,B7), V(ED,E5,1C,E1), V(3C,B1,47,7A), \ + V(59,DF,D2,9C), V(3F,73,F2,55), V(79,CE,14,18), V(BF,37,C7,73), \ + V(EA,CD,F7,53), V(5B,AA,FD,5F), V(14,6F,3D,DF), V(86,DB,44,78), \ + V(81,F3,AF,CA), V(3E,C4,68,B9), V(2C,34,24,38), V(5F,40,A3,C2), \ + V(72,C3,1D,16), V(0C,25,E2,BC), V(8B,49,3C,28), V(41,95,0D,FF), \ + V(71,01,A8,39), V(DE,B3,0C,08), V(9C,E4,B4,D8), V(90,C1,56,64), \ + V(61,84,CB,7B), V(70,B6,32,D5), V(74,5C,6C,48), V(42,57,B8,D0) + +#define V(a,b,c,d) 0x##a##b##c##d +static const uint32_t RT0[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##b##c##d##a +static const uint32_t RT1[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##c##d##a##b +static const uint32_t RT2[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##d##a##b##c +static const uint32_t RT3[256] = { RT }; +#undef V + +#undef RT + +/* + * Round constants + */ +static const uint32_t RCON[10] = +{ + 0x00000001, 0x00000002, 0x00000004, 0x00000008, + 0x00000010, 0x00000020, 0x00000040, 0x00000080, + 0x0000001B, 0x00000036 +}; + +#else /* POLARSSL_AES_ROM_TABLES */ + +/* + * Forward S-box & tables + */ +static unsigned char FSb[256]; +static uint32_t FT0[256]; +static uint32_t FT1[256]; +static uint32_t FT2[256]; +static uint32_t FT3[256]; + +/* + * Reverse S-box & tables + */ +static unsigned char RSb[256]; +static uint32_t RT0[256]; +static uint32_t RT1[256]; +static uint32_t RT2[256]; +static uint32_t RT3[256]; + +/* + * Round constants + */ +static uint32_t RCON[10]; + +/* + * Tables generation code + */ +#define ROTL8(x) ( ( x << 8 ) & 0xFFFFFFFF ) | ( x >> 24 ) +#define XTIME(x) ( ( x << 1 ) ^ ( ( x & 0x80 ) ? 0x1B : 0x00 ) ) +#define MUL(x,y) ( ( x && y ) ? pow[(log[x]+log[y]) % 255] : 0 ) + +static int aes_init_done = 0; + +static void aes_gen_tables( void ) +{ + int i, x, y, z; + int pow[256]; + int log[256]; + + /* + * compute pow and log tables over GF(2^8) + */ + for( i = 0, x = 1; i < 256; i++ ) + { + pow[i] = x; + log[x] = i; + x = ( x ^ XTIME( x ) ) & 0xFF; + } + + /* + * calculate the round constants + */ + for( i = 0, x = 1; i < 10; i++ ) + { + RCON[i] = (uint32_t) x; + x = XTIME( x ) & 0xFF; + } + + /* + * generate the forward and reverse S-boxes + */ + FSb[0x00] = 0x63; + RSb[0x63] = 0x00; + + for( i = 1; i < 256; i++ ) + { + x = pow[255 - log[i]]; + + y = x; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y ^ 0x63; + + FSb[i] = (unsigned char) x; + RSb[x] = (unsigned char) i; + } + + /* + * generate the forward and reverse tables + */ + for( i = 0; i < 256; i++ ) + { + x = FSb[i]; + y = XTIME( x ) & 0xFF; + z = ( y ^ x ) & 0xFF; + + FT0[i] = ( (uint32_t) y ) ^ + ( (uint32_t) x << 8 ) ^ + ( (uint32_t) x << 16 ) ^ + ( (uint32_t) z << 24 ); + + FT1[i] = ROTL8( FT0[i] ); + FT2[i] = ROTL8( FT1[i] ); + FT3[i] = ROTL8( FT2[i] ); + + x = RSb[i]; + + RT0[i] = ( (uint32_t) MUL( 0x0E, x ) ) ^ + ( (uint32_t) MUL( 0x09, x ) << 8 ) ^ + ( (uint32_t) MUL( 0x0D, x ) << 16 ) ^ + ( (uint32_t) MUL( 0x0B, x ) << 24 ); + + RT1[i] = ROTL8( RT0[i] ); + RT2[i] = ROTL8( RT1[i] ); + RT3[i] = ROTL8( RT2[i] ); + } +} + +#endif /* POLARSSL_AES_ROM_TABLES */ + +void aes_init( aes_context *ctx ) +{ + memset( ctx, 0, sizeof( aes_context ) ); +} + +void aes_free( aes_context *ctx ) +{ + if( ctx == NULL ) + return; + + polarssl_zeroize( ctx, sizeof( aes_context ) ); +} + +/* + * AES key schedule (encryption) + */ +int aes_setkey_enc( aes_context *ctx, const unsigned char *key, + unsigned int keysize ) +{ + unsigned int i; + uint32_t *RK; + +#if !defined(POLARSSL_AES_ROM_TABLES) + if( aes_init_done == 0 ) + { + aes_gen_tables(); + aes_init_done = 1; + + } +#endif + + switch( keysize ) + { + case 128: ctx->nr = 10; break; + case 192: ctx->nr = 12; break; + case 256: ctx->nr = 14; break; + default : return( POLARSSL_ERR_AES_INVALID_KEY_LENGTH ); + } + +#if defined(POLARSSL_PADLOCK_C) && defined(PADLOCK_ALIGN16) + if( aes_padlock_ace == -1 ) + aes_padlock_ace = padlock_supports( PADLOCK_ACE ); + + if( aes_padlock_ace ) + ctx->rk = RK = PADLOCK_ALIGN16( ctx->buf ); + else +#endif + ctx->rk = RK = ctx->buf; + +#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64) + if( aesni_supports( POLARSSL_AESNI_AES ) ) + return( aesni_setkey_enc( (unsigned char *) ctx->rk, key, keysize ) ); +#endif + + for( i = 0; i < ( keysize >> 5 ); i++ ) + { + GET_UINT32_LE( RK[i], key, i << 2 ); + } + + switch( ctx->nr ) + { + case 10: + + for( i = 0; i < 10; i++, RK += 4 ) + { + RK[4] = RK[0] ^ RCON[i] ^ + ( (uint32_t) FSb[ ( RK[3] >> 8 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[3] >> 16 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[3] >> 24 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[3] ) & 0xFF ] << 24 ); + + RK[5] = RK[1] ^ RK[4]; + RK[6] = RK[2] ^ RK[5]; + RK[7] = RK[3] ^ RK[6]; + } + break; + + case 12: + + for( i = 0; i < 8; i++, RK += 6 ) + { + RK[6] = RK[0] ^ RCON[i] ^ + ( (uint32_t) FSb[ ( RK[5] >> 8 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[5] >> 16 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[5] >> 24 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[5] ) & 0xFF ] << 24 ); + + RK[7] = RK[1] ^ RK[6]; + RK[8] = RK[2] ^ RK[7]; + RK[9] = RK[3] ^ RK[8]; + RK[10] = RK[4] ^ RK[9]; + RK[11] = RK[5] ^ RK[10]; + } + break; + + case 14: + + for( i = 0; i < 7; i++, RK += 8 ) + { + RK[8] = RK[0] ^ RCON[i] ^ + ( (uint32_t) FSb[ ( RK[7] >> 8 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[7] >> 16 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[7] >> 24 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[7] ) & 0xFF ] << 24 ); + + RK[9] = RK[1] ^ RK[8]; + RK[10] = RK[2] ^ RK[9]; + RK[11] = RK[3] ^ RK[10]; + + RK[12] = RK[4] ^ + ( (uint32_t) FSb[ ( RK[11] ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[11] >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[11] >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[11] >> 24 ) & 0xFF ] << 24 ); + + RK[13] = RK[5] ^ RK[12]; + RK[14] = RK[6] ^ RK[13]; + RK[15] = RK[7] ^ RK[14]; + } + break; + } + + return( 0 ); +} + +/* + * AES key schedule (decryption) + */ +int aes_setkey_dec( aes_context *ctx, const unsigned char *key, + unsigned int keysize ) +{ + int i, j, ret; + aes_context cty; + uint32_t *RK; + uint32_t *SK; + + aes_init( &cty ); + +#if defined(POLARSSL_PADLOCK_C) && defined(PADLOCK_ALIGN16) + if( aes_padlock_ace == -1 ) + aes_padlock_ace = padlock_supports( PADLOCK_ACE ); + + if( aes_padlock_ace ) + ctx->rk = RK = PADLOCK_ALIGN16( ctx->buf ); + else +#endif + ctx->rk = RK = ctx->buf; + + /* Also checks keysize */ + if( ( ret = aes_setkey_enc( &cty, key, keysize ) ) != 0 ) + goto exit; + + ctx->nr = cty.nr; + +#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64) + if( aesni_supports( POLARSSL_AESNI_AES ) ) + { + aesni_inverse_key( (unsigned char *) ctx->rk, + (const unsigned char *) cty.rk, ctx->nr ); + goto exit; + } +#endif + + SK = cty.rk + cty.nr * 4; + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + + for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 ) + { + for( j = 0; j < 4; j++, SK++ ) + { + *RK++ = RT0[ FSb[ ( *SK ) & 0xFF ] ] ^ + RT1[ FSb[ ( *SK >> 8 ) & 0xFF ] ] ^ + RT2[ FSb[ ( *SK >> 16 ) & 0xFF ] ] ^ + RT3[ FSb[ ( *SK >> 24 ) & 0xFF ] ]; + } + } + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + +exit: + aes_free( &cty ); + + return( ret ); +} + +#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \ +{ \ + X0 = *RK++ ^ FT0[ ( Y0 ) & 0xFF ] ^ \ + FT1[ ( Y1 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y2 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y3 >> 24 ) & 0xFF ]; \ + \ + X1 = *RK++ ^ FT0[ ( Y1 ) & 0xFF ] ^ \ + FT1[ ( Y2 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y3 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y0 >> 24 ) & 0xFF ]; \ + \ + X2 = *RK++ ^ FT0[ ( Y2 ) & 0xFF ] ^ \ + FT1[ ( Y3 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y0 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y1 >> 24 ) & 0xFF ]; \ + \ + X3 = *RK++ ^ FT0[ ( Y3 ) & 0xFF ] ^ \ + FT1[ ( Y0 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y1 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y2 >> 24 ) & 0xFF ]; \ +} + +#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \ +{ \ + X0 = *RK++ ^ RT0[ ( Y0 ) & 0xFF ] ^ \ + RT1[ ( Y3 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y2 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y1 >> 24 ) & 0xFF ]; \ + \ + X1 = *RK++ ^ RT0[ ( Y1 ) & 0xFF ] ^ \ + RT1[ ( Y0 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y3 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y2 >> 24 ) & 0xFF ]; \ + \ + X2 = *RK++ ^ RT0[ ( Y2 ) & 0xFF ] ^ \ + RT1[ ( Y1 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y0 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y3 >> 24 ) & 0xFF ]; \ + \ + X3 = *RK++ ^ RT0[ ( Y3 ) & 0xFF ] ^ \ + RT1[ ( Y2 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y1 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y0 >> 24 ) & 0xFF ]; \ +} + +/* + * AES-ECB block encryption/decryption + */ +int aes_crypt_ecb( aes_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ) +{ + int i; + uint32_t *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3; + +#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64) + if( aesni_supports( POLARSSL_AESNI_AES ) ) + return( aesni_crypt_ecb( ctx, mode, input, output ) ); +#endif + +#if defined(POLARSSL_PADLOCK_C) && defined(POLARSSL_HAVE_X86) + if( aes_padlock_ace ) + { + if( padlock_xcryptecb( ctx, mode, input, output ) == 0 ) + return( 0 ); + + // If padlock data misaligned, we just fall back to + // unaccelerated mode + // + } +#endif + + RK = ctx->rk; + + GET_UINT32_LE( X0, input, 0 ); X0 ^= *RK++; + GET_UINT32_LE( X1, input, 4 ); X1 ^= *RK++; + GET_UINT32_LE( X2, input, 8 ); X2 ^= *RK++; + GET_UINT32_LE( X3, input, 12 ); X3 ^= *RK++; + + if( mode == AES_DECRYPT ) + { + for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ) + { + AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); + } + + AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + + X0 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y0 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y3 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y2 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y1 >> 24 ) & 0xFF ] << 24 ); + + X1 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y1 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y0 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y3 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y2 >> 24 ) & 0xFF ] << 24 ); + + X2 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y2 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y1 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y0 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y3 >> 24 ) & 0xFF ] << 24 ); + + X3 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y3 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y2 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y0 >> 24 ) & 0xFF ] << 24 ); + } + else /* AES_ENCRYPT */ + { + for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ) + { + AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); + } + + AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + + X0 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y0 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y1 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y2 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y3 >> 24 ) & 0xFF ] << 24 ); + + X1 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y1 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y2 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y3 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y0 >> 24 ) & 0xFF ] << 24 ); + + X2 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y2 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y3 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y0 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y1 >> 24 ) & 0xFF ] << 24 ); + + X3 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y3 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y0 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y2 >> 24 ) & 0xFF ] << 24 ); + } + + PUT_UINT32_LE( X0, output, 0 ); + PUT_UINT32_LE( X1, output, 4 ); + PUT_UINT32_LE( X2, output, 8 ); + PUT_UINT32_LE( X3, output, 12 ); + + return( 0 ); +} + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/* + * AES-CBC buffer encryption/decryption + */ +int aes_crypt_cbc( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int i; + unsigned char temp[16]; + + if( length % 16 ) + return( POLARSSL_ERR_AES_INVALID_INPUT_LENGTH ); + +#if defined(POLARSSL_PADLOCK_C) && defined(POLARSSL_HAVE_X86) + if( aes_padlock_ace ) + { + if( padlock_xcryptcbc( ctx, mode, length, iv, input, output ) == 0 ) + return( 0 ); + + // If padlock data misaligned, we just fall back to + // unaccelerated mode + // + } +#endif + + if( mode == AES_DECRYPT ) + { + while( length > 0 ) + { + memcpy( temp, input, 16 ); + aes_crypt_ecb( ctx, mode, input, output ); + + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + else + { + while( length > 0 ) + { + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + aes_crypt_ecb( ctx, mode, output, output ); + memcpy( iv, output, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + + return( 0 ); +} +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) +/* + * AES-CFB128 buffer encryption/decryption + */ +int aes_crypt_cfb128( aes_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int c; + size_t n = *iv_off; + + if( mode == AES_DECRYPT ) + { + while( length-- ) + { + if( n == 0 ) + aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv ); + + c = *input++; + *output++ = (unsigned char)( c ^ iv[n] ); + iv[n] = (unsigned char) c; + + n = ( n + 1 ) & 0x0F; + } + } + else + { + while( length-- ) + { + if( n == 0 ) + aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv ); + + iv[n] = *output++ = (unsigned char)( iv[n] ^ *input++ ); + + n = ( n + 1 ) & 0x0F; + } + } + + *iv_off = n; + + return( 0 ); +} + +/* + * AES-CFB8 buffer encryption/decryption + */ +#include +int aes_crypt_cfb8( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + unsigned char c; + unsigned char ov[17]; + + while( length-- ) + { + memcpy( ov, iv, 16 ); + aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv ); + + if( mode == AES_DECRYPT ) + ov[16] = *input; + + c = *output++ = (unsigned char)( iv[0] ^ *input++ ); + + if( mode == AES_ENCRYPT ) + ov[16] = c; + + memcpy( iv, ov + 1, 16 ); + } + + return( 0 ); +} +#endif /*POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) +/* + * AES-CTR buffer encryption/decryption + */ +int aes_crypt_ctr( aes_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ) +{ + int c, i; + size_t n = *nc_off; + + while( length-- ) + { + if( n == 0 ) { + aes_crypt_ecb( ctx, AES_ENCRYPT, nonce_counter, stream_block ); + + for( i = 16; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; + } + c = *input++; + *output++ = (unsigned char)( c ^ stream_block[n] ); + + n = ( n + 1 ) & 0x0F; + } + + *nc_off = n; + + return( 0 ); +} +#endif /* POLARSSL_CIPHER_MODE_CTR */ + +#endif /* !POLARSSL_AES_ALT */ + +#if defined(POLARSSL_SELF_TEST) + +#include + +/* + * AES test vectors from: + * + * http://csrc.nist.gov/archive/aes/rijndael/rijndael-vals.zip + */ +static const unsigned char aes_test_ecb_dec[3][16] = +{ + { 0x44, 0x41, 0x6A, 0xC2, 0xD1, 0xF5, 0x3C, 0x58, + 0x33, 0x03, 0x91, 0x7E, 0x6B, 0xE9, 0xEB, 0xE0 }, + { 0x48, 0xE3, 0x1E, 0x9E, 0x25, 0x67, 0x18, 0xF2, + 0x92, 0x29, 0x31, 0x9C, 0x19, 0xF1, 0x5B, 0xA4 }, + { 0x05, 0x8C, 0xCF, 0xFD, 0xBB, 0xCB, 0x38, 0x2D, + 0x1F, 0x6F, 0x56, 0x58, 0x5D, 0x8A, 0x4A, 0xDE } +}; + +static const unsigned char aes_test_ecb_enc[3][16] = +{ + { 0xC3, 0x4C, 0x05, 0x2C, 0xC0, 0xDA, 0x8D, 0x73, + 0x45, 0x1A, 0xFE, 0x5F, 0x03, 0xBE, 0x29, 0x7F }, + { 0xF3, 0xF6, 0x75, 0x2A, 0xE8, 0xD7, 0x83, 0x11, + 0x38, 0xF0, 0x41, 0x56, 0x06, 0x31, 0xB1, 0x14 }, + { 0x8B, 0x79, 0xEE, 0xCC, 0x93, 0xA0, 0xEE, 0x5D, + 0xFF, 0x30, 0xB4, 0xEA, 0x21, 0x63, 0x6D, 0xA4 } +}; + +#if defined(POLARSSL_CIPHER_MODE_CBC) +static const unsigned char aes_test_cbc_dec[3][16] = +{ + { 0xFA, 0xCA, 0x37, 0xE0, 0xB0, 0xC8, 0x53, 0x73, + 0xDF, 0x70, 0x6E, 0x73, 0xF7, 0xC9, 0xAF, 0x86 }, + { 0x5D, 0xF6, 0x78, 0xDD, 0x17, 0xBA, 0x4E, 0x75, + 0xB6, 0x17, 0x68, 0xC6, 0xAD, 0xEF, 0x7C, 0x7B }, + { 0x48, 0x04, 0xE1, 0x81, 0x8F, 0xE6, 0x29, 0x75, + 0x19, 0xA3, 0xE8, 0x8C, 0x57, 0x31, 0x04, 0x13 } +}; + +static const unsigned char aes_test_cbc_enc[3][16] = +{ + { 0x8A, 0x05, 0xFC, 0x5E, 0x09, 0x5A, 0xF4, 0x84, + 0x8A, 0x08, 0xD3, 0x28, 0xD3, 0x68, 0x8E, 0x3D }, + { 0x7B, 0xD9, 0x66, 0xD5, 0x3A, 0xD8, 0xC1, 0xBB, + 0x85, 0xD2, 0xAD, 0xFA, 0xE8, 0x7B, 0xB1, 0x04 }, + { 0xFE, 0x3C, 0x53, 0x65, 0x3E, 0x2F, 0x45, 0xB5, + 0x6F, 0xCD, 0x88, 0xB2, 0xCC, 0x89, 0x8F, 0xF0 } +}; +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) +/* + * AES-CFB128 test vectors from: + * + * http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + */ +static const unsigned char aes_test_cfb128_key[3][32] = +{ + { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, + 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }, + { 0x8E, 0x73, 0xB0, 0xF7, 0xDA, 0x0E, 0x64, 0x52, + 0xC8, 0x10, 0xF3, 0x2B, 0x80, 0x90, 0x79, 0xE5, + 0x62, 0xF8, 0xEA, 0xD2, 0x52, 0x2C, 0x6B, 0x7B }, + { 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, + 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, + 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, + 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 } +}; + +static const unsigned char aes_test_cfb128_iv[16] = +{ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const unsigned char aes_test_cfb128_pt[64] = +{ + 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, + 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A, + 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, + 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51, + 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, + 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF, + 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17, + 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10 +}; + +static const unsigned char aes_test_cfb128_ct[3][64] = +{ + { 0x3B, 0x3F, 0xD9, 0x2E, 0xB7, 0x2D, 0xAD, 0x20, + 0x33, 0x34, 0x49, 0xF8, 0xE8, 0x3C, 0xFB, 0x4A, + 0xC8, 0xA6, 0x45, 0x37, 0xA0, 0xB3, 0xA9, 0x3F, + 0xCD, 0xE3, 0xCD, 0xAD, 0x9F, 0x1C, 0xE5, 0x8B, + 0x26, 0x75, 0x1F, 0x67, 0xA3, 0xCB, 0xB1, 0x40, + 0xB1, 0x80, 0x8C, 0xF1, 0x87, 0xA4, 0xF4, 0xDF, + 0xC0, 0x4B, 0x05, 0x35, 0x7C, 0x5D, 0x1C, 0x0E, + 0xEA, 0xC4, 0xC6, 0x6F, 0x9F, 0xF7, 0xF2, 0xE6 }, + { 0xCD, 0xC8, 0x0D, 0x6F, 0xDD, 0xF1, 0x8C, 0xAB, + 0x34, 0xC2, 0x59, 0x09, 0xC9, 0x9A, 0x41, 0x74, + 0x67, 0xCE, 0x7F, 0x7F, 0x81, 0x17, 0x36, 0x21, + 0x96, 0x1A, 0x2B, 0x70, 0x17, 0x1D, 0x3D, 0x7A, + 0x2E, 0x1E, 0x8A, 0x1D, 0xD5, 0x9B, 0x88, 0xB1, + 0xC8, 0xE6, 0x0F, 0xED, 0x1E, 0xFA, 0xC4, 0xC9, + 0xC0, 0x5F, 0x9F, 0x9C, 0xA9, 0x83, 0x4F, 0xA0, + 0x42, 0xAE, 0x8F, 0xBA, 0x58, 0x4B, 0x09, 0xFF }, + { 0xDC, 0x7E, 0x84, 0xBF, 0xDA, 0x79, 0x16, 0x4B, + 0x7E, 0xCD, 0x84, 0x86, 0x98, 0x5D, 0x38, 0x60, + 0x39, 0xFF, 0xED, 0x14, 0x3B, 0x28, 0xB1, 0xC8, + 0x32, 0x11, 0x3C, 0x63, 0x31, 0xE5, 0x40, 0x7B, + 0xDF, 0x10, 0x13, 0x24, 0x15, 0xE5, 0x4B, 0x92, + 0xA1, 0x3E, 0xD0, 0xA8, 0x26, 0x7A, 0xE2, 0xF9, + 0x75, 0xA3, 0x85, 0x74, 0x1A, 0xB9, 0xCE, 0xF8, + 0x20, 0x31, 0x62, 0x3D, 0x55, 0xB1, 0xE4, 0x71 } +}; +#endif /* POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) +/* + * AES-CTR test vectors from: + * + * http://www.faqs.org/rfcs/rfc3686.html + */ + +static const unsigned char aes_test_ctr_key[3][16] = +{ + { 0xAE, 0x68, 0x52, 0xF8, 0x12, 0x10, 0x67, 0xCC, + 0x4B, 0xF7, 0xA5, 0x76, 0x55, 0x77, 0xF3, 0x9E }, + { 0x7E, 0x24, 0x06, 0x78, 0x17, 0xFA, 0xE0, 0xD7, + 0x43, 0xD6, 0xCE, 0x1F, 0x32, 0x53, 0x91, 0x63 }, + { 0x76, 0x91, 0xBE, 0x03, 0x5E, 0x50, 0x20, 0xA8, + 0xAC, 0x6E, 0x61, 0x85, 0x29, 0xF9, 0xA0, 0xDC } +}; + +static const unsigned char aes_test_ctr_nonce_counter[3][16] = +{ + { 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0x6C, 0xB6, 0xDB, 0xC0, 0x54, 0x3B, 0x59, + 0xDA, 0x48, 0xD9, 0x0B, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0xE0, 0x01, 0x7B, 0x27, 0x77, 0x7F, 0x3F, + 0x4A, 0x17, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x01 } +}; + +static const unsigned char aes_test_ctr_pt[3][48] = +{ + { 0x53, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x20, 0x62, + 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x6D, 0x73, 0x67 }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23 } +}; + +static const unsigned char aes_test_ctr_ct[3][48] = +{ + { 0xE4, 0x09, 0x5D, 0x4F, 0xB7, 0xA7, 0xB3, 0x79, + 0x2D, 0x61, 0x75, 0xA3, 0x26, 0x13, 0x11, 0xB8 }, + { 0x51, 0x04, 0xA1, 0x06, 0x16, 0x8A, 0x72, 0xD9, + 0x79, 0x0D, 0x41, 0xEE, 0x8E, 0xDA, 0xD3, 0x88, + 0xEB, 0x2E, 0x1E, 0xFC, 0x46, 0xDA, 0x57, 0xC8, + 0xFC, 0xE6, 0x30, 0xDF, 0x91, 0x41, 0xBE, 0x28 }, + { 0xC1, 0xCF, 0x48, 0xA8, 0x9F, 0x2F, 0xFD, 0xD9, + 0xCF, 0x46, 0x52, 0xE9, 0xEF, 0xDB, 0x72, 0xD7, + 0x45, 0x40, 0xA4, 0x2B, 0xDE, 0x6D, 0x78, 0x36, + 0xD5, 0x9A, 0x5C, 0xEA, 0xAE, 0xF3, 0x10, 0x53, + 0x25, 0xB2, 0x07, 0x2F } +}; + +static const int aes_test_ctr_len[3] = + { 16, 32, 36 }; +#endif /* POLARSSL_CIPHER_MODE_CTR */ + +/* + * Checkup routine + */ +int aes_self_test( int verbose ) +{ + int ret = 0, i, j, u, v; + unsigned char key[32]; + unsigned char buf[64]; + unsigned char iv[16]; +#if defined(POLARSSL_CIPHER_MODE_CBC) + unsigned char prv[16]; +#endif +#if defined(POLARSSL_CIPHER_MODE_CTR) || defined(POLARSSL_CIPHER_MODE_CFB) + size_t offset; +#endif +#if defined(POLARSSL_CIPHER_MODE_CTR) + int len; + unsigned char nonce_counter[16]; + unsigned char stream_block[16]; +#endif + aes_context ctx; + + memset( key, 0, 32 ); + aes_init( &ctx ); + + /* + * ECB mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-ECB-%3d (%s): ", 128 + u * 64, + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memset( buf, 0, 16 ); + + if( v == AES_DECRYPT ) + { + aes_setkey_dec( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + aes_crypt_ecb( &ctx, v, buf, buf ); + + if( memcmp( buf, aes_test_ecb_dec[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + aes_setkey_enc( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + aes_crypt_ecb( &ctx, v, buf, buf ); + + if( memcmp( buf, aes_test_ecb_enc[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) + /* + * CBC mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-CBC-%3d (%s): ", 128 + u * 64, + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memset( iv , 0, 16 ); + memset( prv, 0, 16 ); + memset( buf, 0, 16 ); + + if( v == AES_DECRYPT ) + { + aes_setkey_dec( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + aes_crypt_cbc( &ctx, v, 16, iv, buf, buf ); + + if( memcmp( buf, aes_test_cbc_dec[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + aes_setkey_enc( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + { + unsigned char tmp[16]; + + aes_crypt_cbc( &ctx, v, 16, iv, buf, buf ); + + memcpy( tmp, prv, 16 ); + memcpy( prv, buf, 16 ); + memcpy( buf, tmp, 16 ); + } + + if( memcmp( prv, aes_test_cbc_enc[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) + /* + * CFB128 mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-CFB128-%3d (%s): ", 128 + u * 64, + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( iv, aes_test_cfb128_iv, 16 ); + memcpy( key, aes_test_cfb128_key[u], 16 + u * 8 ); + + offset = 0; + aes_setkey_enc( &ctx, key, 128 + u * 64 ); + + if( v == AES_DECRYPT ) + { + memcpy( buf, aes_test_cfb128_ct[u], 64 ); + aes_crypt_cfb128( &ctx, v, 64, &offset, iv, buf, buf ); + + if( memcmp( buf, aes_test_cfb128_pt, 64 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + memcpy( buf, aes_test_cfb128_pt, 64 ); + aes_crypt_cfb128( &ctx, v, 64, &offset, iv, buf, buf ); + + if( memcmp( buf, aes_test_cfb128_ct[u], 64 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); +#endif /* POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) + /* + * CTR mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-CTR-128 (%s): ", + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( nonce_counter, aes_test_ctr_nonce_counter[u], 16 ); + memcpy( key, aes_test_ctr_key[u], 16 ); + + offset = 0; + aes_setkey_enc( &ctx, key, 128 ); + + if( v == AES_DECRYPT ) + { + len = aes_test_ctr_len[u]; + memcpy( buf, aes_test_ctr_ct[u], len ); + + aes_crypt_ctr( &ctx, len, &offset, nonce_counter, stream_block, + buf, buf ); + + if( memcmp( buf, aes_test_ctr_pt[u], len ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + len = aes_test_ctr_len[u]; + memcpy( buf, aes_test_ctr_pt[u], len ); + + aes_crypt_ctr( &ctx, len, &offset, nonce_counter, stream_block, + buf, buf ); + + if( memcmp( buf, aes_test_ctr_ct[u], len ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); +#endif /* POLARSSL_CIPHER_MODE_CTR */ + + ret = 0; + +exit: + aes_free( &ctx ); + + return( ret ); +} + +#endif /* POLARSSL_SELF_TEST */ + +#endif /* POLARSSL_AES_C */ diff --git a/client/aes.h b/client/aes.h new file mode 100644 index 00000000..946bd87d --- /dev/null +++ b/client/aes.h @@ -0,0 +1,257 @@ +/** + * \file aes.h + * + * \brief AES block cipher + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +#ifndef POLARSSL_AES_H +#define POLARSSL_AES_H + +#if !defined(POLARSSL_CONFIG_FILE) +#include "polarssl_config.h" +#else +#include POLARSSL_CONFIG_FILE +#endif + +#include + +#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) +#include +typedef UINT32 uint32_t; +#else +#include +#endif + +/* padlock.c and aesni.c rely on these values! */ +#define AES_ENCRYPT 1 +#define AES_DECRYPT 0 + +#define POLARSSL_ERR_AES_INVALID_KEY_LENGTH -0x0020 /**< Invalid key length. */ +#define POLARSSL_ERR_AES_INVALID_INPUT_LENGTH -0x0022 /**< Invalid data input length. */ + +#if !defined(POLARSSL_AES_ALT) +// Regular implementation +// + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief AES context structure + * + * \note buf is able to hold 32 extra bytes, which can be used: + * - for alignment purposes if VIA padlock is used, and/or + * - to simplify key expansion in the 256-bit case by + * generating an extra round key + */ +typedef struct +{ + int nr; /*!< number of rounds */ + uint32_t *rk; /*!< AES round keys */ + uint32_t buf[68]; /*!< unaligned data */ +} +aes_context; + +/** + * \brief Initialize AES context + * + * \param ctx AES context to be initialized + */ +void aes_init( aes_context *ctx ); + +/** + * \brief Clear AES context + * + * \param ctx AES context to be cleared + */ +void aes_free( aes_context *ctx ); + +/** + * \brief AES key schedule (encryption) + * + * \param ctx AES context to be initialized + * \param key encryption key + * \param keysize must be 128, 192 or 256 + * + * \return 0 if successful, or POLARSSL_ERR_AES_INVALID_KEY_LENGTH + */ +int aes_setkey_enc( aes_context *ctx, const unsigned char *key, + unsigned int keysize ); + +/** + * \brief AES key schedule (decryption) + * + * \param ctx AES context to be initialized + * \param key decryption key + * \param keysize must be 128, 192 or 256 + * + * \return 0 if successful, or POLARSSL_ERR_AES_INVALID_KEY_LENGTH + */ +int aes_setkey_dec( aes_context *ctx, const unsigned char *key, + unsigned int keysize ); + +/** + * \brief AES-ECB block encryption/decryption + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param input 16-byte input block + * \param output 16-byte output block + * + * \return 0 if successful + */ +int aes_crypt_ecb( aes_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/** + * \brief AES-CBC buffer encryption/decryption + * Length should be a multiple of the block + * size (16 bytes) + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param length length of the input data + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful, or POLARSSL_ERR_AES_INVALID_INPUT_LENGTH + */ +int aes_crypt_cbc( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) +/** + * \brief AES-CFB128 buffer encryption/decryption. + * + * Note: Due to the nature of CFB you should use the same key schedule for + * both encryption and decryption. So a context initialized with + * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param length length of the input data + * \param iv_off offset in IV (updated after use) + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful + */ +int aes_crypt_cfb128( aes_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); + +/** + * \brief AES-CFB8 buffer encryption/decryption. + * + * Note: Due to the nature of CFB you should use the same key schedule for + * both encryption and decryption. So a context initialized with + * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param length length of the input data + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful + */ +int aes_crypt_cfb8( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /*POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) +/** + * \brief AES-CTR buffer encryption/decryption + * + * Warning: You have to keep the maximum use of your counter in mind! + * + * Note: Due to the nature of CTR you should use the same key schedule for + * both encryption and decryption. So a context initialized with + * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. + * + * \param ctx AES context + * \param length The length of the data + * \param nc_off The offset in the current stream_block (for resuming + * within current cipher stream). The offset pointer to + * should be 0 at the start of a stream. + * \param nonce_counter The 128-bit nonce and counter. + * \param stream_block The saved stream-block for resuming. Is overwritten + * by the function. + * \param input The input data stream + * \param output The output data stream + * + * \return 0 if successful + */ +int aes_crypt_ctr( aes_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ); +#endif /* POLARSSL_CIPHER_MODE_CTR */ + +#ifdef __cplusplus +} +#endif + +#else /* POLARSSL_AES_ALT */ +#include "aes_alt.h" +#endif /* POLARSSL_AES_ALT */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Checkup routine + * + * \return 0 if successful, or 1 if the test failed + */ +int aes_self_test( int verbose ); + +#ifdef __cplusplus +} +#endif + +#endif /* aes.h */ diff --git a/client/cmddata.c b/client/cmddata.c index 9a19dca7..8c91f0e1 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -21,38 +21,97 @@ #include "cmdmain.h" #include "cmddata.h" #include "lfdemod.h" - +uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +uint8_t g_debugMode; +int DemodBufferLen; static int CmdHelp(const char *Cmd); -int CmdAmp(const char *Cmd) +//set the demod buffer with given array of binary (one bit per byte) +//by marshmellow +void setDemodBuf(uint8_t *buff, size_t size, size_t startIdx) { - int i, rising, falling; - int max = INT_MIN, min = INT_MAX; - - DetectHighLowInGraph( &max, &min, FALSE); - - if (max != min) { - rising = falling = 0; - - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i + 1] < GraphBuffer[i]) { - if (rising) { - GraphBuffer[i] = max; - rising = 0; - } - falling = 1; - } - if (GraphBuffer[i + 1] > GraphBuffer[i]) { - if (falling) { - GraphBuffer[i] = min; - falling = 0; - } - rising= 1; - } - } + size_t i = 0; + for (; i < size; i++){ + DemodBuffer[i]=buff[startIdx++]; } - RepaintGraphWindow(); - return 0; + DemodBufferLen=size; + return; +} + +int CmdSetDebugMode(const char *Cmd) +{ + int demod=0; + sscanf(Cmd, "%i", &demod); + g_debugMode=(uint8_t)demod; + return 1; +} + +//by marshmellow +void printDemodBuff() +{ + uint32_t i = 0; + int bitLen = DemodBufferLen; + if (bitLen<16) { + PrintAndLog("no bits found in demod buffer"); + return; + } + if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + DemodBuffer[i], + DemodBuffer[i+1], + DemodBuffer[i+2], + DemodBuffer[i+3], + DemodBuffer[i+4], + DemodBuffer[i+5], + DemodBuffer[i+6], + DemodBuffer[i+7], + DemodBuffer[i+8], + DemodBuffer[i+9], + DemodBuffer[i+10], + DemodBuffer[i+11], + DemodBuffer[i+12], + DemodBuffer[i+13], + DemodBuffer[i+14], + DemodBuffer[i+15]); + } + return; +} + + +int CmdAmp(const char *Cmd) +{ + int i, rising, falling; + int max = INT_MIN, min = INT_MAX; + + for (i = 10; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] > max) + max = GraphBuffer[i]; + if (GraphBuffer[i] < min) + min = GraphBuffer[i]; + } + + if (max != min) { + rising = falling= 0; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i + 1] < GraphBuffer[i]) { + if (rising) { + GraphBuffer[i] = max; + rising = 0; + } + falling = 1; + } + if (GraphBuffer[i + 1] > GraphBuffer[i]) { + if (falling) { + GraphBuffer[i] = min; + falling = 0; + } + rising= 1; + } + } + } + RepaintGraphWindow(); + return 0; } /* @@ -69,167 +128,183 @@ int CmdAmp(const char *Cmd) //this method is dependant on all highs and lows to be the same(or clipped) this creates issues[marshmellow] it also ignores the clock int Cmdaskdemod(const char *Cmd) { - int i; - int c, high = 0, low = 0; - - sscanf(Cmd, "%i", &c); - - if (c != 0 && c != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - - DetectHighLowInGraph( &high, &low, FALSE); + int i; + int c, high = 0, low = 0; - high = abs(high * .75); - low = abs(low * .75); + // TODO: complain if we do not give 2 arguments here ! + // (AL - this doesn't make sense! we're only using one argument!!!) + sscanf(Cmd, "%i", &c); - //prime loop - if (GraphBuffer[0] > 0) { - GraphBuffer[0] = 1-c; - } else { - GraphBuffer[0] = c; - } - - for (i = 1; i < GraphTraceLen; ++i) { - /* Transitions are detected at each peak - * Transitions are either: - * - we're low: transition if we hit a high - * - we're high: transition if we hit a low - * (we need to do it this way because some tags keep high or - * low for long periods, others just reach the peak and go - * down) - */ + /* Detect high and lows and clock */ + // (AL - clock???) + for (i = 0; i < GraphTraceLen; ++i) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } + high=abs(high*.75); + low=abs(low*.75); + if (c != 0 && c != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + //prime loop + if (GraphBuffer[0] > 0) { + GraphBuffer[0] = 1-c; + } else { + GraphBuffer[0] = c; + } + for (i = 1; i < GraphTraceLen; ++i) { + /* Transitions are detected at each peak + * Transitions are either: + * - we're low: transition if we hit a high + * - we're high: transition if we hit a low + * (we need to do it this way because some tags keep high or + * low for long periods, others just reach the peak and go + * down) + */ //[marhsmellow] change == to >= for high and <= for low for fuzz - if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { - GraphBuffer[i] = 1 - c; - } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ - GraphBuffer[i] = c; - } else { - /* No transition */ - GraphBuffer[i] = GraphBuffer[i - 1]; - } - } + if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { + GraphBuffer[i] = 1 - c; + } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ + GraphBuffer[i] = c; + } else { + /* No transition */ + GraphBuffer[i] = GraphBuffer[i - 1]; + } + } RepaintGraphWindow(); return 0; } -void printBitStream(uint8_t bits[], uint32_t bitLen){ - - uint32_t i = 0; - if (bitLen < 16) { - PrintAndLog("Too few bits found: %d",bitLen); - return; - } - if (bitLen > 512) - bitLen = 512; - - if ( ( bitLen % 16 ) > 0) { - bitLen = ((bitLen / 16) * 16); - PrintAndLog("ICE: equally divided with 16 = %d",bitLen); - } - - 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", - bits[i], - bits[i+1], - bits[i+2], - bits[i+3], - bits[i+4], - bits[i+5], - bits[i+6], - bits[i+7], - bits[i+8], - bits[i+9], - bits[i+10], - bits[i+11], - bits[i+12], - bits[i+13], - bits[i+14], - bits[i+15]); - } - return; +//by marshmellow +void printBitStream(uint8_t BitStream[], uint32_t bitLen) +{ + uint32_t i = 0; + if (bitLen<16) { + PrintAndLog("Too few bits found: %d",bitLen); + return; + } + if (bitLen>512) bitLen=512; + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return; } - -void printEM410x(uint64_t id) { - - if ( id <= 0 ) return; - - uint64_t id2lo = 0; - uint32_t i,j; - i = j = 0; - - for (j = 5; j > 0; j--){ - for (i = 0; i < 8; i++){ - id2lo = ( id2lo << 1LL)|((id & ( 1 << ( i +( ( j-1 ) * 8 )))) >> ( i + (( j-1) *8 ))); +//by marshmellow +//print EM410x ID in multiple formats +void printEM410x(uint64_t id) +{ + if (id !=0){ + uint64_t iii=1; + uint64_t id2lo=0; + uint32_t ii=0; + uint32_t i=0; + for (ii=5; ii>0;ii--){ + for (i=0;i<8;i++){ + id2lo=(id2lo<<1LL) | ((id & (iii << (i+((ii-1)*8)))) >> (i+((ii-1)*8))); + } + } + //output em id + PrintAndLog("EM TAG ID : %010llx", id); + PrintAndLog("Unique TAG ID: %010llx", id2lo); + PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); + PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); + PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); + PrintAndLog("DEZ 3.5A : %03lld.%05lld",(id>>32ll),(id & 0xFFFF)); + PrintAndLog("DEZ 14/IK2 : %014lld",id); + PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); + PrintAndLog("Other : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF)); } - } - //output em id - PrintAndLog("EM TAG ID : %010llx", id); - PrintAndLog("Unique TAG ID: %010llx", id2lo); - PrintAndLog("DEZ 8 : %08lld", id & 0xFFFFFF); - PrintAndLog("DEZ 10 : %010lld", id & 0xFFFFFF); - PrintAndLog("DEZ 5.5 : %05lld.%05lld", (id>>16LL) & 0xFFFF, (id & 0xFFFF)); - PrintAndLog("DEZ 3.5A : %03lld.%05lld", (id>>32ll), (id & 0xFFFF)); - PrintAndLog("DEZ 14/IK2 : %014lld", id); - PrintAndLog("DEZ 15/IK3 : %015lld", id2lo); - PrintAndLog("Other : %05lld_%03lld_%08lld", (id & 0xFFFF), (( id >> 16LL) & 0xFF), (id & 0xFFFFFF)); + return; } +//by marshmellow +//take binary from demod buffer and see if we can find an EM410x ID int CmdEm410xDecode(const char *Cmd) { - uint64_t id = 0; - uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00}; - uint32_t len = GetFromGraphBuf(bits); - id = Em410xDecode(bits, len); - printEM410x(id); - if ( id > 0 ) - return 1; - return 0; + uint64_t id=0; + size_t size = DemodBufferLen, idx=0; + id = Em410xDecode(DemodBuffer, &size, &idx); + if (id>0){ + setDemodBuf(DemodBuffer, size, idx); + if (g_debugMode){ + PrintAndLog("DEBUG: Printing demod buffer:"); + printDemodBuff(); + } + printEM410x(id); + return 1; + } + return 0; } + //by marshmellow -//takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask while decoding manchester +//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 Cmdaskmandemod(const char *Cmd) { - int invert = 0; - int clk = 0; - - sscanf(Cmd, "%i %i", &clk, &invert); - - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - - uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00}; - uint32_t len = GetFromGraphBuf(bits); - - int errCnt = askmandemod(bits, &len, &clk, &invert); - - if (errCnt < 0) return 0; - if (len < 16) return 0; - - PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,len); + int invert=0; + int clk=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } - if (errCnt > 0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + size_t BitLen = getFromGraphBuf(BitStream); + if (g_debugMode==1) PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); + int errCnt=0; + errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0||BitLen<16){ //if fatal error (or -1) + if (g_debugMode==1) PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); + return 0; } - - PrintAndLog("ASK/Manchester decoded bitstream:"); + PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); - printBitStream(bits, len); - - uint64_t tagid = Em410xDecode(bits, len); - - if (tagid > 0){ - SetGraphBuf(bits, len); - printEM410x(tagid); - return 1; - } - return 0; + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK/Manchester decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + setDemodBuf(BitStream,BitLen,0); + printDemodBuff(); + uint64_t lo =0; + size_t idx=0; + lo = Em410xDecode(BitStream, &BitLen, &idx); + if (lo>0){ + //set GraphBuffer for clone or sim command + setDemodBuf(BitStream, BitLen, idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen); + printDemodBuff(); + } + PrintAndLog("EM410x pattern found: "); + printEM410x(lo); + return 1; + } + return 0; } //by marshmellow @@ -237,136 +312,120 @@ int Cmdaskmandemod(const char *Cmd) //stricktly take 10 and 01 and convert to 0 and 1 int Cmdmandecoderaw(const char *Cmd) { - int i = 0; - int errCnt = 0; - int bitnum = 0; - uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00}; - int high = 0, low = 0; - - for (; i < GraphTraceLen; ++i){ - if (GraphBuffer[i] > high) high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) low = GraphBuffer[i]; - bits[i] = GraphBuffer[i]; - } - - if (high > 1 || low < 0 ){ - PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); - return 0; - } - - bitnum = i; - errCnt = manrawdecode(bits, &bitnum); - - if (errCnt>=20){ - PrintAndLog("Too many errors: %d",errCnt); - return 0; - } - - PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); - printBitStream(bits,bitnum); - - if (errCnt==0){ - //put back in graphbuffer - SetGraphBuf(bits, bitnum); - - uint64_t id = Em410xDecode(bits,i); - printEM410x(id); - } - return 1; + int i =0; + int errCnt=0; + size_t size=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + int high=0,low=0; + for (;ihigh) high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0 ){ + PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); + return 0; + } + size=i; + errCnt=manrawdecode(BitStream, &size); + if (errCnt>=20){ + PrintAndLog("Too many errors: %d",errCnt); + return 0; + } + PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); + printBitStream(BitStream, size); + if (errCnt==0){ + uint64_t id = 0; + size_t idx=0; + id = Em410xDecode(BitStream, &size, &idx); + if (id>0){ + //need to adjust to set bitstream back to manchester encoded data + //setDemodBuf(BitStream, size, idx); + + printEM410x(id); + } + } + return 1; } //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 +//takes 2 arguments "offset" default = 0 if 1 it will shift the decode by one bit +// and "invert" default = 0 if 1 it will invert output +// since it is not like manchester and doesn't have an incorrect bit pattern we // cannot determine if our decode is correct or if it should be shifted by one bit // the argument offset allows us to manually shift if the output is incorrect // (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 bits[MAX_GRAPH_TRACE_LEN]={0}; - - //get graphbuffer & high and low - for (; i high) high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) low = GraphBuffer[i]; - bits[i] = GraphBuffer[i]; - } - if (high > 1 || low < 0){ - PrintAndLog("Error: please raw demod the wave first then decode"); - return 0; - } - bitnum = i; - errCnt = BiphaseRawDecode(bits, &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(bits, bitnum); - PrintAndLog("\nif bitstream does not look right try offset=1"); - return 1; + int i = 0; + int errCnt=0; + size_t size=0; + int offset=0; + int invert=0; + int high=0, low=0; + sscanf(Cmd, "%i %i", &offset, &invert); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + //get graphbuffer & high and low + for (;ihigh)high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0){ + PrintAndLog("Error: please raw demod the wave first then decode"); + return 0; + } + size=i; + errCnt=BiphaseRawDecode(BitStream, &size, offset, invert); + if (errCnt>=20){ + PrintAndLog("Too many errors attempting to decode: %d",errCnt); + return 0; + } + PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); + printBitStream(BitStream, size); + PrintAndLog("\nif bitstream does not look right try offset=1"); + return 1; } - //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask only //prints binary found and saves in graphbuffer for further commands int Cmdaskrawdemod(const char *Cmd) { - int invert = 0; - int clk = 0; - + int invert=0; + int clk=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; sscanf(Cmd, "%i %i", &clk, &invert); - - if (invert != 0 && invert != 1 ) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - - if ( clock < 0 ) { - PrintAndLog("Wrong clock argument"); - return 0; + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + size_t BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); + if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + PrintAndLog("no data found"); + if (g_debugMode==1) PrintAndLog("errCnt: %d, BitLen: %d, clk: %d, invert: %d", errCnt, BitLen, clk, invert); + return 0; } + PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + + //move BitStream back to DemodBuffer + setDemodBuf(BitStream,BitLen,0); - uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00}; - int len = GetFromGraphBuf(bits); - int errCnt = 0; - - errCnt = askrawdemod(bits, &len, &clk, &invert); - - //throw away static - allow 1 and -1 (in case of threshold command first) - if (errCnt == -1) { - PrintAndLog("no data found"); - return 0; - } - - if (len < 16) return 0; - - PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,len); - - //move BitStream back to GraphBuffer - SetGraphBuf(bits, len); - - if (errCnt > 0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream(BitStream,BitLen); - PrintAndLog("ASK demoded bitstream:"); - - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(bits,len); - return 1; + return 1; } int CmdAutoCorr(const char *Cmd) @@ -404,8 +463,8 @@ int CmdAutoCorr(const char *Cmd) int CmdBitsamples(const char *Cmd) { int cnt = 0; - uint8_t got[10000]; - + uint8_t got[12288]; + GetFromBigBuf(got,sizeof(got),0); WaitForResponse(CMD_ACK,NULL); @@ -437,10 +496,16 @@ int CmdBitstream(const char *Cmd) int hithigh, hitlow, first; /* Detect high and lows and clock */ - DetectHighLowInGraph( &high, &low, FALSE); + for (i = 0; i < GraphTraceLen; ++i) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } /* Get our clock */ - clock = GetClock(Cmd, 0); + clock = GetClock(Cmd, high, 1); gtl = ClearGraph(0); bit = 0; @@ -496,11 +561,34 @@ int CmdDec(const char *Cmd) return 0; } +//by marshmellow +//shift graph zero up or down based on input + or - +int CmdGraphShiftZero(const char *Cmd) +{ + + int shift=0; + //set options from parameters entered with the command + sscanf(Cmd, "%i", &shift); + int shiftedVal=0; + for(int i = 0; i127) + shiftedVal=127; + else if (shiftedVal<-127) + shiftedVal=-127; + GraphBuffer[i]= shiftedVal; + } + CmdNorm(""); + return 0; +} + /* Print our clock rate */ -// uses data from graphbuffer +// uses data from graphbuffer int CmdDetectClockRate(const char *Cmd) { - GetClock("",1); + GetClock("",0,0); + //int clock = DetectASKClock(0); + //PrintAndLog("Auto-detected clock rate: %d", clock); return 0; } @@ -510,48 +598,54 @@ int CmdDetectClockRate(const char *Cmd) //defaults: clock = 50, invert=0, rchigh=10, rclow=8 (RF/10 RF/8 (fsk2a)) int CmdFSKrawdemod(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - 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); - - // A lots of checks if chigh, clow is out-of bounds. - - if (strlen(Cmd)>0 && strlen(Cmd)<=2) { - - rfLen = 50; - - //if invert option only is used - if (rfLen == 1){ - invert=1; - } - } - - PrintAndLog("Args invert: %d - Clock:%d - FC high:%d - FC low: %d",invert,rfLen,fchigh, fclow); - - uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00}; - uint32_t len = GetFromGraphBuf(bits); - - int size = fskdemod(bits, len,(uint8_t)rfLen, (uint8_t)invert, (uint8_t)fchigh, (uint8_t)fclow); - - if (size > 0) { - PrintAndLog("FSK decoded bitstream:"); - - SetGraphBuf(bits, size); - - // Now output the bitstream to the scrollback by line of 16 bits - // only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size - if(size > (8*32)+2) - size = (8*32)+2; - printBitStream(bits,size); - } else { - PrintAndLog("no FSK data found"); + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + int rfLen = 0; + int invert=0; + int fchigh=0; + int fclow=0; + //set options from parameters entered with the command + sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); + + if (strlen(Cmd)>0 && strlen(Cmd)<=2) { + if (rfLen==1){ + invert=1; //if invert option only is used + rfLen = 0; + } } - return 0; + + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get field clock lengths + uint16_t fcs=0; + if (fchigh==0 || fclow == 0){ + fcs=countFC(BitStream, BitLen); + if (fcs==0){ + fchigh=10; + fclow=8; + }else{ + fchigh = (fcs >> 8) & 0xFF; + fclow = fcs & 0xFF; + } + } + //get bit clock length + if (rfLen==0){ + rfLen = detectFSKClk(BitStream, BitLen, fchigh, fclow); + if (rfLen == 0) rfLen = 50; + } + PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); + int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); + if (size>0){ + PrintAndLog("FSK decoded bitstream:"); + setDemodBuf(BitStream,size,0); + + // Now output the bitstream to the scrollback by line of 16 bits + if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size + printBitStream(BitStream,size); + } else{ + PrintAndLog("no FSK data found"); + } + return 0; } //by marshmellow (based on existing demod + holiman's refactor) @@ -559,158 +653,435 @@ int CmdFSKrawdemod(const char *Cmd) //print full HID Prox ID and some bit format details if found int CmdFSKdemodHID(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - uint32_t hi2=0, hi=0, lo=0; - - uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0x00}; - uint32_t BitLen = GetFromGraphBuf(BitStream); - - //get binary from fsk wave - size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); - - if (size < 0){ - PrintAndLog("Error demoding fsk"); - return 0; - } - - if (hi2==0 && hi==0 && lo==0) return 0; - - //extra large HID tags - if (hi2 != 0){ - 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 - uint8_t fmtLen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - - //if bit 38 is set then < 37 bit format is used - if (((hi>>5) & 1)==1){ - uint32_t lo2 = 0; - - //get bits 21-37 to check for format len bit - lo2 = (((hi & 15) << 12) | (lo>>20)); - uint8_t idx3 = 1; - - //find last bit set to 1 (format len bit) - while( lo2 > 1){ - lo2=lo2>>1; - idx3++; - } - fmtLen = idx3 + 19; - fc = 0; - cardnum = 0; - - if(fmtLen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(fmtLen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(fmtLen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(fmtLen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } else { - //if bit 38 is not set then 37 bit format is used - fmtLen= 37; - fc =0; - cardnum=0; - - if (fmtLen==37){ - cardnum = (lo>>1) & 0x7FFFF; - fc = ((hi&0xF) << 12) | (lo >> 20); - } + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint32_t hi2=0, hi=0, lo=0; + + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + int idx = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); + if (idx<0){ + if (g_debugMode){ + if (idx==-1){ + PrintAndLog("DEBUG: Just Noise Detected"); + } else if (idx == -2) { + PrintAndLog("DEBUG: Error demoding fsk"); + } else if (idx == -3) { + PrintAndLog("DEBUG: Preamble not found"); + } else if (idx == -4) { + PrintAndLog("DEBUG: Error in Manchester data, SIZE: %d", BitLen); + } else { + PrintAndLog("DEBUG: Error demoding fsk %d", idx); + } + } + return 0; + } + if (hi2==0 && hi==0 && lo==0) { + if (g_debugMode) PrintAndLog("DEBUG: Error - no values found"); + return 0; + } + if (hi2 != 0){ //extra large HID tags + PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } + else { //standard HID tags <38 bits + uint8_t fmtLen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 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++; + } + fmtLen =idx3+19; + fc =0; + cardnum=0; + if(fmtLen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(fmtLen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(fmtLen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + fmtLen = 37; + fc = 0; + cardnum = 0; + if(fmtLen == 37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } } - PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, - (unsigned int) lo, - (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) fmtLen, - (unsigned int) fc, - (unsigned int) cardnum); - SetGraphBuf(BitStream,BitLen); - return 1; - } - return 0; + PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); + } + setDemodBuf(BitStream,BitLen,idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen); + printDemodBuff(); + } + return 1; +} + +//by marshmellow +//Paradox Prox demod - FSK RF/50 with preamble of 00001111 (then manchester encoded) +//print full Paradox Prox ID and some bit format details if found +int CmdFSKdemodParadox(const char *Cmd) +{ + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint32_t hi2=0, hi=0, lo=0; + + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + int idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); + if (idx<0){ + if (g_debugMode){ + if (idx==-1){ + PrintAndLog("DEBUG: Just Noise Detected"); + } else if (idx == -2) { + PrintAndLog("DEBUG: Error demoding fsk"); + } else if (idx == -3) { + PrintAndLog("DEBUG: Preamble not found"); + } else if (idx == -4) { + PrintAndLog("DEBUG: Error in Manchester data"); + } else { + PrintAndLog("DEBUG: Error demoding fsk %d", idx); + } + } + return 0; + } + if (hi2==0 && hi==0 && lo==0){ + if (g_debugMode) PrintAndLog("DEBUG: Error - no value found"); + return 0; + } + uint32_t fc = ((hi & 0x3)<<6) | (lo>>26); + uint32_t cardnum = (lo>>10)&0xFFFF; + + PrintAndLog("Paradox TAG ID: %x%08x - FC: %d - Card: %d - Checksum: %02x", + hi>>10, (hi & 0x3)<<26 | (lo>>10), fc, cardnum, (lo>>2) & 0xFF ); + setDemodBuf(BitStream,BitLen,idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, len: %d, Printing Demod Buffer:", idx, BitLen); + printDemodBuff(); + } + return 1; } + //by marshmellow //IO-Prox demod - FSK RF/64 with preamble of 000000001 //print ioprox ID and some format details int CmdFSKdemodIO(const char *Cmd) { - if (GraphTraceLen < 65) { - PrintAndLog("data samples size is too small"); - return 0; - } + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + int idx=0; + //something in graphbuffer? + if (GraphTraceLen < 65) { + if (g_debugMode)PrintAndLog("DEBUG: not enough samples in GraphBuffer"); + return 0; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + + //get binary from fsk wave + idx = IOdemodFSK(BitStream,BitLen); + if (idx<0){ + if (g_debugMode){ + if (idx==-1){ + PrintAndLog("DEBUG: Just Noise Detected"); + } else if (idx == -2) { + PrintAndLog("DEBUG: not enough samples"); + } else if (idx == -3) { + PrintAndLog("DEBUG: error during fskdemod"); + } else if (idx == -4) { + PrintAndLog("DEBUG: Preamble not found"); + } else if (idx == -5) { + PrintAndLog("DEBUG: Separator bits not found"); + } else { + PrintAndLog("DEBUG: Error demoding fsk %d", idx); + } + } + return 0; + } + if (idx==0){ + if (g_debugMode==1){ + PrintAndLog("DEBUG: IO Prox Data not found - FSK Bits: %d",BitLen); + if (BitLen > 92) printBitStream(BitStream,92); + } + return 0; + } + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo (raw) + //Handle the data + if (idx+64>BitLen) { + if (g_debugMode==1) PrintAndLog("not enough bits found - bitlen: %d",BitLen); + return 0; + } + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); + PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); + PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); + PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); + + uint32_t code = bytebits_to_byte(BitStream+idx,32); + uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); + uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; + uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 + PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + setDemodBuf(BitStream,64,idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing demod buffer:",idx,64); + printDemodBuff(); + } + return 1; +} - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - //set defaults - int idx = 0; - uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00}; - uint32_t bitlen = GetFromGraphBuf(bits); - //get binary from fsk wave - idx = IOdemodFSK(bits, bitlen); - - if (idx == 0) { - return 0; - } - if (idx == -1) { - PrintAndLog("data samples size is too small"); - return 0; - } - if (idx == -2) { - PrintAndLog("Data samples has too much noice"); - return 0; - } - if (idx == -3){ - PrintAndLog("No good demod"); - return 0; - } - - if (idx+64 > bitlen) return 0; +//by marshmellow +//AWID Prox demod - FSK RF/50 with preamble of 00000001 (always a 96 bit data stream) +//print full AWID Prox ID and some bit format details if found +int CmdFSKdemodAWID(const char *Cmd) +{ + + //int verbose=1; + //sscanf(Cmd, "%i", &verbose); + + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(BitStream); + + //get binary from fsk wave + int idx = AWIDdemodFSK(BitStream, &size); + if (idx<=0){ + if (g_debugMode==1){ + if (idx == -1) + PrintAndLog("DEBUG: Error - not enough samples"); + else if (idx == -2) + PrintAndLog("DEBUG: Error - only noise found"); + else if (idx == -3) + PrintAndLog("DEBUG: Error - problem during FSK demod"); + // else if (idx == -3) + // PrintAndLog("Error: thought we had a tag but the parity failed"); + else if (idx == -4) + PrintAndLog("DEBUG: Error - AWID preamble not found"); + else if (idx == -5) + PrintAndLog("DEBUG: Error - Size not correct: %d", size); + else + PrintAndLog("DEBUG: Error %d",idx); + } + return 0; + } + + // Index map + // 0 10 20 30 40 50 60 + // | | | | | | | + // 01234567 890 1 234 5 678 9 012 3 456 7 890 1 234 5 678 9 012 3 456 7 890 1 234 5 678 9 012 3 - to 96 + // ----------------------------------------------------------------------------- + // 00000001 000 1 110 1 101 1 011 1 101 1 010 0 000 1 000 1 010 0 001 0 110 1 100 0 000 1 000 1 + // premable bbb o bbb o bbw o fff o fff o ffc o ccc o ccc o ccc o ccc o ccc o wxx o xxx o xxx o - to 96 + // |---26 bit---| |-----117----||-------------142-------------| + // b = format bit len, o = odd parity of last 3 bits + // f = facility code, c = card number + // w = wiegand parity + // (26 bit format shown) + + //get raw ID before removing parities + uint32_t rawLo = bytebits_to_byte(BitStream+idx+64,32); + uint32_t rawHi = bytebits_to_byte(BitStream+idx+32,32); + uint32_t rawHi2 = bytebits_to_byte(BitStream+idx,32); + setDemodBuf(BitStream,96,idx); + + size = removeParity(BitStream, idx+8, 4, 1, 88); + if (size != 66){ + if (g_debugMode==1) PrintAndLog("DEBUG: Error - at parity check-tag size does not match AWID format"); + return 0; + } + // ok valid card found! + + // Index map + // 0 10 20 30 40 50 60 + // | | | | | | | + // 01234567 8 90123456 7890123456789012 3 456789012345678901234567890123456 + // ----------------------------------------------------------------------------- + // 00011010 1 01110101 0000000010001110 1 000000000000000000000000000000000 + // bbbbbbbb w ffffffff cccccccccccccccc w xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + // |26 bit| |-117--| |-----142------| + // b = format bit len, o = odd parity of last 3 bits + // f = facility code, c = card number + // w = wiegand parity + // (26 bit format shown) + + uint32_t fc = 0; + uint32_t cardnum = 0; + uint32_t code1 = 0; + uint32_t code2 = 0; + uint8_t fmtLen = bytebits_to_byte(BitStream,8); + if (fmtLen==26){ + fc = bytebits_to_byte(BitStream+9, 8); + cardnum = bytebits_to_byte(BitStream+17, 16); + code1 = bytebits_to_byte(BitStream+8,fmtLen); + PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %d - Wiegand: %x, Raw: %x%08x%08x", fmtLen, fc, cardnum, code1, rawHi2, rawHi, rawLo); + } else { + cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16); + if (fmtLen>32){ + code1 = bytebits_to_byte(BitStream+8,fmtLen-32); + code2 = bytebits_to_byte(BitStream+8+(fmtLen-32),32); + PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x%08x, Raw: %x%08x%08x", fmtLen, cardnum, code1, code2, rawHi2, rawHi, rawLo); + } else{ + code1 = bytebits_to_byte(BitStream+8,fmtLen); + PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x, Raw: %x%08x%08x", fmtLen, cardnum, code1, rawHi2, rawHi, rawLo); + } + } + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d Printing Demod Buffer:", idx, 96); + printDemodBuff(); + } + //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands + return 1; +} + +//by marshmellow +//Pyramid Prox demod - FSK RF/50 with preamble of 0000000000000001 (always a 128 bit data stream) +//print full Farpointe Data/Pyramid Prox ID and some bit format details if found +int CmdFSKdemodPyramid(const char *Cmd) +{ + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(BitStream); + + //get binary from fsk wave + int idx = PyramiddemodFSK(BitStream, &size); + if (idx < 0){ + if (g_debugMode==1){ + if (idx == -5) + PrintAndLog("DEBUG: Error - not enough samples"); + else if (idx == -1) + PrintAndLog("DEBUG: Error - only noise found"); + else if (idx == -2) + PrintAndLog("DEBUG: Error - problem during FSK demod"); + else if (idx == -3) + PrintAndLog("DEBUG: Error - Size not correct: %d", size); + else if (idx == -4) + PrintAndLog("DEBUG: Error - Pyramid preamble not found"); + else + PrintAndLog("DEBUG: Error - idx: %d",idx); + } + return 0; + } + // Index map + // 0 10 20 30 40 50 60 + // | | | | | | | + // 0123456 7 8901234 5 6789012 3 4567890 1 2345678 9 0123456 7 8901234 5 6789012 3 + // ----------------------------------------------------------------------------- + // 0000000 0 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 + // premable xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o + + // 64 70 80 90 100 110 120 + // | | | | | | | + // 4567890 1 2345678 9 0123456 7 8901234 5 6789012 3 4567890 1 2345678 9 0123456 7 + // ----------------------------------------------------------------------------- + // 0000000 1 0000000 1 0000000 1 0110111 0 0011000 1 0000001 0 0001100 1 1001010 0 + // xxxxxxx o xxxxxxx o xxxxxxx o xswffff o ffffccc o ccccccc o ccccccw o ppppppp o + // |---115---||---------71---------| + // s = format start bit, o = odd parity of last 7 bits + // f = facility code, c = card number + // w = wiegand parity, x = extra space for other formats + // p = unknown checksum + // (26 bit format shown) - //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 - - PrintAndLog("%d%d%d%d%d%d%d%d %d", bits[idx] , bits[idx+1], bits[idx+2], bits[idx+3], bits[idx+4], bits[idx+5], bits[idx+6], bits[idx+7], bits[idx+8]); - PrintAndLog("%d%d%d%d%d%d%d%d %d", bits[idx+9] , bits[idx+10], bits[idx+11], bits[idx+12], bits[idx+13], bits[idx+14], bits[idx+15], bits[idx+16], bits[idx+17]); - PrintAndLog("%d%d%d%d%d%d%d%d %d facility", bits[idx+18], bits[idx+19], bits[idx+20], bits[idx+21], bits[idx+22], bits[idx+23], bits[idx+24], bits[idx+25], bits[idx+26]); - PrintAndLog("%d%d%d%d%d%d%d%d %d version", bits[idx+27], bits[idx+28], bits[idx+29], bits[idx+30], bits[idx+31], bits[idx+32], bits[idx+33], bits[idx+34], bits[idx+35]); - PrintAndLog("%d%d%d%d%d%d%d%d %d code1", bits[idx+36], bits[idx+37], bits[idx+38], bits[idx+39], bits[idx+40], bits[idx+41], bits[idx+42], bits[idx+43], bits[idx+44]); - PrintAndLog("%d%d%d%d%d%d%d%d %d code2", bits[idx+45], bits[idx+46], bits[idx+47], bits[idx+48], bits[idx+49], bits[idx+50], bits[idx+51], bits[idx+52], bits[idx+53]); - PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum", bits[idx+54], bits[idx+55], bits[idx+56], bits[idx+57], bits[idx+58], bits[idx+59], bits[idx+60], bits[idx+61], bits[idx+62], bits[idx+63]); - - uint32_t code = bytebits_to_byte(bits+idx,32); - uint32_t code2 = bytebits_to_byte(bits+idx+32,32); - uint8_t version = bytebits_to_byte(bits+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(bits+idx+18,8) ; - uint16_t number = (bytebits_to_byte(bits+idx+36,8)<<8)|(bytebits_to_byte(bits+idx+45,8)); //36,9 - - PrintAndLog("XSF(%02d)%02x:%05d (%08x%08x)", version, facilitycode, number, code, code2); - SetGraphBuf(bits, bitlen); - return 1; + //get raw ID before removing parities + uint32_t rawLo = bytebits_to_byte(BitStream+idx+96,32); + uint32_t rawHi = bytebits_to_byte(BitStream+idx+64,32); + uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32); + uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32); + setDemodBuf(BitStream,128,idx); + + size = removeParity(BitStream, idx+8, 8, 1, 120); + if (size != 105){ + if (g_debugMode==1) PrintAndLog("DEBUG: Error at parity check-tag size does not match Pyramid format, SIZE: %d, IDX: %d, hi3: %x",size, idx, rawHi3); + return 0; + } + + // ok valid card found! + + // Index map + // 0 10 20 30 40 50 60 70 + // | | | | | | | | + // 01234567890123456789012345678901234567890123456789012345678901234567890 + // ----------------------------------------------------------------------- + // 00000000000000000000000000000000000000000000000000000000000000000000000 + // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + // 71 80 90 100 + // | | | | + // 1 2 34567890 1234567890123456 7 8901234 + // --------------------------------------- + // 1 1 01110011 0000000001000110 0 1001010 + // s w ffffffff cccccccccccccccc w ppppppp + // |--115-| |------71------| + // s = format start bit, o = odd parity of last 7 bits + // f = facility code, c = card number + // w = wiegand parity, x = extra space for other formats + // p = unknown checksum + // (26 bit format shown) + + //find start bit to get fmtLen + int j; + for (j=0; j32){ + //code1 = bytebits_to_byte(BitStream+(size-fmtLen),fmtLen-32); + //code2 = bytebits_to_byte(BitStream+(size-32),32); + PrintAndLog("Pyramid ID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); + } else{ + //code1 = bytebits_to_byte(BitStream+(size-fmtLen),fmtLen); + PrintAndLog("Pyramid ID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); + } + } + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, 128); + printDemodBuff(); + } + return 1; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating @@ -831,6 +1202,214 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating return 0; } +//by marshmellow +//attempt to detect the field clock and bit clock for FSK +int CmdFSKfcDetect(const char *Cmd) +{ + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(BitStream); + + uint16_t ans = countFC(BitStream, size); + if (ans==0) { + if (g_debugMode) PrintAndLog("DEBUG: No data found"); + return 0; + } + uint8_t fc1, fc2; + fc1 = (ans >> 8) & 0xFF; + fc2 = ans & 0xFF; + + uint8_t rf1 = detectFSKClk(BitStream, size, fc1, fc2); + if (rf1==0) { + if (g_debugMode) PrintAndLog("DEBUG: Clock detect error"); + return 0; + } + PrintAndLog("Detected Field Clocks: FC/%d, FC/%d - Bit Clock: RF/%d", fc1, fc2, rf1); + return 1; +} + +//by marshmellow +//attempt to detect the bit clock for PSK or NRZ modulations +int CmdDetectNRZpskClockRate(const char *Cmd) +{ + GetNRZpskClock("",0,0); + return 0; +} + +//by marshmellow +//attempt to psk1 or nrz demod graph buffer +//NOTE CURRENTLY RELIES ON PEAKS :( +int PSKnrzDemod(const char *Cmd, uint8_t verbose) +{ + int invert=0; + int clk=0; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return -1; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + if (g_debugMode==1) PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); + return -1; + } + if (verbose) PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + + //prime demod buffer for output + setDemodBuf(BitStream,BitLen,0); + return errCnt; +} +// Indala 26 bit decode +// by marshmellow +// optional arguments - same as CmdpskNRZrawDemod (clock & invert) +int CmdIndalaDecode(const char *Cmd) +{ + int ans; + if (strlen(Cmd)>0){ + ans = PSKnrzDemod(Cmd, 0); + } else{ //default to RF/32 + ans = PSKnrzDemod("32", 0); + } + + if (ans < 0){ + if (g_debugMode==1) + PrintAndLog("Error1: %d",ans); + return 0; + } + uint8_t invert=0; + ans = indala26decode(DemodBuffer,(size_t *) &DemodBufferLen, &invert); + if (ans < 1) { + if (g_debugMode==1) + PrintAndLog("Error2: %d",ans); + return -1; + } + char showbits[251]={0x00}; + if (invert) + if (g_debugMode==1) + PrintAndLog("Had to invert bits"); + + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + PrintAndLog("BitLen: %d",DemodBufferLen); + if (DemodBufferLen==64){ + for( idx=0; idx<64; idx++) { + uid1=(uid1<<1)|(uid2>>31); + if (DemodBuffer[idx] == 0) { + uid2=(uid2<<1)|0; + showbits[idx]='0'; + } else { + uid2=(uid2<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (DemodBuffer[idx] == 0) { + uid7=(uid7<<1)|0; + showbits[idx]='0'; + } + else { + uid7=(uid7<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } + if (g_debugMode){ + PrintAndLog("DEBUG: printing demodbuffer:"); + printDemodBuff(); + } + return 1; +} + +//by marshmellow +//attempt to clean psk wave noise after a peak +//NOTE RELIES ON PEAKS :( +int CmdPskClean(const char *Cmd) +{ + uint8_t bitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t bitLen = getFromGraphBuf(bitStream); + pskCleanWave(bitStream, bitLen); + setGraphBuf(bitStream, bitLen); + return 0; +} + +// by marshmellow +// takes 2 arguments - clock and invert both as integers +// attempts to demodulate psk only +// prints binary found and saves in demodbuffer for further commands +int CmdpskNRZrawDemod(const char *Cmd) +{ + int errCnt; + + errCnt = PSKnrzDemod(Cmd, 1); + //output + if (errCnt<0){ + if (g_debugMode) PrintAndLog("Error demoding: %d",errCnt); + return 0; + } + if (errCnt>0){ + if (g_debugMode){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + } + }else{ + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + return 1; + } + return 0; +} + +// by marshmellow +// takes same args as cmdpsknrzrawdemod +int CmdPSK2rawDemod(const char *Cmd) +{ + int errCnt=0; + errCnt=PSKnrzDemod(Cmd, 1); + if (errCnt<0){ + if (g_debugMode) PrintAndLog("Error demoding: %d",errCnt); + return 0; + } + psk1TOpsk2(DemodBuffer, DemodBufferLen); + if (errCnt>0){ + if (g_debugMode){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + PrintAndLog("PSK2 demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + } + }else{ + PrintAndLog("PSK2 demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + } + return 1; +} + int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); @@ -847,8 +1426,8 @@ int CmdHexsamples(const char *Cmd) int offset = 0; char string_buf[25]; char* string_ptr = string_buf; - uint8_t got[40000]; - + uint8_t got[BIGBUF_SIZE]; + sscanf(Cmd, "%i %i", &requested, &offset); /* if no args send something */ @@ -856,9 +1435,9 @@ int CmdHexsamples(const char *Cmd) requested = 8; } if (offset + requested > sizeof(got)) { - PrintAndLog("Tried to read past end of buffer, + > 40000"); + PrintAndLog("Tried to read past end of buffer, + > %d", BIGBUF_SIZE); return 0; - } + } GetFromBigBuf(got,requested,offset); WaitForResponse(CMD_ACK,NULL); @@ -878,8 +1457,8 @@ int CmdHexsamples(const char *Cmd) *(string_ptr - 1) = '\0'; PrintAndLog("%s", string_buf); string_buf[0] = '\0'; - } } + } return 0; } @@ -906,19 +1485,19 @@ int CmdHpf(const char *Cmd) int CmdSamples(const char *Cmd) { - uint8_t got[40000] = {0x00}; + uint8_t got[BIGBUF_SIZE] = {0x00}; int n = strtol(Cmd, NULL, 0); - if (n == 0) + if (n == 0) n = 20000; - - if (n > sizeof(got)) + + if (n > sizeof(got)) n = sizeof(got); - + PrintAndLog("Reading %d samples from device memory\n", n); GetFromBigBuf(got,n,0); WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; ++j) { + for (int j = 0; j < n; j++) { GraphBuffer[j] = ((int)got[j]) - 128; } GraphTraceLen = n; @@ -968,29 +1547,30 @@ int CmdTuneSamples(const char *Cmd) 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"); + + PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); + PrintAndLog("\n"); GraphTraceLen = 256; ShowGraphWindow(); return 0; } + int CmdLoad(const char *Cmd) { - char filename[FILE_PATH_SIZE] = {0x00}; - int len = 0; + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; - len = strlen(Cmd); - if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); - FILE *f = fopen(filename, "r"); - if (!f) { + FILE *f = fopen(filename, "r"); + if (!f) { PrintAndLog("couldn't open '%s'", filename); - return 0; - } + return 0; + } GraphTraceLen = 0; char line[80]; @@ -1015,6 +1595,8 @@ int CmdLtrim(const char *Cmd) RepaintGraphWindow(); return 0; } + +// trim graph to input argument length int CmdRtrim(const char *Cmd) { int ds = atoi(Cmd); @@ -1070,13 +1652,20 @@ 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] = {0x00}; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; /* Detect high and lows */ - DetectHighLowInGraph( &high, &low, TRUE); - + for (i = 0; i < GraphTraceLen; i++) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } + /* Get our clock */ - clock = GetClock(Cmd, 0); + clock = GetClock(Cmd, high, 1); + int tolerance = clock/4; /* Detect first transition */ @@ -1094,14 +1683,14 @@ int CmdManchesterDemod(const char *Cmd) break; } } - + /* If we're not working with 1/0s, demod based off clock */ if (high != 1) { bit = 0; /* We assume the 1st bit is zero, it may not be * the case: this routine (I think) has an init problem. * Ed. - */ + */ for (; i < (int)(GraphTraceLen / clock); i++) { hithigh = 0; @@ -1144,30 +1733,30 @@ int CmdManchesterDemod(const char *Cmd) { if (GraphBuffer[i-1] != GraphBuffer[i]) { - lc = i-lastval; - lastval = i; - - // Error check: if bitidx becomes too large, we do not - // have a Manchester encoded bitstream or the clock is really - // wrong! - if (bitidx > (GraphTraceLen*2/clock+8) ) { - PrintAndLog("Error: the clock you gave is probably wrong, aborting."); - return 0; - } - // Then switch depending on lc length: - // Tolerance is 1/4 of clock rate (arbitrary) - if (abs(lc-clock/2) < tolerance) { - // Short pulse : either "1" or "0" - BitStream[bitidx++]=GraphBuffer[i-1]; - } else if (abs(lc-clock) < tolerance) { - // Long pulse: either "11" or "00" - BitStream[bitidx++]=GraphBuffer[i-1]; - BitStream[bitidx++]=GraphBuffer[i-1]; - } else { + lc = i-lastval; + lastval = i; + + // Error check: if bitidx becomes too large, we do not + // have a Manchester encoded bitstream or the clock is really + // wrong! + if (bitidx > (GraphTraceLen*2/clock+8) ) { + PrintAndLog("Error: the clock you gave is probably wrong, aborting."); + return 0; + } + // Then switch depending on lc length: + // Tolerance is 1/4 of clock rate (arbitrary) + if (abs(lc-clock/2) < tolerance) { + // Short pulse : either "1" or "0" + BitStream[bitidx++]=GraphBuffer[i-1]; + } else if (abs(lc-clock) < tolerance) { + // Long pulse: either "11" or "00" + BitStream[bitidx++]=GraphBuffer[i-1]; + BitStream[bitidx++]=GraphBuffer[i-1]; + } else { // Error warnings++; - PrintAndLog("Warning: Manchester decode error for pulse width detection."); - PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); + 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) { @@ -1181,20 +1770,18 @@ int CmdManchesterDemod(const char *Cmd) // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream // Actually, we overwrite BitStream with the new decoded bitstream, we just need to be careful // to stop output at the final bitidx2 value, not bitidx - - //http://www.proxmark.org/forum/viewtopic.php?id=403 - for (i = 1; i < bitidx; i += 2) { + for (i = 0; i < bitidx; i += 2) { if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) { BitStream[bit2idx++] = 1 ^ invert; - } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { - BitStream[bit2idx++] = 0 ^ invert; - } else { - // We cannot end up in this state, this means we are unsynchronized, - // move up 1 bit: - i++; - warnings++; - PrintAndLog("Unsynchronized, resync..."); - PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); + } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { + BitStream[bit2idx++] = 0 ^ invert; + } else { + // We cannot end up in this state, this means we are unsynchronized, + // move up 1 bit: + i++; + warnings++; + PrintAndLog("Unsynchronized, resync..."); + PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); if (warnings > 10) { @@ -1226,27 +1813,28 @@ int CmdManchesterDemod(const char *Cmd) BitStream[i+14], BitStream[i+15]); } - return bit2idx; + return 0; } /* Modulate our data into manchester */ int CmdManchesterMod(const char *Cmd) { int i, j; + int clock; int bit, lastbit, wave; - int clock = GetClock(Cmd, 0); - - int half = (int)(clock/2); - + + /* Get our clock */ + clock = GetClock(Cmd, 0, 1); + wave = 0; lastbit = 1; for (i = 0; i < (int)(GraphTraceLen / clock); i++) { bit = GraphBuffer[i * clock] ^ 1; - for (j = 0; j < half; ++j) + for (j = 0; j < (int)(clock/2); j++) GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave; - for (j = half; j < clock; ++j) + for (j = (int)(clock/2); j < clock; j++) GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1; /* Keep track of how we start our wave and if we changed or not this time */ @@ -1272,8 +1860,9 @@ int CmdNorm(const char *Cmd) if (max != min) { for (i = 0; i < GraphTraceLen; ++i) { - GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 1000 / + GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / (max - min); + //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work } } RepaintGraphWindow(); @@ -1288,12 +1877,12 @@ int CmdPlot(const char *Cmd) int CmdSave(const char *Cmd) { - char filename[FILE_PATH_SIZE] = {0x00}; - int len = 0; + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; - len = strlen(Cmd); - if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); FILE *f = fopen(filename, "w"); @@ -1339,12 +1928,12 @@ int CmdDirectionalThreshold(const char *Cmd) { int8_t upThres = param_get8(Cmd, 0); int8_t downThres = param_get8(Cmd, 1); - + printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres); - + int lastValue = GraphBuffer[0]; GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in. - + for (int i = 1; i < GraphTraceLen; ++i) { // Apply first threshold to samples heading up if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue) @@ -1399,28 +1988,30 @@ int CmdZerocrossings(const char *Cmd) return 0; } -static command_t CommandTable[] = +static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK tags and output binary"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional)"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK tags and output bin (args optional)"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, - {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, + {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] [invert<0|1>] Biphase decode bin stream in demod buffer (offset = 0|1 bits to shift the decode start)"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, - {"detectaskclock",CmdDetectClockRate, 1, "Detect ASK clock rate"}, - {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, - {"em4xdecode", CmdEm410xDecode, 1, "decode em4x from graph buffer"}, + {"detectclock", CmdDetectClockRate, 1, "Detect ASK clock rate"}, {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, - {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, - {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, - {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, + {"fskawiddemod", CmdFSKdemodAWID, 1, "Demodulate graph window as an AWID FSK tag using raw"}, + {"fskfcdetect", CmdFSKfcDetect, 1, "Try to detect the Field Clock of an FSK wave"}, + {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK tag using raw"}, + {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox tag FSK using raw"}, + {"fskpyramiddemod",CmdFSKdemodPyramid,1, "Demodulate graph window as a Pyramid FSK tag using raw"}, + {"fskparadoxdemod",CmdFSKdemodParadox,1, "Demodulate graph window as a Paradox FSK tag using raw"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to bin (clock = 50)(invert = 1|0)(rchigh = 10)(rclow=8)"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, - {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, + {"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"}, @@ -1429,13 +2020,21 @@ static command_t CommandTable[] = {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, - {"norm", CmdNorm, 1, "Normalize max/min to +/-500"}, + {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, + {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, + {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk1 indala tags and output ID binary & hex (args optional)"}, + {"psk1nrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk1 or nrz tags and output binary (args optional)"}, + {"psk2rawdemod", CmdPSK2rawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk2 tags and output binary (args optional)"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, + {"setdebugmode", CmdSetDebugMode, 1, "<0|1> -- Turn on or off Debugging Mode for demods"}, + {"shiftgraphzero",CmdGraphShiftZero, 1, " -- Shift 0 for Graphed wave + or - shift value"}, {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, - {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, + {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, + {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmddata.h b/client/cmddata.h index 59ac43b9..514be3a2 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -14,7 +14,7 @@ command_t * CmdDataCommands(); int CmdData(const char *Cmd); - +void printDemodBuff(); int CmdAmp(const char *Cmd); int Cmdaskdemod(const char *Cmd); int Cmdaskrawdemod(const char *Cmd); @@ -26,10 +26,15 @@ int CmdBitstream(const char *Cmd); int CmdBuffClear(const char *Cmd); int CmdDec(const char *Cmd); int CmdDetectClockRate(const char *Cmd); +int CmdFSKdemodAWID(const char *Cmd); int CmdFSKdemod(const char *Cmd); int CmdFSKdemodHID(const char *Cmd); int CmdFSKdemodIO(const char *Cmd); +int CmdFSKdemodParadox(const char *Cmd); +int CmdFSKdemodPyramid(const char *Cmd); int CmdFSKrawdemod(const char *Cmd); +int CmdDetectNRZpskClockRate(const char *Cmd); +int CmdpskNRZrawDemod(const char *Cmd); int CmdGrid(const char *Cmd); int CmdHexsamples(const char *Cmd); int CmdHide(const char *Cmd); @@ -43,10 +48,18 @@ 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); int CmdDirectionalThreshold(const char *Cmd); int CmdZerocrossings(const char *Cmd); -int CmdTuneSamples(const char *Cmd); +int CmdIndalaDecode(const char *Cmd); + +#define MAX_DEMOD_BUF_LEN (1024*128) +extern uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +extern int DemodBufferLen; + +#define BIGBUF_SIZE 40000 + #endif diff --git a/client/cmdhf.c b/client/cmdhf.c index 6be5a27b..a55c41b2 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -23,8 +23,6 @@ #include "cmdhficlass.h" #include "cmdhfmf.h" #include "cmdhfmfu.h" -#include "cmdhfmfdes.h" -#include "cmdhfdes.h" static int CmdHelp(const char *Cmd); @@ -34,8 +32,6 @@ int CmdHFTune(const char *Cmd) SendCommand(&c); return 0; } -// for the time being. Need better Bigbuf handling. -#define TRACE_SIZE 3000 //The following data is taken from http://www.proxmark.org/forum/viewtopic.php?pid=13501#p13501 /* @@ -126,23 +122,28 @@ NXP/Philips CUSTOM COMMANDS 40 = Long Range CMD (Standard ISO/TR7003:1990) */ -#define ICLASS_CMD_ACTALL 0x0A +#define ICLASS_CMD_ACTALL 0x0A #define ICLASS_CMD_READ_OR_IDENTIFY 0x0C -#define ICLASS_CMD_SELECT 0x81 -#define ICLASS_CMD_PAGESEL 0x84 -#define ICLASS_CMD_READCHECK 0x88 -#define ICLASS_CMD_CHECK 0x05 -#define ICLASS_CMD_SOF 0x0F -#define ICLASS_CMD_HALT 0x00 - -#define ISO14443_CMD_REQA 0x26 -#define ISO14443_CMD_READBLOCK 0x30 -#define ISO14443_CMD_WUPA 0x52 -#define ISO14443_CMD_ANTICOLL_OR_SELECT 0x93 -#define ISO14443_CMD_ANTICOLL_OR_SELECT_2 0x95 -#define ISO14443_CMD_WRITEBLOCK 0xA0 // or 0xA2 ? -#define ISO14443_CMD_HALT 0x50 -#define ISO14443_CMD_RATS 0xE0 +#define ICLASS_CMD_SELECT 0x81 +#define ICLASS_CMD_PAGESEL 0x84 +#define ICLASS_CMD_READCHECK_KD 0x88 +#define ICLASS_CMD_READCHECK_KC 0x18 +#define ICLASS_CMD_CHECK 0x05 +#define ICLASS_CMD_DETECT 0x0F +#define ICLASS_CMD_HALT 0x00 +#define ICLASS_CMD_UPDATE 0x87 +#define ICLASS_CMD_ACT 0x8E +#define ICLASS_CMD_READ4 0x06 + + +#define ISO14443A_CMD_REQA 0x26 +#define ISO14443A_CMD_READBLOCK 0x30 +#define ISO14443A_CMD_WUPA 0x52 +#define ISO14443A_CMD_ANTICOLL_OR_SELECT 0x93 +#define ISO14443A_CMD_ANTICOLL_OR_SELECT_2 0x95 +#define ISO14443A_CMD_WRITEBLOCK 0xA0 // or 0xA2 ? +#define ISO14443A_CMD_HALT 0x50 +#define ISO14443A_CMD_RATS 0xE0 #define MIFARE_AUTH_KEYA 0x60 #define MIFARE_AUTH_KEYB 0x61 @@ -178,17 +179,20 @@ NXP/Philips CUSTOM COMMANDS #define ISO15693_READ_MULTI_SECSTATUS 0x2C +#define ISO_14443A 0 +#define ICLASS 1 +#define ISO_14443B 2 void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { switch(cmd[0]) { - case ISO14443_CMD_WUPA: snprintf(exp,size,"WUPA"); break; - case ISO14443_CMD_ANTICOLL_OR_SELECT:{ + case ISO14443A_CMD_WUPA: snprintf(exp,size,"WUPA"); break; + case ISO14443A_CMD_ANTICOLL_OR_SELECT:{ // 93 20 = Anticollision (usage: 9320 - answer: 4bytes UID+1byte UID-bytes-xor) // 93 70 = Select (usage: 9370+5bytes 9320 answer - answer: 1byte SAK) - if(cmd[2] == 0x70) + if(cmd[1] == 0x70) { snprintf(exp,size,"SELECT_UID"); break; }else @@ -196,7 +200,7 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) snprintf(exp,size,"ANTICOLL"); break; } } - case ISO14443_CMD_ANTICOLL_OR_SELECT_2:{ + case ISO14443A_CMD_ANTICOLL_OR_SELECT_2:{ //95 20 = Anticollision of cascade level2 //95 70 = Select of cascade level2 if(cmd[2] == 0x70) @@ -207,19 +211,19 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) snprintf(exp,size,"ANTICOLL-2"); break; } } - case ISO14443_CMD_REQA: snprintf(exp,size,"REQA"); break; - case ISO14443_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; - case ISO14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; - case ISO14443_CMD_HALT: snprintf(exp,size,"HALT"); break; - case ISO14443_CMD_RATS: snprintf(exp,size,"RATS"); break; + case ISO14443A_CMD_REQA: snprintf(exp,size,"REQA"); break; + case ISO14443A_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; + case ISO14443A_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; + case ISO14443A_CMD_HALT: snprintf(exp,size,"HALT"); break; + case ISO14443A_CMD_RATS: snprintf(exp,size,"RATS"); break; case MIFARE_CMD_INC: snprintf(exp,size,"INC(%d)",cmd[1]); break; case MIFARE_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; case MIFARE_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; case MIFARE_CMD_TRANSFER: snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break; - case MIFARE_AUTH_KEYA: snprintf(exp,size,"AUTH-A"); break; - case MIFARE_AUTH_KEYB: snprintf(exp,size,"AUTH-B"); break; + case MIFARE_AUTH_KEYA: snprintf(exp,size,"AUTH-A(%d)",cmd[1]); break; + case MIFARE_AUTH_KEYB: snprintf(exp,size,"AUTH-B(%d)",cmd[1]); break; case MIFARE_MAGICMODE: snprintf(exp,size,"MAGIC"); break; - default: snprintf(exp,size,"?"); break; + default: snprintf(exp,size,"?"); break; } return; } @@ -238,11 +242,15 @@ void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) break; } case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; - case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; - case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; + case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL(%d)", cmd[1]); break; + case ICLASS_CMD_READCHECK_KC:snprintf(exp,size,"READCHECK[Kc](%d)", cmd[1]); break; + case ICLASS_CMD_READCHECK_KD:snprintf(exp,size,"READCHECK[Kd](%d)", cmd[1]); break; case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; - case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; + case ICLASS_CMD_DETECT: snprintf(exp,size,"DETECT"); break; case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; + case ICLASS_CMD_UPDATE: snprintf(exp,size,"UPDATE(%d)",cmd[1]); break; + case ICLASS_CMD_ACT: snprintf(exp,size,"ACT"); break; + case ICLASS_CMD_READ4: snprintf(exp,size,"READ4(%d)",cmd[1]); break; default: snprintf(exp,size,"?"); break; } return; @@ -275,23 +283,117 @@ void annotateIso15693(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) case ISO15693_LOCK_DSFID :snprintf(exp, size, "LOCK_DSFID");break; case ISO15693_GET_SYSTEM_INFO :snprintf(exp, size, "GET_SYSTEM_INFO");break; case ISO15693_READ_MULTI_SECSTATUS :snprintf(exp, size, "READ_MULTI_SECSTATUS");break; - default: snprintf(exp,size,"?"); break; + default: snprintf(exp,size,"?"); break; + } + } +} +void annotateIso14443b(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) +{ + switch(cmd[0]){ + case ISO14443B_REQB : snprintf(exp,size,"REQB");break; + case ISO14443B_ATTRIB : snprintf(exp,size,"ATTRIB");break; + case ISO14443B_HALT : snprintf(exp,size,"HALT");break; + default: snprintf(exp,size ,"?");break; + } + +} + +/** + * @brief iso14443B_CRC_Ok Checks CRC in command or response + * @param isResponse + * @param data + * @param len + * @return 0 : CRC-command, CRC not ok + * 1 : CRC-command, CRC ok + * 2 : Not crc-command + */ + +uint8_t iso14443B_CRC_check(bool isResponse, uint8_t* data, uint8_t len) +{ + uint8_t b1,b2; + + if(len <= 2) return 2; + + ComputeCrc14443(CRC_14443_B, data, len-2, &b1, &b2); + if(b1 != data[len-2] || b2 != data[len-1]) { + return 0; + } + return 1; +} + +/** + * @brief iclass_CRC_Ok Checks CRC in command or response + * @param isResponse + * @param data + * @param len + * @return 0 : CRC-command, CRC not ok + * 1 : CRC-command, CRC ok + * 2 : Not crc-command + */ +uint8_t iclass_CRC_check(bool isResponse, uint8_t* data, uint8_t len) +{ + if(len < 4) return 2;//CRC commands (and responses) are all at least 4 bytes + + uint8_t b1, b2; + + if(!isResponse)//Commands to tag + { + /** + These commands should have CRC. Total length leftmost + 4 READ + 4 READ4 + 12 UPDATE - unsecured, ends with CRC16 + 14 UPDATE - secured, ends with signature instead + 4 PAGESEL + **/ + if(len == 4 || len == 12)//Covers three of them + { + //Don't include the command byte + ComputeCrc14443(CRC_ICLASS, (data+1), len-3, &b1, &b2); + return b1 == data[len -2] && b2 == data[len-1]; } + return 2; + }else{ + /** + These tag responses should have CRC. Total length leftmost + + 10 READ data[8] crc[2] + 34 READ4 data[32]crc[2] + 10 UPDATE data[8] crc[2] + 10 SELECT csn[8] crc[2] + 10 IDENTIFY asnb[8] crc[2] + 10 PAGESEL block1[8] crc[2] + 10 DETECT csn[8] crc[2] + + These should not + + 4 CHECK chip_response[4] + 8 READCHECK data[8] + 1 ACTALL sof[1] + 1 ACT sof[1] + + In conclusion, without looking at the command; any response + of length 10 or 34 should have CRC + **/ + if(len != 10 && len != 34) return true; + + ComputeCrc14443(CRC_ICLASS, data, len-2, &b1, &b2); + return b1 == data[len -2] && b2 == data[len-1]; } } -uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles) +uint16_t printTraceLine(uint16_t tracepos, uint16_t traceLen, uint8_t *trace, uint8_t protocol, bool showWaitCycles) { bool isResponse; - uint16_t duration, data_len,parity_len; + uint16_t duration, data_len, parity_len; uint32_t timestamp, first_timestamp, EndOfTransmissionTimestamp; char explanation[30] = {0}; + if (tracepos + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) > traceLen) return traceLen; + first_timestamp = *((uint32_t *)(trace)); timestamp = *((uint32_t *)(trace + tracepos)); - // Break and stick with current result if buffer was not completely full - if (timestamp == 0x44444444) return TRACE_SIZE; tracepos += 4; duration = *((uint16_t *)(trace + tracepos)); @@ -307,8 +409,8 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho } parity_len = (data_len-1)/8 + 1; - if (tracepos + data_len + parity_len >= TRACE_SIZE) { - return TRACE_SIZE; + if (tracepos + data_len + parity_len > traceLen) { + return traceLen; } uint8_t *frame = trace + tracepos; @@ -335,47 +437,45 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho } } //--- Draw the CRC column - bool crcError = false; + uint8_t crcStatus = 2; if (data_len > 2) { uint8_t b1, b2; - if(iclass) + if(protocol == 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; - } + crcStatus = iclass_CRC_check(isResponse, frame, data_len); - } else {//Iso 14443a + }else if (protocol == ISO_14443B) + { + crcStatus = iso14443B_CRC_check(isResponse, frame, data_len); + } + else if (protocol == ISO_14443A){//Iso 14443a ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2); if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { if(!(isResponse & (data_len < 6))) { - crcError = true; + crcStatus = 0; } } } } - char *crc = crcError ? "!crc" :" "; + //0 CRC-command, CRC not ok + //1 CRC-command, CRC ok + //2 Not crc-command + char *crc = (crcStatus == 0 ? "!crc" : (crcStatus == 1 ? " ok " : " ")); EndOfTransmissionTimestamp = timestamp + duration; if(!isResponse) { - if(iclass) + if(protocol == ICLASS) annotateIclass(explanation,sizeof(explanation),frame,data_len); - else + else if (protocol == ISO_14443A) annotateIso14443a(explanation,sizeof(explanation),frame,data_len); + else if(protocol == ISO_14443B) + annotateIso14443b(explanation,sizeof(explanation),frame,data_len); } int num_lines = (data_len - 1)/16 + 1; @@ -391,11 +491,13 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho } else { PrintAndLog(" | | | %-64s| %s| %s", line[j], - (j == num_lines-1) ? crc : " ", + (j == num_lines-1)?crc:" ", (j == num_lines-1) ? explanation : ""); } } + if (tracepos + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) > traceLen) return traceLen; + bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; if (showWaitCycles && !isResponse && next_isResponse) { @@ -408,9 +510,11 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho (next_timestamp - EndOfTransmissionTimestamp)); } } + return tracepos; } + int CmdHFList(const char *Cmd) { bool showWaitCycles = false; @@ -418,9 +522,9 @@ int CmdHFList(const char *Cmd) int tlen = param_getstr(Cmd,0,type); char param = param_getchar(Cmd, 1); bool errors = false; - bool iclass = false; + uint8_t protocol = 0; //Validate params - if(tlen == 0 || (strcmp(type, "iclass") != 0 && strcmp(type,"14a") != 0)) + if(tlen == 0) { errors = true; } @@ -428,34 +532,69 @@ int CmdHFList(const char *Cmd) { errors = true; } + if(!errors) + { + if(strcmp(type, "iclass") == 0) + { + protocol = ICLASS; + }else if(strcmp(type, "14a") == 0) + { + protocol = ISO_14443A; + } + else if(strcmp(type, "14b") == 0) + { + protocol = ISO_14443B; + }else if(strcmp(type,"raw")== 0) + { + protocol = -1;//No crc, no annotations + }else{ + errors = true; + } + } if (errors) { PrintAndLog("List protocol data in trace buffer."); - PrintAndLog("Usage: hf list [14a|iclass] [f]"); + PrintAndLog("Usage: hf list [f]"); + PrintAndLog(" f - show frame delay times as well"); + PrintAndLog("Supported values:"); + PrintAndLog(" raw - just show raw data without annotations"); PrintAndLog(" 14a - interpret data as iso14443a communications"); + PrintAndLog(" 14b - interpret data as iso14443b communications"); PrintAndLog(" iclass - interpret data as iclass communications"); - PrintAndLog(" 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]; + uint8_t *trace; uint16_t tracepos = 0; - GetFromBigBuf(trace, TRACE_SIZE, 0); - WaitForResponse(CMD_ACK, NULL); - - PrintAndLog("Recorded Activity"); + trace = malloc(USB_CMD_DATA_SIZE); + + // Query for the size of the trace + UsbCommand response; + GetFromBigBuf(trace, USB_CMD_DATA_SIZE, 0); + WaitForResponse(CMD_ACK, &response); + uint16_t traceLen = response.arg[2]; + if (traceLen > USB_CMD_DATA_SIZE) { + uint8_t *p = realloc(trace, traceLen); + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(trace); + return 2; + } + trace = p; + GetFromBigBuf(trace, traceLen, 0); + WaitForResponse(CMD_ACK, NULL); + } + + PrintAndLog("Recorded Activity (TraceLen = %d bytes)", traceLen); PrintAndLog(""); PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); PrintAndLog("iso14443a - All times are in carrier periods (1/13.56Mhz)"); @@ -464,10 +603,12 @@ int CmdHFList(const char *Cmd) PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC | Annotation |"); PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------|-----|--------------------|"); - while(tracepos < TRACE_SIZE) + while(tracepos < traceLen) { - tracepos = printTraceLine(tracepos, trace, iclass, showWaitCycles); + tracepos = printTraceLine(tracepos, traceLen, trace, protocol, showWaitCycles); } + + free(trace); return 0; } @@ -481,13 +622,11 @@ 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... }"}, {"mfu", CmdHFMFUltra, 1, "{ MIFARE Ultralight RFIDs... }"}, - {"mfdes", CmdHFMFDes, 1, "{ MIFARE Desfire RFIDs... }"}, - {"des", CmdHFDES, 0, "{ MIFARE DESfire}"}, {"tune", CmdHFTune, 0, "Continuously measure HF antenna tuning"}, {"list", CmdHFList, 1, "List protocol data in trace buffer"}, - {NULL, NULL, 0, NULL} + {NULL, NULL, 0, NULL} }; int CmdHF(const char *Cmd) diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 1bda59dd..147e790e 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -14,15 +14,15 @@ #include #include #include "util.h" -#include "../common/iso14443crc.h" +#include "iso14443crc.h" #include "data.h" #include "proxmark3.h" #include "ui.h" #include "cmdparser.h" #include "cmdhf14a.h" -#include "../include/common.h" +#include "common.h" #include "cmdmain.h" -#include "../include/mifare.h" +#include "mifare.h" static int CmdHelp(const char *Cmd); static void waitCmd(uint8_t iLen); @@ -112,20 +112,15 @@ const manufactureName manufactureMapping[] = { // returns description of the best match char* getTagInfo(uint8_t uid) { - int i, best = -1; + int i; int len = sizeof(manufactureMapping) / sizeof(manufactureName); - for ( i = 0; i < len; ++i ) { - if ( uid == manufactureMapping[i].uid) { - if (best == -1) { - best = i; - } - } - } + for ( i = 0; i < len; ++i ) + if ( uid == manufactureMapping[i].uid) + return manufactureMapping[i].desc; - if (best>=0) return manufactureMapping[best].desc; - - return manufactureMapping[i].desc; + //No match, return default + return manufactureMapping[len-1].desc; } int CmdHF14AList(const char *Cmd) @@ -165,7 +160,7 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]); PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen)); PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]); - + // Double & triple sized UID, can be mapped to a manufacturer. // HACK: does this apply for Ultralight cards? if ( card.uidlen > 4 ) { @@ -189,7 +184,7 @@ int CmdHF14AReader(const char *Cmd) case 0x98: PrintAndLog("TYPE : Gemplus MPCOS"); break; default: ; } - + // try to request ATS even if tag claims not to support it if (select_status == 2) { uint8_t rats[] = { 0xE0, 0x80 }; // FSDI=8 (FSD=256), CID=0 @@ -203,7 +198,7 @@ int CmdHF14AReader(const char *Cmd) memcpy(&card.ats, resp.d.asBytes, resp.arg[0]); card.ats_len = resp.arg[0]; // note: ats_len includes CRC Bytes } - + if(card.ats_len >= 3) { // a valid ATS consists of at least the length byte (TL) and 2 CRC bytes bool ta1 = 0, tb1 = 0, tc1 = 0; int pos; @@ -359,7 +354,7 @@ int CmdHF14AReader(const char *Cmd) c.arg[1] = 0; c.arg[2] = 0; SendCommand(&c); - + return select_status; } @@ -417,9 +412,9 @@ int CmdHF14ASim(const char *Cmd) PrintAndLog(" syntax: hf 14a sim "); PrintAndLog(" types: 1 = MIFARE Classic"); PrintAndLog(" 2 = MIFARE Ultralight"); - PrintAndLog(" 3 = MIFARE DESFIRE"); + PrintAndLog(" 3 = MIFARE Desfire"); PrintAndLog(" 4 = ISO/IEC 14443-4"); - PrintAndLog(" 5 = MIFARE TNP3XXX"); + PrintAndLog(" 5 = MIFARE Tnp3xxx"); PrintAndLog(""); return 1; } @@ -485,7 +480,8 @@ int CmdHF14ASim(const char *Cmd) int CmdHF14ASnoop(const char *Cmd) { int param = 0; - if (param_getchar(Cmd, 0) == 'h') { + uint8_t ctmp = param_getchar(Cmd, 0) ; + if (ctmp == 'h' || ctmp == 'H') { PrintAndLog("It get data from the field and saves it into command buffer."); PrintAndLog("Buffer accessible from command hf list 14a."); PrintAndLog("Usage: hf 14a snoop [c][r]"); @@ -496,7 +492,7 @@ int CmdHF14ASnoop(const char *Cmd) { } for (int i = 0; i < 2; i++) { - char ctmp = param_getchar(Cmd, i); + ctmp = param_getchar(Cmd, i); if (ctmp == 'c' || ctmp == 'C') param |= 0x01; if (ctmp == 'r' || ctmp == 'R') param |= 0x02; } @@ -675,7 +671,7 @@ static command_t CommandTable[] = {"list", CmdHF14AList, 0, "[Deprecated] List ISO 14443a history"}, {"reader", CmdHF14AReader, 0, "Act like an ISO14443 Type A reader"}, {"cuids", CmdHF14ACUIDs, 0, " Collect n>0 ISO14443 Type A UIDs in one go"}, - {"sim", CmdHF14ASim, 0, " -- Fake ISO 14443a tag"}, + {"sim", CmdHF14ASim, 0, " -- Simulate ISO 14443a tag"}, {"snoop", CmdHF14ASnoop, 0, "Eavesdrop ISO 14443 Type A"}, {"raw", CmdHF14ACmdRaw, 0, "Send raw hex data to tag"}, {NULL, NULL, 0, NULL} diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index a6cf7d57..cf865875 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -145,11 +145,25 @@ demodError: int CmdHF14BList(const char *Cmd) { - uint8_t got[TRACE_BUFFER_SIZE]; - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); - - PrintAndLog("recorded activity:"); + uint8_t *got = malloc(USB_CMD_DATA_SIZE); + + // Query for the actual size of the trace + UsbCommand response; + GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0); + WaitForResponse(CMD_ACK, &response); + uint16_t traceLen = response.arg[2]; + if (traceLen > USB_CMD_DATA_SIZE) { + uint8_t *p = realloc(got, traceLen); + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(got); + return 2; + } + got = p; + GetFromBigBuf(got, traceLen, 0); + WaitForResponse(CMD_ACK,NULL); + } + PrintAndLog("recorded activity: (TraceLen = %d bytes)", traceLen); PrintAndLog(" time :rssi: who bytes"); PrintAndLog("---------+----+----+-----------"); @@ -158,7 +172,7 @@ int CmdHF14BList(const char *Cmd) for(;;) { - if(i >= TRACE_BUFFER_SIZE) { break; } + if(i >= traceLen) { break; } bool isResponse; int timestamp = *((uint32_t *)(got+i)); @@ -175,7 +189,7 @@ int CmdHF14BList(const char *Cmd) if(len > 100) { break; } - if(i + len >= TRACE_BUFFER_SIZE) { + if(i + len >= traceLen) { break; } @@ -218,6 +232,7 @@ int CmdHF14BList(const char *Cmd) prev = timestamp; i += (len + 9); } + free(got); return 0; } @@ -275,11 +290,11 @@ int CmdHF14BCmdRaw (const char *cmd) { UsbCommand resp; uint8_t *recv; UsbCommand c = {CMD_ISO_14443B_COMMAND, {0, 0, 0}}; // len,recv? - uint8_t reply = 1; - uint8_t crc = 0; - uint8_t power = 0; - char buf[5] = ""; - int i = 0; + uint8_t reply=1; + uint8_t crc=0; + uint8_t power=0; + char buf[5]=""; + int i=0; uint8_t data[100] = {0x00}; unsigned int datalen=0, temp; char *hexout; @@ -301,15 +316,15 @@ int CmdHF14BCmdRaw (const char *cmd) { switch (cmd[i+1]) { case 'r': case 'R': - reply = 0; + reply=0; break; case 'c': case 'C': - crc = 1; + crc=1; break; case 'p': case 'P': - power = 1; + power=1; break; default: PrintAndLog("Invalid option"); @@ -336,13 +351,13 @@ int CmdHF14BCmdRaw (const char *cmd) { PrintAndLog("Invalid char on input"); return 1; } - - if (datalen == 0) { + if (datalen == 0) + { PrintAndLog("Missing data input"); - return 1; + return 0; } - - if(crc) { + if(crc) + { uint8_t first, second; ComputeCrc14443(CRC_14443_B, data, datalen, &first, &second); data[datalen++] = first; diff --git a/client/cmdhf15.c b/client/cmdhf15.c index 769995d6..d6ab2000 100644 --- a/client/cmdhf15.c +++ b/client/cmdhf15.c @@ -34,7 +34,7 @@ #include "util.h" #include "cmdparser.h" #include "cmdhf15.h" -#include "../common/iso15693tools.h" +#include "iso15693tools.h" #include "cmdmain.h" #define FrameSOF Iso15693FrameSOF @@ -45,7 +45,6 @@ #define Crc(data,datalen) Iso15693Crc(data,datalen) #define AddCrc(data,datalen) Iso15693AddCrc(data,datalen) #define sprintUID(target,uid) Iso15693sprintUID(target,uid) -#define TRACE_BUFF_SIZE 12000 // structure and database for uid -> tagtype lookups typedef struct { @@ -237,7 +236,7 @@ static char* getTagInfo(uint8_t *uid) { if (best==-1) { best=i; } else { - if (uidmapping[i].mask > uidmapping[best].mask) { + if (uidmapping[i].mask>uidmapping[best].mask) { best=i; } } @@ -658,9 +657,9 @@ int CmdHF15CmdRaw (const char *cmd) { */ int prepareHF15Cmd(char **cmd, UsbCommand *c, uint8_t iso15cmd[], int iso15cmdlen) { int temp; - uint8_t *req = c->d.asBytes; + uint8_t *req=c->d.asBytes; uint8_t uid[8] = {0x00}; - uint32_t reqlen = 0; + uint32_t reqlen=0; // strip while (**cmd==' ' || **cmd=='\t') (*cmd)++; diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 01ebc021..03b39021 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -20,7 +20,7 @@ #include "ui.h" #include "cmdparser.h" #include "cmdhficlass.h" -#include "../include/common.h" +#include "common.h" #include "util.h" #include "cmdmain.h" #include "loclass/des.h" @@ -34,17 +34,17 @@ static int CmdHelp(const char *Cmd); int xorbits_8(uint8_t val) { - uint8_t res = val ^ (val >> 1); //1st pass - res = res ^ (res >> 1); // 2nd pass - res = res ^ (res >> 2); // 3rd pass - res = res ^ (res >> 4); // 4th pass - return res & 1; + uint8_t res = val ^ (val >> 1); //1st pass + res = res ^ (res >> 1); // 2nd pass + res = res ^ (res >> 2); // 3rd pass + res = res ^ (res >> 4); // 4th pass + return res & 1; } int CmdHFiClassList(const char *Cmd) { PrintAndLog("Deprecated command, use 'hf list iclass' instead"); - return 0; + return 0; } int CmdHFiClassSnoop(const char *Cmd) @@ -104,24 +104,24 @@ int CmdHFiClassSim(const char *Cmd) 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, 8*NUM_CSNS); + 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, 8*NUM_CSNS); SendCommand(&c); if (!WaitForResponseTimeout(CMD_ACK, &resp, -1)) { @@ -130,7 +130,7 @@ int CmdHFiClassSim(const char *Cmd) } uint8_t num_mac_responses = resp.arg[1]; - PrintAndLog("Mac responses: %d MACs obtained (should be %d)", num_mac_responses, NUM_CSNS); + PrintAndLog("Mac responses: %d MACs obtained (should be %d)", num_mac_responses,NUM_CSNS); size_t datalen = NUM_CSNS*24; /* @@ -209,7 +209,7 @@ int CmdHFiClassReader_Replay(const char *Cmd) if (strlen(Cmd)<1) { PrintAndLog("Usage: hf iclass replay "); PrintAndLog(" sample: hf iclass replay 00112233"); - return 0; + return 0; } if (param_gethex(Cmd, 0, MAC, 8)) { @@ -283,57 +283,57 @@ int CmdHFiClassReader_Dump(const char *Cmd) return 0; } - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t * data = resp.d.asBytes; + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; - memcpy(CSN,data,8); - memcpy(CCNR,data+8,8); + memcpy(CSN,data,8); + memcpy(CCNR,data+8,8); - PrintAndLog("isOk:%02x", isOK); + PrintAndLog("isOk:%02x", isOK); - if(isOK > 0) - { - PrintAndLog("CSN: %s",sprint_hex(CSN,8)); - } + if(isOK > 0) + { + PrintAndLog("CSN: %s",sprint_hex(CSN,8)); + } if(isOK <= 1){ PrintAndLog("Failed to obtain CC! Aborting"); return 0; } //Status 2 or higher - if(elite) - { - //Get the key index (hash1) - uint8_t key_index[8] = {0}; - - hash1(CSN, key_index); - printvar("hash1", key_index,8); - for(i = 0; i < 8 ; i++) - key_sel[i] = keytable[key_index[i]] & 0xFF; - PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:"); - printvar("k_sel", key_sel,8); - //Permute from iclass format to standard format - permutekey_rev(key_sel,key_sel_p); - used_key = key_sel_p; - }else{ - used_key = KEY; - } + if(elite) + { + //Get the key index (hash1) + uint8_t key_index[8] = {0}; + + hash1(CSN, key_index); + printvar("hash1", key_index,8); + for(i = 0; i < 8 ; i++) + key_sel[i] = keytable[key_index[i]] & 0xFF; + PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:"); + printvar("k_sel", key_sel,8); + //Permute from iclass format to standard format + permutekey_rev(key_sel,key_sel_p); + used_key = key_sel_p; + }else{ + used_key = KEY; + } - PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:"); - printvar("Used key",used_key,8); - diversifyKey(CSN,used_key, div_key); - PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):"); - printvar("Div key", div_key, 8); - printvar("CC_NR:",CCNR,12); - doMAC(CCNR,12,div_key, MAC); - printvar("MAC", MAC, 4); + PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:"); + printvar("Used key",used_key,8); + diversifyKey(CSN,used_key, div_key); + PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):"); + printvar("Div key", div_key, 8); + printvar("CC_NR:",CCNR,12); + doMAC(CCNR,12,div_key, MAC); + printvar("MAC", MAC, 4); uint8_t iclass_data[32000] = {0}; uint8_t iclass_datalen = 0; uint8_t iclass_blocksFailed = 0;//Set to 1 if dump was incomplete - UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}}; - memcpy(d.d.asBytes, MAC, 4); + UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}}; + memcpy(d.d.asBytes, MAC, 4); clearCommandBuffer(); SendCommand(&d); PrintAndLog("Waiting for device to dump data. Press button on device and key on keyboard to abort..."); @@ -505,16 +505,16 @@ int CmdHFiClass_loclass(const char *Cmd) 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"}, + {"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} + {NULL, NULL, 0, NULL} }; int CmdHFiClass(const char *Cmd) @@ -526,5 +526,5 @@ int CmdHFiClass(const char *Cmd) int CmdHelp(const char *Cmd) { CmdsHelp(CommandTable); - return 0; + return 0; } diff --git a/client/cmdhflegic.c b/client/cmdhflegic.c index 35ba1f28..7ee601b2 100644 --- a/client/cmdhflegic.c +++ b/client/cmdhflegic.c @@ -16,7 +16,7 @@ #include "cmdparser.h" #include "cmdhflegic.h" #include "cmdmain.h" - +#include "util.h" static int CmdHelp(const char *Cmd); static command_t CommandTable[] = diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index cbe94efe..f225359d 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -7,7 +7,7 @@ //----------------------------------------------------------------------------- // High frequency MIFARE commands //----------------------------------------------------------------------------- -#include "../include/mifare.h" + #include "cmdhfmf.h" static int CmdHelp(const char *Cmd); @@ -34,7 +34,7 @@ start: SendCommand(&c); //flush queue - while (ukbhit()) getchar(); + while (ukbhit()) getchar(); // wait cycle while (true) { @@ -71,14 +71,14 @@ start: PrintAndLog("Key not found (lfsr_common_prefix list is null). Nt=%08x", nt); } else { printf("------------------------------------------------------------------\n"); - PrintAndLog("Key found :%012"llx" \n", r_key); + PrintAndLog("Key found:%012"llx" \n", r_key); num_to_bytes(r_key, 6, keyBlock); isOK = mfCheckKeys(0, 0, 1, keyBlock, &r_key); } if (!isOK) - PrintAndLog("Found valid key :%012"llx, r_key); + PrintAndLog("Found valid key:%012"llx, r_key); else { if (isOK != 2) PrintAndLog("Found invalid key. "); @@ -124,10 +124,10 @@ int CmdHF14AMfWrBl(const char *Cmd) PrintAndLog("--block no:%d, key type:%c, key:%s", blockNo, keyType?'B':'A', sprint_hex(key, 6)); PrintAndLog("--data: %s", sprint_hex(bldata, 16)); - UsbCommand c = {CMD_MIFARE_WRITEBL, {blockNo, keyType, 0}}; + UsbCommand c = {CMD_MIFARE_WRITEBL, {blockNo, keyType, 0}}; memcpy(c.d.asBytes, key, 6); memcpy(c.d.asBytes + 10, bldata, 16); - SendCommand(&c); + SendCommand(&c); UsbCommand resp; if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { @@ -168,9 +168,9 @@ int CmdHF14AMfRdBl(const char *Cmd) } PrintAndLog("--block no:%d, key type:%c, key:%s ", blockNo, keyType?'B':'A', sprint_hex(key, 6)); - UsbCommand c = {CMD_MIFARE_READBL, {blockNo, keyType, 0}}; + UsbCommand c = {CMD_MIFARE_READBL, {blockNo, keyType, 0}}; memcpy(c.d.asBytes, key, 6); - SendCommand(&c); + SendCommand(&c); UsbCommand resp; if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { @@ -298,7 +298,7 @@ int CmdHF14AMfDump(const char *Cmd) } if ((fin = fopen("dumpkeys.bin","rb")) == NULL) { - PrintAndLog("Could not find file dumpkeys.bin"); + PrintAndLog("Could not find file dumpkeys.bin"); return 1; } @@ -321,7 +321,7 @@ int CmdHF14AMfDump(const char *Cmd) } fclose(fin); - + PrintAndLog("|-----------------------------------------|"); PrintAndLog("|------ Reading sector access bits...-----|"); PrintAndLog("|-----------------------------------------|"); @@ -374,12 +374,12 @@ int CmdHF14AMfDump(const char *Cmd) received = WaitForResponseTimeout(CMD_ACK,&resp,1500); } else if (rights[sectorNo][data_area] == 0x07) { // no key would work isOK = false; - PrintAndLog("Access rights do not allow reading of sector %2d block %3d", sectorNo, blockNo); + PrintAndLog("Access rights do not allow reading of sector %2d block %3d", sectorNo, blockNo); } else { // key A would work - UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 0, 0}}; - memcpy(c.d.asBytes, keyA[sectorNo], 6); - SendCommand(&c); - received = WaitForResponseTimeout(CMD_ACK,&resp,1500); + UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 0, 0}}; + memcpy(c.d.asBytes, keyA[sectorNo], 6); + SendCommand(&c); + received = WaitForResponseTimeout(CMD_ACK,&resp,1500); } } @@ -426,7 +426,7 @@ int CmdHF14AMfDump(const char *Cmd) fclose(fout); PrintAndLog("Dumped %d blocks (%d bytes) to file dumpdata.bin", numblocks, 16*numblocks); } - + return 0; } @@ -461,7 +461,7 @@ int CmdHF14AMfRestore(const char *Cmd) PrintAndLog(" hf mf restore 4"); return 0; } - + if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) { PrintAndLog("Could not find file dumpkeys.bin"); return 1; @@ -470,6 +470,8 @@ int CmdHF14AMfRestore(const char *Cmd) for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); + + fclose(fkeys); return 2; } } @@ -477,12 +479,13 @@ int CmdHF14AMfRestore(const char *Cmd) for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); + fclose(fkeys); return 2; } } fclose(fkeys); - + if ((fdump = fopen("dumpdata.bin","rb")) == NULL) { PrintAndLog("Could not find file dumpdata.bin"); return 1; @@ -690,13 +693,6 @@ int CmdHF14AMfNested(const char *Cmd) bool calibrate = true; for (i = 0; i < NESTED_SECTOR_RETRY; i++) { for (uint8_t sectorNo = 0; sectorNo < SectorsCnt; sectorNo++) { - - if (ukbhit()) { - printf("\naborted via keyboard!\n"); - free(e_sector); - return 2; - } - for (trgKeyType = 0; trgKeyType < 2; trgKeyType++) { if (e_sector[sectorNo].foundKey[trgKeyType]) continue; PrintAndLog("-----------------------------------------------"); @@ -773,7 +769,7 @@ int CmdHF14AMfNested(const char *Cmd) } fclose(fkeys); } - + free(e_sector); } return 0; @@ -791,8 +787,8 @@ int CmdHF14AMfChk(const char *Cmd) PrintAndLog(" hf mf chk *1 ? t"); PrintAndLog(" hf mf chk *1 ? d"); return 0; - } - + } + FILE * f; char filename[FILE_PATH_SIZE]={0}; char buf[13]; @@ -937,8 +933,8 @@ int CmdHF14AMfChk(const char *Cmd) PrintAndLog("No key specified, trying default keys"); for (;keycnt < defaultKeysSize; keycnt++) PrintAndLog("chk default key[%2d] %02x%02x%02x%02x%02x%02x", keycnt, - (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2], - (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6); + (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2], + (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6); } // initialize storage for found keys @@ -983,13 +979,13 @@ int CmdHF14AMfChk(const char *Cmd) for (uint16_t t = 0; t < 2; t++) { if (validKey[t][sectorNo]) { memcpy(block + t*10, foundKey[t][sectorNo], 6); - } - } + } + } mfEmlSetMem(block, FirstBlockOfSector(sectorNo) + NumBlocksPerSector(sectorNo) - 1, 1); } } PrintAndLog("Found keys have been transferred to the emulator memory"); - } + } if (createDumpFile) { FILE *fkeys = fopen("dumpkeys.bin","wb"); @@ -997,7 +993,7 @@ int CmdHF14AMfChk(const char *Cmd) PrintAndLog("Could not create file dumpkeys.bin"); free(keyBlock); return 1; - } + } for (uint16_t t = 0; t < 2; t++) { fwrite(foundKey[t], 1, 6*SectorsCnt, fkeys); } @@ -1007,7 +1003,7 @@ int CmdHF14AMfChk(const char *Cmd) free(keyBlock); PrintAndLog(""); - return 0; + return 0; } int CmdHF14AMf1kSim(const char *Cmd) @@ -1016,12 +1012,16 @@ int CmdHF14AMf1kSim(const char *Cmd) uint8_t exitAfterNReads = 0; uint8_t flags = 0; - if (param_getchar(Cmd, 0) == 'h') { + uint8_t cmdp = param_getchar(Cmd, 0); + + if (cmdp == 'h' || cmdp == 'H') { PrintAndLog("Usage: hf mf sim u n i x"); + PrintAndLog(" h this help"); PrintAndLog(" u (Optional) UID. If not specified, the UID from emulator memory will be used"); PrintAndLog(" n (Optional) Automatically exit simulation after blocks have been read by reader. 0 = infinite"); PrintAndLog(" i (Optional) Interactive, means that console will not be returned until simulation finishes or is aborted"); PrintAndLog(" x (Optional) Crack, performs the 'reader attack', nr/ar attack against a legitimate reader, fishes out the key(s)"); + PrintAndLog(""); PrintAndLog(" sample: hf mf sim u 0a0a0a0a "); return 0; } @@ -1102,7 +1102,7 @@ int CmdHF14AMfDbg(const char *Cmd) int CmdHF14AMfEGet(const char *Cmd) { uint8_t blockNo = 0; - uint8_t data[16]; + uint8_t data[16] = {0x00}; if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf eget "); @@ -1169,14 +1169,11 @@ int CmdHF14AMfELoad(const char *Cmd) FILE * f; char filename[FILE_PATH_SIZE]; char *fnameptr = filename; - char buf[64]; - uint8_t buf8[64]; + char buf[64] = {0x00}; + uint8_t buf8[64] = {0x00}; int i, len, blockNum, numBlocks; int nameParamNo = 1; - memset(filename, 0, sizeof(filename)); - memset(buf, 0, sizeof(buf)); - char ctmp = param_getchar(Cmd, 0); if ( ctmp == 'h' || ctmp == 0x00) { @@ -1246,11 +1243,13 @@ int CmdHF14AMfELoad(const char *Cmd) fclose(f); return 3; } + printf("."); blockNum++; if (blockNum >= numBlocks) break; } fclose(f); + printf("\n"); if ((blockNum != numBlocks)) { PrintAndLog("File content error. Got %d must be %d blocks.",blockNum, numBlocks); @@ -1276,7 +1275,7 @@ int CmdHF14AMfESave(const char *Cmd) char ctmp = param_getchar(Cmd, 0); if ( ctmp == 'h' || ctmp == 'H') { - PrintAndLog("It saves emul dump into the file `filename.eml` or `cardID.eml`"); + PrintAndLog("It saves emul dump into the file `filename.eml` or `cardID.eml`"); PrintAndLog(" Usage: hf mf esave [card memory] [file name w/o `.eml`]"); PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); PrintAndLog(""); @@ -1285,7 +1284,7 @@ int CmdHF14AMfESave(const char *Cmd) PrintAndLog(" hf mf esave 4 filename"); return 0; } - + switch (ctmp) { case '0' : numBlocks = 5*4; break; case '1' : @@ -1320,7 +1319,7 @@ int CmdHF14AMfESave(const char *Cmd) // open file f = fopen(filename, "w+"); - + if ( !f ) { PrintAndLog("Can't open file %s ", filename); return 1; @@ -1452,13 +1451,13 @@ int CmdHF14AMfCSetUID(const char *Cmd) char ctmp = param_getchar(Cmd, 1); if (ctmp == 'w' || ctmp == 'W') wipeCard = 1; - PrintAndLog("--wipe card:%02x uid:%s", wipeCard, sprint_hex(uid, 4)); + PrintAndLog("--wipe card:%s uid:%s", (wipeCard)?"YES":"NO", sprint_hex(uid, 4)); res = mfCSetUID(uid, oldUid, wipeCard); if (res) { - PrintAndLog("Can't set UID. error=%d", res); - return 1; - } + PrintAndLog("Can't set UID. error=%d", res); + return 1; + } PrintAndLog("old UID:%s", sprint_hex(oldUid, 4)); PrintAndLog("new UID:%s", sprint_hex(uid, 4)); @@ -1467,11 +1466,10 @@ int CmdHF14AMfCSetUID(const char *Cmd) int CmdHF14AMfCSetBlk(const char *Cmd) { - uint8_t uid[8]; - uint8_t memBlock[16]; + uint8_t uid[8] = {0x00}; + uint8_t memBlock[16] = {0x00}; uint8_t blockNo = 0; int res; - memset(memBlock, 0x00, sizeof(memBlock)); if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf csetblk "); @@ -1496,7 +1494,6 @@ int CmdHF14AMfCSetBlk(const char *Cmd) return 1; } - PrintAndLog("UID:%s", sprint_hex(uid, 4)); return 0; } @@ -1511,11 +1508,8 @@ int CmdHF14AMfCLoad(const char *Cmd) uint8_t fillFromEmulator = 0; int i, len, blockNum, flags; - // memset(filename, 0, sizeof(filename)); - // memset(buf, 0, sizeof(buf)); - if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) { - PrintAndLog("It loads magic Chinese card (only works with!!!) from the file `filename.eml`"); + PrintAndLog("It loads magic Chinese card from the file `filename.eml`"); PrintAndLog("or from emulator memory (option `e`)"); PrintAndLog("Usage: hf mf cload "); PrintAndLog(" or: hf mf cload e "); @@ -1562,7 +1556,9 @@ int CmdHF14AMfCLoad(const char *Cmd) blockNum = 0; flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC; while(!feof(f)){ + memset(buf, 0, sizeof(buf)); + if (fgets(buf, sizeof(buf), f) == NULL) { PrintAndLog("File reading error."); return 2; @@ -1597,6 +1593,7 @@ int CmdHF14AMfCLoad(const char *Cmd) PrintAndLog("Loaded from file: %s", filename); return 0; } + return 0; } int CmdHF14AMfCGetBlk(const char *Cmd) { @@ -1628,10 +1625,9 @@ int CmdHF14AMfCGetBlk(const char *Cmd) { int CmdHF14AMfCGetSc(const char *Cmd) { - uint8_t memBlock[16]; + uint8_t memBlock[16] = {0x00}; uint8_t sectorNo = 0; int i, res, flags; - memset(memBlock, 0x00, sizeof(memBlock)); if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf cgetsc "); @@ -1729,7 +1725,7 @@ int CmdHF14AMfCSave(const char *Cmd) { // open file f = fopen(filename, "w+"); - + if (f == NULL) { PrintAndLog("File not found or locked."); return 1; @@ -1769,18 +1765,19 @@ int CmdHF14AMfSniff(const char *Cmd){ int res = 0; int len = 0; int blockLen = 0; - int num = 0; int pckNum = 0; + int num = 0; uint8_t uid[7]; uint8_t uid_len; - uint8_t atqa[2]; + uint8_t atqa[2] = {0x00}; uint8_t sak; bool isTag; - uint8_t buf[3000]; - uint8_t * bufPtr = buf; - memset(buf, 0x00, 3000); + uint8_t *buf = NULL; + uint16_t bufsize = 0; + uint8_t *bufPtr = NULL; - if (param_getchar(Cmd, 0) == 'h') { + char ctmp = param_getchar(Cmd, 0); + if ( ctmp == 'h' || ctmp == 'H' ) { PrintAndLog("It continuously gets data from the field and saves it to: log, emulator, emulator file."); PrintAndLog("You can specify:"); PrintAndLog(" l - save encrypted sequence to logfile `uid.log`"); @@ -1793,7 +1790,7 @@ int CmdHF14AMfSniff(const char *Cmd){ } for (int i = 0; i < 4; i++) { - char ctmp = param_getchar(Cmd, i); + ctmp = param_getchar(Cmd, i); if (ctmp == 'l' || ctmp == 'L') wantLogToFile = true; if (ctmp == 'd' || ctmp == 'D') wantDecrypt = true; //if (ctmp == 'e' || ctmp == 'E') wantSaveToEml = true; TODO @@ -1820,32 +1817,47 @@ int CmdHF14AMfSniff(const char *Cmd){ break; } - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,2000)) { + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,2000)) { res = resp.arg[0] & 0xff; - len = resp.arg[1]; - num = resp.arg[2]; - - if (res == 0) return 0; - if (res == 1) { - if (num ==0) { + uint16_t traceLen = resp.arg[1]; + len = resp.arg[2]; + + if (res == 0) return 0; // we are done + + if (res == 1) { // there is (more) data to be transferred + if (pckNum == 0) { // first packet, (re)allocate necessary buffer + if (traceLen > bufsize) { + uint8_t *p; + if (buf == NULL) { // not yet allocated + p = malloc(traceLen); + } else { // need more memory + p = realloc(buf, traceLen); + } + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(buf); + return 2; + } + buf = p; + } bufPtr = buf; - memset(buf, 0x00, 3000); + bufsize = traceLen; + memset(buf, 0x00, traceLen); } memcpy(bufPtr, resp.d.asBytes, len); bufPtr += len; pckNum++; } - if (res == 2) { + + if (res == 2) { // received all data, start displaying blockLen = bufPtr - buf; bufPtr = buf; printf(">\n"); PrintAndLog("received trace len: %d packages: %d", blockLen, pckNum); - num = 0; while (bufPtr - buf < blockLen) { - bufPtr += 6; + bufPtr += 6; // skip (void) timing information len = *((uint16_t *)bufPtr); - if(len & 0x8000) { isTag = true; len &= 0x7fff; @@ -1854,12 +1866,10 @@ int CmdHF14AMfSniff(const char *Cmd){ } bufPtr += 2; if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff) && (bufPtr[12] == 0xff) && (bufPtr[13] == 0xff)) { - memcpy(uid, bufPtr + 2, 7); memcpy(atqa, bufPtr + 2 + 7, 2); uid_len = (atqa[0] & 0xC0) == 0x40 ? 7 : 4; sak = bufPtr[11]; - PrintAndLog("tag select uid:%s atqa:0x%02x%02x sak:0x%02x", sprint_hex(uid + (7 - uid_len), uid_len), atqa[1], @@ -1877,109 +1887,20 @@ int CmdHF14AMfSniff(const char *Cmd){ AddLogHex(logHexFileName, isTag ? "TAG: ":"RDR: ", bufPtr, len); if (wantDecrypt) mfTraceDecode(bufPtr, len, wantSaveToEmlFile); + num++; } bufPtr += len; - bufPtr += ((len-1)/8+1); // ignore parity - num++; + bufPtr += ((len-1)/8+1); // ignore parity } + pckNum = 0; } } // resp not NULL } // while (true) - + + free(buf); return 0; } -// Tries to identify cardsize. -// Returns where num is: -// -1 unidentified -// 0 - MINI (320bytes) -// 1 - 1K -// 2 - 2K -// 4 - 4K -int GetCardSize() -{ - UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_CONNECT, 0, 0}}; - SendCommand(&c); - - UsbCommand resp; - WaitForResponse(CMD_ACK,&resp); - - if(resp.arg[0] == 0) { - PrintAndLog("iso14443a card select failed"); - return -1; - } - - iso14a_card_select_t *card = (iso14a_card_select_t *)resp.d.asBytes; - - PrintAndLog("Trying to detect card size."); - - uint16_t atqa = 0; - uint8_t sak = 0; - atqa = (card->atqa[1] & 0xff) << 8; - atqa += card->atqa[0] & 0xff; - sak = card->sak; - - // https://code.google.com/p/libnfc/source/browse/libnfc/target-subr.c - - PrintAndLog("found ATAQ: %04X SAK: %02X", atqa, sak); - - - // NXP MIFARE Mini 0.3k - if ( ( (atqa & 0xff0f) == 0x0004) && (sak == 0x09) ) return 0; - - // MIFARE Classic 1K - if ( ((atqa & 0xff0f) == 0x0004) && (sak == 0x08) ) return 1; - - // MIFARE Classik 4K - if ( ((atqa & 0xff0f) == 0x0002) && (sak == 0x18) ) return 4; - - // SmartMX with MIFARE 1K emulation - if ( ((atqa & 0xf0ff) == 0x0004) ) return 1; - - // SmartMX with MIFARE 4K emulation - if ( ((atqa & 0xf0ff) == 0x0002) ) return 4; - - // Infineon MIFARE CLASSIC 1K - if ( ((atqa & 0xffff) == 0x0004) && (sak == 0x88) ) return 1; - - // MFC 4K emulated by Nokia 6212 Classic - if ( ((atqa & 0xffff) == 0x0002) && (sak == 0x38) ) return 4; - - // MFC 4K emulated by Nokia 6131 NFC - if ( ((atqa & 0xffff) == 0x0008) && (sak == 0x38) ) return 4; - - - //PrintAndLog("BEFOOO 1K %02X", (atqa & 0xff0f)); - - // MIFARE Plus (4 Byte UID or 4 Byte RID) - // MIFARE Plus (7 Byte UID) - if ( - ((atqa & 0xffff) == 0x0002) | - ((atqa & 0xffff) == 0x0004) | - ((atqa & 0xffff) == 0x0042) | - ((atqa & 0xffff) == 0x0044) - ) - { - switch(sak){ - case 0x08: - case 0x10: { - //case 0x20: - PrintAndLog("2"); - return 2; - break; - } - case 0x11: - case 0x18:{ - //case 0x20: - PrintAndLog("4"); - return 4; - break; - } - } - } - - return -1; -} static command_t CommandTable[] = { diff --git a/client/cmdhfmfu.c b/client/cmdhfmfu.c index 8bd6ec87..8dfb9a3b 100644 --- a/client/cmdhfmfu.c +++ b/client/cmdhfmfu.c @@ -7,7 +7,8 @@ //----------------------------------------------------------------------------- // High frequency MIFARE ULTRALIGHT (C) commands //----------------------------------------------------------------------------- -#include +//#include +#include "loclass/des.h" #include "cmdhfmfu.h" #include "cmdhfmf.h" #include "cmdhf14a.h" @@ -16,29 +17,25 @@ #define MAX_ULTRA_BLOCKS 0x0f #define MAX_ULTRAC_BLOCKS 0x2f //#define MAX_ULTRAC_BLOCKS 0x2c -uint8_t key1_blnk_data[16] = { 0x00 }; -uint8_t key2_defa_data[16] = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }; -uint8_t key3_3des_data[16] = { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 }; -uint8_t key4_nfc_data[16] = { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 }; -uint8_t key5_ones_data[16] = { 0x01 }; + static int CmdHelp(const char *Cmd); int CmdHF14AMfUInfo(const char *Cmd){ - uint8_t datatemp[7] = {0x00}; - uint8_t isOK = 0; - uint8_t *data = NULL; + uint8_t datatemp[7] = {0x00}; + uint8_t isOK = 0; + uint8_t *data = NULL; - UsbCommand c = {CMD_MIFAREU_READCARD, {0, 4}}; - SendCommand(&c); - UsbCommand resp; + UsbCommand c = {CMD_MIFAREU_READCARD, {0, 4}}; + SendCommand(&c); + UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { - isOK = resp.arg[0] & 0xff; - data = resp.d.asBytes; + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + isOK = resp.arg[0] & 0xff; + data = resp.d.asBytes; - if (!isOK) { + if (!isOK) { PrintAndLog("Error reading from tag"); return -1; } @@ -89,40 +86,40 @@ int CmdHF14AMfUInfo(const char *Cmd){ // Mifare Ultralight Write Single Block // int CmdHF14AMfUWrBl(const char *Cmd){ - uint8_t blockNo = -1; - bool chinese_card = FALSE; - uint8_t bldata[16] = {0x00}; - UsbCommand resp; + uint8_t blockNo = -1; + bool chinese_card = FALSE; + uint8_t bldata[16] = {0x00}; + UsbCommand resp; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu wrbl [w]"); + PrintAndLog("Usage: hf mfu wrbl [w]"); PrintAndLog(" [block number]"); PrintAndLog(" [block data] - (8 hex symbols)"); PrintAndLog(" [w] - Chinese magic ultralight tag"); PrintAndLog(""); - PrintAndLog(" sample: hf mfu wrbl 0 01020304"); + PrintAndLog(" sample: hf mfu wrbl 0 01020304"); PrintAndLog(""); - return 0; - } - + return 0; + } + blockNo = param_get8(Cmd, 0); - if (blockNo > MAX_ULTRA_BLOCKS){ - PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); - return 1; - } + if (blockNo > MAX_ULTRA_BLOCKS){ + PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); + return 1; + } - if (param_gethex(Cmd, 1, bldata, 8)) { - PrintAndLog("Block data must include 8 HEX symbols"); - return 1; - } + if (param_gethex(Cmd, 1, bldata, 8)) { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } - if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { - chinese_card = TRUE; - } + if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { + chinese_card = TRUE; + } - if ( blockNo <= 3) { + if ( blockNo <= 3) { if (!chinese_card){ PrintAndLog("Access Denied"); } else { @@ -139,19 +136,19 @@ int CmdHF14AMfUWrBl(const char *Cmd){ } } } else { - PrintAndLog("--block no:%02x", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; + PrintAndLog("--block no:%02x", blockNo); + PrintAndLog("--data: %s", sprint_hex(bldata, 4)); + UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(e.d.asBytes,bldata, 4); SendCommand(&e); - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - } - return 0; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + } + return 0; } // @@ -159,40 +156,40 @@ int CmdHF14AMfUWrBl(const char *Cmd){ // int CmdHF14AMfURdBl(const char *Cmd){ - uint8_t blockNo = -1; + uint8_t blockNo = -1; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu rdbl "); - PrintAndLog(" sample: hfu mfu rdbl 0"); - return 0; - } - - blockNo = param_get8(Cmd, 0); - - if (blockNo > MAX_ULTRA_BLOCKS){ - PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); - return 1; - } - - PrintAndLog("--block no:0x%02X (%d)", (int)blockNo, blockNo); - UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; - SendCommand(&c); - - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t * data = resp.d.asBytes; + PrintAndLog("Usage: hf mfu rdbl "); + PrintAndLog(" sample: hfu mfu rdbl 0"); + return 0; + } + + blockNo = param_get8(Cmd, 0); + + if (blockNo > MAX_ULTRA_BLOCKS){ + PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); + return 1; + } + + PrintAndLog("--block no:0x%02X (%d)", (int)blockNo, blockNo); + UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&c); + + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; PrintAndLog("isOk: %02x", isOK); - if (isOK) - PrintAndLog("Data: %s", sprint_hex(data, 4)); + if (isOK) + PrintAndLog("Data: %s", sprint_hex(data, 4)); } else { - PrintAndLog("Command execute timeout"); - } - return 0; + PrintAndLog("Command execute timeout"); + } + return 0; } // @@ -200,28 +197,28 @@ int CmdHF14AMfURdBl(const char *Cmd){ // int CmdHF14AMfUDump(const char *Cmd){ - FILE *fout; + FILE *fout; char filename[FILE_PATH_SIZE] = {0x00}; char * fnameptr = filename; - uint8_t *lockbytes_t = NULL; - uint8_t lockbytes[2] = {0x00}; + uint8_t *lockbytes_t = NULL; + uint8_t lockbytes[2] = {0x00}; - uint8_t *lockbytes_t2 = NULL; - uint8_t lockbytes2[2] = {0x00}; + uint8_t *lockbytes_t2 = NULL; + uint8_t lockbytes2[2] = {0x00}; - bool bit[16] = {0x00}; + bool bit[16] = {0x00}; bool bit2[16] = {0x00}; - int i; - uint8_t BlockNo = 0; - int Pages = 16; + int i; + uint8_t BlockNo = 0; + int Pages = 16; bool tmplockbit = false; - uint8_t isOK = 0; - uint8_t *data = NULL; + uint8_t isOK = 0; + uint8_t *data = NULL; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (cmdp == 'h' || cmdp == 'H') { PrintAndLog("Reads all pages from Mifare Ultralight or Ultralight-C tag."); @@ -238,14 +235,14 @@ int CmdHF14AMfUDump(const char *Cmd){ Pages = (cmdp == 'c' || cmdp == 'C') ? 44 : 16; PrintAndLog("Dumping Ultralight%s Card Data...", (Pages ==16)?"":"-C"); - - UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}}; - SendCommand(&c); - UsbCommand resp; + + UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}}; + SendCommand(&c); + UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { isOK = resp.arg[0] & 0xff; - if (!isOK) { + if (!isOK) { PrintAndLog("Command error"); return 0; } @@ -282,7 +279,7 @@ int CmdHF14AMfUDump(const char *Cmd){ PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4)); continue; } - + switch(i){ case 3: tmplockbit = bit[4]; break; case 4: tmplockbit = bit[3]; break; @@ -336,33 +333,19 @@ int CmdHF14AMfUDump(const char *Cmd){ else len = param_getstr(Cmd,1,filename); - if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + if (len > FILE_PATH_SIZE-5) len = FILE_PATH_SIZE-5; // user supplied filename? if (len < 1) { // UID = data 0-1-2 4-5-6-7 (skips a beat) - sprintf(fnameptr, "%02X", data[0]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[1]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[2]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[4]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[5]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[6]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[7]); - fnameptr += 2; + sprintf(fnameptr,"%02X%02X%02X%02X%02X%02X%02X.bin", + data[0],data[1], data[2], data[4],data[5],data[6], data[7]); } else { - fnameptr += len; + sprintf(fnameptr + len," .bin"); } - // add file extension - sprintf(fnameptr, ".bin"); if ((fout = fopen(filename,"wb")) == NULL) { PrintAndLog("Could not create file name %s", filename); @@ -372,16 +355,16 @@ int CmdHF14AMfUDump(const char *Cmd){ fclose(fout); PrintAndLog("Dumped %d pages, wrote %d bytes to %s", Pages, Pages*4, filename); - return 0; + return 0; } // Needed to Authenticate to Ultralight C tags void rol (uint8_t *data, const size_t len){ - uint8_t first = data[0]; - for (size_t i = 0; i < len-1; i++) { - data[i] = data[i+1]; - } - data[len-1] = first; + uint8_t first = data[0]; + for (size_t i = 0; i < len-1; i++) { + data[i] = data[i+1]; + } + data[len-1] = first; } //------------------------------------------------------------------------------- @@ -392,64 +375,51 @@ void rol (uint8_t *data, const size_t len){ // Ultralight C Authentication Demo {currently uses hard-coded key} // int CmdHF14AMfucAuth(const char *Cmd){ - - uint8_t blockNo = 0, keyNo = 0; - uint8_t e_RndB[8] = {0x00}; - uint32_t cuid = 0; - unsigned char RndARndB[16] = {0x00}; - uint8_t key[16] = {0x00}; - DES_cblock RndA, RndB; - DES_cblock iv; - DES_key_schedule ks1,ks2; - DES_cblock key1,key2; + + uint8_t default_keys[5][16] = { + { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 },// 3des std key + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },// all zeroes + { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f },// 0x00-0x0F + { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 },// NFC-key + { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 } // all ones + }; char cmdp = param_getchar(Cmd, 0); - // - memset(iv, 0, 8); - - if (cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu cauth k "); - PrintAndLog(" 1 = all zeros key"); - PrintAndLog(" 2 = 0x00-0x0F key"); - PrintAndLog(" 3 = nfc key"); - PrintAndLog(" 4 = all ones key"); - PrintAndLog(" defaults to 3DES standard key"); - PrintAndLog(" sample : hf mfu cauth k"); + + uint8_t keyNo = 0; + bool errors = false; + //Change key to user defined one + if (cmdp == 'k' || cmdp == 'K'){ + keyNo = param_get8(Cmd, 1); + if(keyNo >= 4) errors = true; + } + + if (cmdp == 'h' || cmdp == 'H') { + errors = true; + } + + if (errors) { + PrintAndLog("Usage: hf mfu cauth k "); + PrintAndLog(" 0 (default): 3DES standard key"); + PrintAndLog(" 1 : all zeros key"); + PrintAndLog(" 2 : 0x00-0x0F key"); + PrintAndLog(" 3 : nfc key"); + PrintAndLog(" 4 : all ones key"); + PrintAndLog(" sample : hf mfu cauth k"); PrintAndLog(" : hf mfu cauth k 3"); - return 0; - } - - //Change key to user defined one - if (cmdp == 'k' || cmdp == 'K'){ + return 0; + } + + uint8_t random_a[8] = { 1,1,1,1,1,1,1,1 }; + //uint8_t enc_random_a[8] = { 0 }; + uint8_t random_b[8] = { 0 }; + uint8_t enc_random_b[8] = { 0 }; + uint8_t random_a_and_b[16] = { 0 }; + des3_context ctx = { 0 }; + uint8_t *key = default_keys[keyNo]; + uint8_t blockNo = 0; + uint32_t cuid = 0; - keyNo = param_get8(Cmd, 1); - - switch(keyNo){ - case 0: - memcpy(key,key1_blnk_data,16); - break; - case 1: - memcpy(key,key2_defa_data,16); - break; - case 2: - memcpy(key,key4_nfc_data,16); - break; - case 3: - memcpy(key,key5_ones_data,16); - break; - default: - memcpy(key,key3_3des_data,16); - break; - } - } else { - memcpy(key,key3_3des_data,16); - } - - memcpy(key1,key,8); - memcpy(key2,key+8,8); - DES_set_key((DES_cblock *)key1,&ks1); - DES_set_key((DES_cblock *)key2,&ks2); - //Auth1 UsbCommand c = {CMD_MIFAREUC_AUTH1, {blockNo}}; SendCommand(&c); @@ -461,31 +431,57 @@ int CmdHF14AMfucAuth(const char *Cmd){ if (isOK){ PrintAndLog("enc(RndB):%s", sprint_hex(data+1, 8)); - memcpy(e_RndB,data+1,8); + memcpy(enc_random_b,data+1,8); } else { + PrintAndLog("Auth failed"); return 2; // auth failed. } } else { PrintAndLog("Command execute timeout"); return 1; } - - //Do crypto magic - DES_random_key(&RndA); - DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0); - PrintAndLog(" RndB:%s",sprint_hex(RndB, 8)); - PrintAndLog(" RndA:%s",sprint_hex(RndA, 8)); - rol(RndB,8); - memcpy(RndARndB,RndA,8); - memcpy(RndARndB+8,RndB,8); - PrintAndLog(" RA+B:%s",sprint_hex(RndARndB, 16)); - DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1); - PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16)); - - //Auth2 - UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}}; - memcpy(d.d.asBytes,RndARndB, 16); - SendCommand(&d); + + uint8_t iv[8] = { 0 }; + // Do we need random ? Right now we use all ones, is that random enough ? +// DES_random_key(&RndA); + + PrintAndLog(" RndA :%s",sprint_hex(random_a, 8)); + PrintAndLog(" e_RndB:%s",sprint_hex(enc_random_b, 8)); + + des3_set2key_dec(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_DECRYPT // int mode + , sizeof(random_b) // size_t length + , iv // unsigned char iv[8] + , enc_random_b // const unsigned char *input + , random_b // unsigned char *output + ); + + PrintAndLog(" RndB:%s",sprint_hex(random_b, 8)); + + rol(random_b,8); + memcpy(random_a_and_b ,random_a,8); + memcpy(random_a_and_b+8,random_b,8); + + PrintAndLog(" RA+B:%s",sprint_hex(random_a_and_b, 16)); + + des3_set2key_enc(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_ENCRYPT // int mode + , sizeof(random_a_and_b) // size_t length + , enc_random_b // unsigned char iv[8] + , random_a_and_b // const unsigned char *input + , random_a_and_b // unsigned char *output + ); + + PrintAndLog("enc(RA+B):%s",sprint_hex(random_a_and_b, 16)); + + //Auth2 + UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}}; + memcpy(d.d.asBytes,random_a_and_b, 16); + SendCommand(&d); UsbCommand respb; if (WaitForResponseTimeout(CMD_ACK,&respb,1500)) { @@ -502,91 +498,186 @@ int CmdHF14AMfucAuth(const char *Cmd){ PrintAndLog("Command execute timeout"); return 1; } - return 0; + return 0; } +/** +A test function to validate that the polarssl-function works the same +was as the openssl-implementation. +Commented out, since it requires openssl + +int CmdTestDES(const char * cmd) +{ + uint8_t key[16] = {0x00}; + + memcpy(key,key3_3des_data,16); + DES_cblock RndA, RndB; + + PrintAndLog("----------OpenSSL DES implementation----------"); + { + uint8_t e_RndB[8] = {0x00}; + unsigned char RndARndB[16] = {0x00}; + + DES_cblock iv = { 0 }; + DES_key_schedule ks1,ks2; + DES_cblock key1,key2; + + memcpy(key,key3_3des_data,16); + memcpy(key1,key,8); + memcpy(key2,key+8,8); + + + DES_set_key((DES_cblock *)key1,&ks1); + DES_set_key((DES_cblock *)key2,&ks2); + + DES_random_key(&RndA); + PrintAndLog(" RndA:%s",sprint_hex(RndA, 8)); + PrintAndLog(" e_RndB:%s",sprint_hex(e_RndB, 8)); + //void DES_ede2_cbc_encrypt(const unsigned char *input, + // unsigned char *output, long length, DES_key_schedule *ks1, + // DES_key_schedule *ks2, DES_cblock *ivec, int enc); + DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0); + + PrintAndLog(" RndB:%s",sprint_hex(RndB, 8)); + rol(RndB,8); + memcpy(RndARndB,RndA,8); + memcpy(RndARndB+8,RndB,8); + PrintAndLog(" RA+B:%s",sprint_hex(RndARndB, 16)); + DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1); + PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16)); + + } + PrintAndLog("----------PolarSSL implementation----------"); + { + uint8_t random_a[8] = { 0 }; + uint8_t enc_random_a[8] = { 0 }; + uint8_t random_b[8] = { 0 }; + uint8_t enc_random_b[8] = { 0 }; + uint8_t random_a_and_b[16] = { 0 }; + des3_context ctx = { 0 }; + + memcpy(random_a, RndA,8); + + uint8_t output[8] = { 0 }; + uint8_t iv[8] = { 0 }; + + PrintAndLog(" RndA :%s",sprint_hex(random_a, 8)); + PrintAndLog(" e_RndB:%s",sprint_hex(enc_random_b, 8)); + + des3_set2key_dec(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_DECRYPT // int mode + , sizeof(random_b) // size_t length + , iv // unsigned char iv[8] + , enc_random_b // const unsigned char *input + , random_b // unsigned char *output + ); + + PrintAndLog(" RndB:%s",sprint_hex(random_b, 8)); + + rol(random_b,8); + memcpy(random_a_and_b ,random_a,8); + memcpy(random_a_and_b+8,random_b,8); + + PrintAndLog(" RA+B:%s",sprint_hex(random_a_and_b, 16)); + + des3_set2key_enc(&ctx, key); + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_ENCRYPT // int mode + , sizeof(random_a_and_b) // size_t length + , enc_random_b // unsigned char iv[8] + , random_a_and_b // const unsigned char *input + , random_a_and_b // unsigned char *output + ); + + PrintAndLog("enc(RA+B):%s",sprint_hex(random_a_and_b, 16)); + } + return 0; +} +**/ // // Ultralight C Read Single Block // int CmdHF14AMfUCRdBl(const char *Cmd) { - uint8_t blockNo = -1; - char cmdp = param_getchar(Cmd, 0); + uint8_t blockNo = -1; + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu crdbl "); - PrintAndLog(" sample: hf mfu crdbl 0"); - return 0; - } - - blockNo = param_get8(Cmd, 0); + PrintAndLog("Usage: hf mfu crdbl "); + PrintAndLog(" sample: hf mfu crdbl 0"); + return 0; + } + + blockNo = param_get8(Cmd, 0); if (blockNo < 0) { PrintAndLog("Wrong block number"); return 1; } - if (blockNo > MAX_ULTRAC_BLOCKS ){ - PrintAndLog("Error: Maximum number of readable blocks is 47 for Ultralight-C Cards!"); - return 1; - } + if (blockNo > MAX_ULTRAC_BLOCKS ){ + PrintAndLog("Error: Maximum number of readable blocks is 47 for Ultralight-C Cards!"); + return 1; + } - PrintAndLog("--block no: 0x%02X (%d)", (int)blockNo, blockNo); - - //Read Block - UsbCommand e = {CMD_MIFAREU_READBL, {blockNo}}; - SendCommand(&e); - UsbCommand resp_c; - if (WaitForResponseTimeout(CMD_ACK,&resp_c,1500)) { - uint8_t isOK = resp_c.arg[0] & 0xff; - uint8_t *data = resp_c.d.asBytes; + PrintAndLog("--block no: 0x%02X (%d)", (int)blockNo, blockNo); + + //Read Block + UsbCommand e = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&e); + UsbCommand resp_c; + if (WaitForResponseTimeout(CMD_ACK,&resp_c,1500)) { + uint8_t isOK = resp_c.arg[0] & 0xff; + uint8_t *data = resp_c.d.asBytes; PrintAndLog("isOk: %02x", isOK); - if (isOK) - PrintAndLog("Data: %s", sprint_hex(data, 4)); + if (isOK) + PrintAndLog("Data: %s", sprint_hex(data, 4)); } else { PrintAndLog("Command execute timeout"); } - return 0; + return 0; } // // Mifare Ultralight C Write Single Block // int CmdHF14AMfUCWrBl(const char *Cmd){ - - uint8_t blockNo = -1; - bool chinese_card = FALSE; - uint8_t bldata[16] = {0x00}; - UsbCommand resp; + + uint8_t blockNo = -1; + bool chinese_card = FALSE; + uint8_t bldata[16] = {0x00}; + UsbCommand resp; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu cwrbl [w]"); + PrintAndLog("Usage: hf mfu cwrbl [w]"); PrintAndLog(" [block number]"); PrintAndLog(" [block data] - (8 hex symbols)"); PrintAndLog(" [w] - Chinese magic ultralight tag"); PrintAndLog(""); - PrintAndLog(" sample: hf mfu cwrbl 0 01020304"); + PrintAndLog(" sample: hf mfu cwrbl 0 01020304"); PrintAndLog(""); - return 0; - } + return 0; + } - blockNo = param_get8(Cmd, 0); - if (blockNo > MAX_ULTRAC_BLOCKS ){ - PrintAndLog("Error: Maximum number of blocks is 47 for Ultralight-C Cards!"); - return 1; - } + blockNo = param_get8(Cmd, 0); + if (blockNo > MAX_ULTRAC_BLOCKS ){ + PrintAndLog("Error: Maximum number of blocks is 47 for Ultralight-C Cards!"); + return 1; + } - if (param_gethex(Cmd, 1, bldata, 8)) { - PrintAndLog("Block data must include 8 HEX symbols"); - return 1; - } + if (param_gethex(Cmd, 1, bldata, 8)) { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } - if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { - chinese_card = TRUE; - } + if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { + chinese_card = TRUE; + } if ( blockNo <= 3 ) { if (!chinese_card){ @@ -605,17 +696,17 @@ int CmdHF14AMfUCWrBl(const char *Cmd){ } } } else { - PrintAndLog("--Block no : 0x%02x", blockNo); - PrintAndLog("--Data: %s", sprint_hex(bldata, 4)); - UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(e.d.asBytes,bldata, 4); - SendCommand(&e); - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk : %02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } + PrintAndLog("--Block no : 0x%02x", blockNo); + PrintAndLog("--Data: %s", sprint_hex(bldata, 4)); + UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; + memcpy(e.d.asBytes,bldata, 4); + SendCommand(&e); + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk : %02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } } return 0; } @@ -625,25 +716,26 @@ int CmdHF14AMfUCWrBl(const char *Cmd){ //------------------------------------ static command_t CommandTable[] = { - {"help", CmdHelp, 1,"This help"}, - {"dbg", CmdHF14AMfDbg, 0,"Set default debug mode"}, + {"help", CmdHelp, 1,"This help"}, + {"dbg", CmdHF14AMfDbg, 0,"Set default debug mode"}, {"info", CmdHF14AMfUInfo, 0,"Taginfo"}, {"dump", CmdHF14AMfUDump, 0,"Dump MIFARE Ultralight / Ultralight-C tag to binary file"}, - {"rdbl", CmdHF14AMfURdBl, 0,"Read block - MIFARE Ultralight"}, - {"wrbl", CmdHF14AMfUWrBl, 0,"Write block - MIFARE Ultralight"}, - {"crdbl", CmdHF14AMfUCRdBl, 0,"Read block - MIFARE Ultralight C"}, - {"cwrbl", CmdHF14AMfUCWrBl, 0,"Write MIFARE Ultralight C block"}, + {"rdbl", CmdHF14AMfURdBl, 0,"Read block - MIFARE Ultralight"}, + {"wrbl", CmdHF14AMfUWrBl, 0,"Write block - MIFARE Ultralight"}, + {"crdbl", CmdHF14AMfUCRdBl, 0,"Read block - MIFARE Ultralight C"}, + {"cwrbl", CmdHF14AMfUCWrBl, 0,"Write MIFARE Ultralight C block"}, {"cauth", CmdHF14AMfucAuth, 0,"try a Ultralight C Authentication"}, - {NULL, NULL, 0, NULL} + //{"testdes", CmdTestDES , 1, "Test DES"}, + {NULL, NULL, 0, NULL} }; int CmdHFMFUltra(const char *Cmd){ - WaitForResponseTimeout(CMD_ACK,NULL,100); - CmdsParse(CommandTable, Cmd); - return 0; + WaitForResponseTimeout(CMD_ACK,NULL,100); + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd){ - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } \ No newline at end of file diff --git a/client/cmdlf.c b/client/cmdlf.c index e38eee51..07a8750f 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -19,8 +19,8 @@ #include "cmdparser.h" #include "cmdmain.h" #include "cmddata.h" +#include "util.h" #include "cmdlf.h" -#include "cmdlfawid26.h" #include "cmdlfhid.h" #include "cmdlfti.h" #include "cmdlfem4x.h" @@ -48,377 +48,374 @@ int CmdLFCommandRead(const char *Cmd) int CmdFlexdemod(const char *Cmd) { - int i; - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] < 0) { - GraphBuffer[i] = -1; - } else { - GraphBuffer[i] = 1; - } - } + int i; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] < 0) { + GraphBuffer[i] = -1; + } else { + GraphBuffer[i] = 1; + } + } - #define LONG_WAIT 100 - int start; - for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { - int first = GraphBuffer[start]; - for (i = start; i < start + LONG_WAIT; i++) { - if (GraphBuffer[i] != first) { - break; - } - } - if (i == (start + LONG_WAIT)) { - break; - } - } - if (start == GraphTraceLen - LONG_WAIT) { - //PrintAndLog("nothing to wait for"); - return 0; - } +#define LONG_WAIT 100 + int start; + for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { + int first = GraphBuffer[start]; + for (i = start; i < start + LONG_WAIT; i++) { + if (GraphBuffer[i] != first) { + break; + } + } + if (i == (start + LONG_WAIT)) { + break; + } + } + if (start == GraphTraceLen - LONG_WAIT) { + PrintAndLog("nothing to wait for"); + return 0; + } - GraphBuffer[start] = 2; - GraphBuffer[start+1] = -2; + GraphBuffer[start] = 2; + GraphBuffer[start+1] = -2; uint8_t bits[64] = {0x00}; int bit, sum; - i = start; - for (bit = 0; bit < 64; bit++) { + i = start; + for (bit = 0; bit < 64; bit++) { sum = 0; for (int j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } + sum += GraphBuffer[i++]; + } bits[bit] = (sum > 0) ? 1 : 0; - PrintAndLog("bit %d sum %d", bit, sum); - } + PrintAndLog("bit %d sum %d", bit, sum); + } - for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - if (sum > 0 && bits[bit] != 1) { - PrintAndLog("oops1 at %d", bit); - } - if (sum < 0 && bits[bit] != 0) { - PrintAndLog("oops2 at %d", bit); - } - } + for (bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for (j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if (sum > 0 && bits[bit] != 1) { + PrintAndLog("oops1 at %d", bit); + } + if (sum < 0 && bits[bit] != 0) { + PrintAndLog("oops2 at %d", bit); + } + } // HACK writing back to graphbuffer. - GraphTraceLen = 32*64; - i = 0; - int phase = 0; - for (bit = 0; bit < 64; bit++) { + GraphTraceLen = 32*64; + i = 0; + int phase = 0; + for (bit = 0; bit < 64; bit++) { phase = (bits[bit] == 0) ? 0 : 1; - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdIndalaDemod(const char *Cmd) { - // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID + // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID - int state = -1; - int count = 0; - int i, j; + int state = -1; + int count = 0; + int i, j; - // worst case with GraphTraceLen=64000 is < 4096 - // under normal conditions it's < 2048 + // worst case with GraphTraceLen=64000 is < 4096 + // under normal conditions it's < 2048 - uint8_t rawbits[4096]; - int rawbit = 0; - int worst = 0, worstPos = 0; + uint8_t rawbits[4096]; + int rawbit = 0; + int worst = 0, worstPos = 0; // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); - for (i = 0; i < GraphTraceLen-1; i += 2) { - count += 1; - if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { - if (state == 0) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 0; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 1; - count = 0; - } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { - if (state == 1) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 1; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 0; - count = 0; - } - } + for (i = 0; i < GraphTraceLen-1; i += 2) { + count += 1; + if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { + if (state == 0) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 0; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 1; + count = 0; + } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { + if (state == 1) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 1; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 0; + count = 0; + } + } - if (rawbit>0){ - PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); - PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); + if (rawbit>0){ + PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); + PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); } else { return 0; } - // Finding the start of a UID - int uidlen, long_wait; - if (strcmp(Cmd, "224") == 0) { - uidlen = 224; - long_wait = 30; - } else { - uidlen = 64; - long_wait = 29; - } + // Finding the start of a UID + int uidlen, long_wait; + if (strcmp(Cmd, "224") == 0) { + uidlen = 224; + long_wait = 30; + } else { + uidlen = 64; + long_wait = 29; + } - int start; - int first = 0; - for (start = 0; start <= rawbit - uidlen; start++) { - first = rawbits[start]; - for (i = start; i < start + long_wait; i++) { - if (rawbits[i] != first) { - break; - } - } - if (i == (start + long_wait)) { - break; - } - } + int start; + int first = 0; + for (start = 0; start <= rawbit - uidlen; start++) { + first = rawbits[start]; + for (i = start; i < start + long_wait; i++) { + if (rawbits[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } - if (start == rawbit - uidlen + 1) { - //PrintAndLog("nothing to wait for"); - return 0; - } + if (start == rawbit - uidlen + 1) { + PrintAndLog("nothing to wait for"); + return 0; + } - // Inverting signal if needed - if (first == 1) { - for (i = start; i < rawbit; i++) { - rawbits[i] = !rawbits[i]; - } - } + // Inverting signal if needed + if (first == 1) { + for (i = start; i < rawbit; i++) { + rawbits[i] = !rawbits[i]; + } + } - // Dumping UID + // Dumping UID uint8_t bits[224] = {0x00}; char showbits[225] = {0x00}; - int bit; - i = start; - int times = 0; + int bit; + i = start; + int times = 0; - if (uidlen > rawbit) { - PrintAndLog("Warning: not enough raw bits to get a full UID"); - for (bit = 0; bit < rawbit; bit++) { - bits[bit] = rawbits[i++]; - // As we cannot know the parity, let's use "." and "/" - showbits[bit] = '.' + bits[bit]; - } - showbits[bit+1]='\0'; - PrintAndLog("Partial UID=%s", showbits); - return 0; - } else { - for (bit = 0; bit < uidlen; bit++) { - bits[bit] = rawbits[i++]; - showbits[bit] = '0' + bits[bit]; - } - times = 1; - } + if (uidlen > rawbit) { + PrintAndLog("Warning: not enough raw bits to get a full UID"); + for (bit = 0; bit < rawbit; bit++) { + bits[bit] = rawbits[i++]; + // As we cannot know the parity, let's use "." and "/" + showbits[bit] = '.' + bits[bit]; + } + showbits[bit+1]='\0'; + PrintAndLog("Partial UID=%s", showbits); + return 0; + } else { + for (bit = 0; bit < uidlen; bit++) { + bits[bit] = rawbits[i++]; + showbits[bit] = '0' + bits[bit]; + } + times = 1; + } - //convert UID to HEX - uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; - int idx; + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; uid1 = uid2 = 0; - if (uidlen == 64){ - for( idx=0; idx<64; idx++) { - if (showbits[idx] == '0') { - uid1 = (uid1<<1) | (uid2>>31); - uid2 = (uid2<<1) | 0; - } else { - uid1 = (uid1<<1) | (uid2>>31); - uid2 = (uid2<<1) | 1; - } - } - PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); - } - else { + if (uidlen==64){ + for( idx=0; idx<64; idx++) { + if (showbits[idx] == '0') { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|0; + } else { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|1; + } + } + PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { uid3 = uid4 = uid5 = uid6 = uid7 = 0; - for( idx=0; idx<224; idx++) { - uid1 = (uid1<<1) | (uid2>>31); - uid2 = (uid2<<1) | (uid3>>31); - uid3 = (uid3<<1) | (uid4>>31); - uid4 = (uid4<<1) | (uid5>>31); - uid5 = (uid5<<1) | (uid6>>31); - uid6 = (uid6<<1) | (uid7>>31); + for( idx=0; idx<224; idx++) { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); if (showbits[idx] == '0') uid7 = (uid7<<1) | 0; else uid7 = (uid7<<1) | 1; - } - PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); - } + } + PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } - // Checking UID against next occurrences - int failed = 0; + // Checking UID against next occurrences + int failed = 0; for (; i + uidlen <= rawbit;) { failed = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] != rawbits[i++]) { - failed = 1; - break; - } - } - if (failed == 1) { - break; - } - times += 1; - } + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] != rawbits[i++]) { + failed = 1; + break; + } + } + if (failed == 1) { + break; + } + times += 1; + } - PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); + PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); - // Remodulating for tag cloning + // Remodulating for tag cloning // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) // since this changes graphbuffer data. - GraphTraceLen = 32 * uidlen; - i = 0; - int phase = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } + GraphTraceLen = 32*uidlen; + i = 0; + int phase = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } - RepaintGraphWindow(); - return 1; + RepaintGraphWindow(); + return 1; } int CmdIndalaClone(const char *Cmd) { - UsbCommand c; + UsbCommand c; unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; uid1 = uid2 = uid3 = uid4 = uid5 = uid6 = uid7 = 0; - int n = 0, i = 0; - - if (strchr(Cmd,'l') != 0) { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (uid3 >> 28); - uid3 = (uid3 << 4) | (uid4 >> 28); - uid4 = (uid4 << 4) | (uid5 >> 28); - uid5 = (uid5 << 4) | (uid6 >> 28); - uid6 = (uid6 << 4) | (uid7 >> 28); - uid7 = (uid7 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); - c.cmd = CMD_INDALA_CLONE_TAG_L; - c.d.asDwords[0] = uid1; - c.d.asDwords[1] = uid2; - c.d.asDwords[2] = uid3; - c.d.asDwords[3] = uid4; - c.d.asDwords[4] = uid5; - c.d.asDwords[5] = uid6; - c.d.asDwords[6] = uid7; + int n = 0, i = 0; + + if (strchr(Cmd,'l') != 0) { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (uid3 >> 28); + uid3 = (uid3 << 4) | (uid4 >> 28); + uid4 = (uid4 << 4) | (uid5 >> 28); + uid5 = (uid5 << 4) | (uid6 >> 28); + uid6 = (uid6 << 4) | (uid7 >> 28); + uid7 = (uid7 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); + c.cmd = CMD_INDALA_CLONE_TAG_L; + c.d.asDwords[0] = uid1; + c.d.asDwords[1] = uid2; + c.d.asDwords[2] = uid3; + c.d.asDwords[3] = uid4; + c.d.asDwords[4] = uid5; + c.d.asDwords[5] = uid6; + c.d.asDwords[6] = uid7; } else { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); - c.cmd = CMD_INDALA_CLONE_TAG; - c.arg[0] = uid1; - c.arg[1] = uid2; - } + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); + c.cmd = CMD_INDALA_CLONE_TAG; + c.arg[0] = uid1; + c.arg[1] = uid2; + } - SendCommand(&c); - return 0; + SendCommand(&c); + return 0; } int CmdLFRead(const char *Cmd) { - UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; - - // 'h' means higher-low-frequency, 134 kHz - if(*Cmd == 'h') { - c.arg[0] = 1; - } else if (*Cmd == '\0') { - c.arg[0] = 0; - } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { + UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; + + // 'h' means higher-low-frequency, 134 kHz + if(*Cmd == 'h') { + c.arg[0] = 1; + } else if (*Cmd == '\0') { + c.arg[0] = 0; + } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { PrintAndLog("Samples 1: 'lf read'"); PrintAndLog(" 2: 'lf read h'"); PrintAndLog(" 3: 'lf read '"); - return 0; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - - CmdSamples(""); - ShowGraphWindow(); - return 0; + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } static void ChkBitstream(const char *str) { - int i; + int i; - /* convert to bitstream if necessary */ + /* convert to bitstream if necessary */ for (i = 0; i < (int)(GraphTraceLen / 2); i++){ if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) { - CmdBitstream(str); - break; - } - } + CmdBitstream(str); + break; + } + } } - +//appears to attempt to simulate manchester int CmdLFSim(const char *Cmd) { int i,j; - static int gap; + static int gap; - sscanf(Cmd, "%i", &gap); + sscanf(Cmd, "%i", &gap); - /* convert to bitstream if necessary */ - ChkBitstream(Cmd); + /* convert to bitstream if necessary */ + ChkBitstream(Cmd); printf("Sending [%d bytes]", GraphTraceLen); for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) { - UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; + UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; for (j = 0; j < USB_CMD_DATA_SIZE; j++) { - c.d.asBytes[j] = GraphBuffer[i+j]; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); + c.d.asBytes[j] = GraphBuffer[i+j]; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); printf("."); - } - + } + printf("\n"); PrintAndLog("Starting to simulate"); - UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; - SendCommand(&c); - return 0; + UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; + SendCommand(&c); + return 0; } int CmdLFSimBidir(const char *Cmd) @@ -434,57 +431,51 @@ int CmdLFSimBidir(const char *Cmd) /* simulate an LF Manchester encoded tag with specified bitstream, clock rate and inter-id gap */ int CmdLFSimManchester(const char *Cmd) { - static int clock, gap; - static char data[1024], gapstring[8]; + static int clock, gap; + static char data[1024], gapstring[8]; - sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); + sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); - ClearGraph(0); + ClearGraph(0); - for (int i = 0; i < strlen(data) ; ++i) - AppendGraph(0, clock, data[i]- '0'); + for (int i = 0; i < strlen(data) ; ++i) + AppendGraph(0, clock, data[i]- '0'); - CmdManchesterMod(""); + CmdManchesterMod(""); - RepaintGraphWindow(); + RepaintGraphWindow(); - sprintf(&gapstring[0], "%i", gap); - CmdLFSim(gapstring); - return 0; + sprintf(&gapstring[0], "%i", gap); + CmdLFSim(gapstring); + return 0; } int CmdLFSnoop(const char *Cmd) { - UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; + UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; - // 'h' means higher-low-frequency, 134 kHz - c.arg[0] = 0; - c.arg[1] = -1; + // 'h' means higher-low-frequency, 134 kHz + c.arg[0] = 0; + c.arg[1] = -1; if (*Cmd == 'l') { - sscanf(Cmd, "l %"lli, &c.arg[1]); - } else if (*Cmd == 'h') { - c.arg[0] = 1; - sscanf(Cmd, "h %"lli, &c.arg[1]); - } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { + sscanf(Cmd, "l %"lli, &c.arg[1]); + } else if(*Cmd == 'h') { + c.arg[0] = 1; + sscanf(Cmd, "h %"lli, &c.arg[1]); + } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { PrintAndLog("usage 1: snoop"); - PrintAndLog(" 2: snoop {l,h} [trigger threshold]"); + PrintAndLog(" 2: snoop [trigger threshold]"); PrintAndLog(" 3: snoop [trigger threshold]"); - return 0; - } - - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - - #define BUFF_SIZE 8000 - uint8_t data[BUFF_SIZE] = {0x00}; - - GetFromBigBuf(data,BUFF_SIZE,0); - WaitForResponseTimeout(CMD_ACK,NULL, 1500); - - SetGraphBuf(data, BUFF_SIZE); + PrintAndLog(""); + PrintAndLog("Sample: lf snoop l 200"); + PrintAndLog(" : lf snoop 95 200"); + return 0; + } - return 0; + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } int CmdVchDemod(const char *Cmd) @@ -566,7 +557,7 @@ int CmdVchDemod(const char *Cmd) //by marshmellow int CmdLFfind(const char *Cmd) { - int ans = 0; + int ans=0; char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') { @@ -578,69 +569,77 @@ int CmdLFfind(const char *Cmd) return 0; } - if (!offline || (cmdp != '1') ){ - ans = CmdLFRead(""); + if (!offline && (cmdp != '1')){ + ans=CmdLFRead(""); + ans=CmdSamples("20000"); } else if (GraphTraceLen < 1000) { PrintAndLog("Data in Graphbuffer was too small."); return 0; - } - - PrintAndLog("Checking for known tags:"); - - ans = Cmdaskmandemod(""); - PrintAndLog("ASK_MAN: %s", (ans) ? "YES":"NO" ); - - ans = CmdFSKdemodHID(""); - PrintAndLog("HID: %s", (ans) ? "YES":"NO" ); - - ans = CmdFSKdemodIO(""); - PrintAndLog("IO prox: %s", (ans) ? "YES":"NO" ); - - ans = CmdIndalaDemod(""); - PrintAndLog("Indala (64): %s", (ans) ? "YES":"NO" ); - - ans = CmdIndalaDemod("224"); - PrintAndLog("Indala (224): %s", (ans) ? "YES":"NO" ); - - // ans = CmdVchDemod(""); - // PrintAndLog("VeriChip: %s", (ans) ? "YES":"NO" ); - - // ans = CmdFlexdemod(""); - // PrintAndLog("FlexPass: %s", (ans) ? "YES":"NO" ); - - if (!ans) - PrintAndLog("No Known Tags Found!\n"); + } - return 0; + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); + PrintAndLog("\nChecking for known tags:\n"); + ans=CmdFSKdemodIO(""); + if (ans>0) { + PrintAndLog("\nValid IO Prox ID Found!"); + return 1; + } + ans=CmdFSKdemodPyramid(""); + if (ans>0) { + PrintAndLog("\nValid Pyramid ID Found!"); + return 1; + } + ans=CmdFSKdemodParadox(""); + if (ans>0) { + PrintAndLog("\nValid Paradox ID Found!"); + return 1; + } + ans=CmdFSKdemodAWID(""); + if (ans>0) { + PrintAndLog("\nValid AWID ID Found!"); + return 1; + } + ans=CmdFSKdemodHID(""); + if (ans>0) { + PrintAndLog("\nValid HID Prox ID Found!"); + return 1; + } + //add psk and indala + ans=CmdIndalaDecode(""); + if (ans>0) { + PrintAndLog("\nValid Indala ID Found!"); + return 1; + } + ans=Cmdaskmandemod(""); + if (ans>0) { + PrintAndLog("\nValid EM410x ID Found!"); + return 1; + } + PrintAndLog("No Known Tags Found!\n"); + return 0; } static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, - + {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, + {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, + {"io", CmdLFIO, 1, "{ ioProx tags... }"}, {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, - {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (UID in HEX)(option 'l' for 224 UID"}, - {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, - - + {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, - - {"awid26", CmdLFAWID26, 1, "{ AWID26 tags }"}, - {"em4x", CmdLFEM4X, 1, "{ EM4X tags }"}, - {"hid", CmdLFHID, 1, "{ HID tags }"}, - {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders }"}, - {"io", CmdLFIO, 1, "{ ioProx tags }"}, - {"pcf7931", CmdLFPCF7931, 1, "{ PCF7931 tags }"}, - {"ti", CmdLFTI, 1, "{ TI tags }"}, - {"t55xx", CmdLFT55XX, 1, "{ T55xx tags }"}, - + {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, + {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, + {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, + {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, + {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index 978c41c3..95b0342d 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -1,4 +1,4 @@ - //----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- // Copyright (C) 2010 iZsh // // This code is licensed to you under the terms of the GNU GPL, version 2 or, @@ -13,17 +13,12 @@ #include #include "proxmark3.h" #include "ui.h" +#include "util.h" #include "graph.h" -#include "cmdmain.h" #include "cmdparser.h" #include "cmddata.h" #include "cmdlf.h" #include "cmdlfem4x.h" -#include "util.h" -#include "data.h" -#define LF_TRACE_BUFF_SIZE 12000 -#define LF_BITSSTREAM_LEN 1000 - char *global_em410xId; static int CmdHelp(const char *Cmd); @@ -32,10 +27,10 @@ int CmdEMdemodASK(const char *Cmd) { char cmdp = param_getchar(Cmd, 0); int findone = (cmdp == '1') ? 1 : 0; - UsbCommand c = { CMD_EM410X_DEMOD }; - c.arg[0] = findone; - SendCommand(&c); - return 0; + UsbCommand c={CMD_EM410X_DEMOD}; + c.arg[0]=findone; + SendCommand(&c); + return 0; } /* Read the ID of an EM410x tag. @@ -56,15 +51,19 @@ int CmdEM410xRead(const char *Cmd) uint8_t BitStream[MAX_GRAPH_TRACE_LEN]; high = low = 0; - // get clock - clock = GetClock(Cmd, 0); - - // Detect high and lows and clock - DetectHighLowInGraph( &high, &low, TRUE); + /* Detect high and lows and clock */ + for (i = 0; i < GraphTraceLen; i++) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } - PrintAndLog("NUMNUM"); - - // parity for our 4 columns + /* get clock */ + clock = GetClock(Cmd, high, 0); + + /* parity for our 4 columns */ parity[0] = parity[1] = parity[2] = parity[3] = 0; header = rows = 0; @@ -101,10 +100,10 @@ int CmdEM410xRead(const char *Cmd) BitStream[bit2idx++] = bit; } - + retest: /* We go till 5 before the graph ends because we'll get that far below */ - for (i = 0; i < bit2idx - 5; i++) + for (i = 1; i < bit2idx - 5; i++) { /* Step 2: We have our header but need our tag ID */ if (header == 9 && rows < 10) @@ -133,7 +132,7 @@ retest: PrintAndLog("Thought we had a valid tag but failed at word %d (i=%d)", rows + 1, i); /* Start back rows * 5 + 9 header bits, -1 to not start at same place */ - i -= 9 + (5 * rows) -5; + i -= 9 + (5 * rows) - 5; rows = header = 0; } @@ -183,12 +182,12 @@ retest: /* if we've already retested after flipping bits, return */ if (retested++){ PrintAndLog("Failed to decode"); - return 0; + return 0; } /* if this didn't work, try flipping bits */ - for (i = 0; i < bit2idx; i++) - BitStream[i] ^= 1; + for (i = 0; i < bit2idx; i++) + BitStream[i] ^= 1; goto retest; } @@ -202,7 +201,7 @@ retest: * 0 <-- stop bit, end of tag */ int CmdEM410xSim(const char *Cmd) -{ +{ int i, n, j, binary[4], parity[4]; char cmdp = param_getchar(Cmd, 0); @@ -222,13 +221,13 @@ int CmdEM410xSim(const char *Cmd) PrintAndLog("Starting simulating UID %02X%02X%02X%02X%02X", uid[0],uid[1],uid[2],uid[3],uid[4]); PrintAndLog("Press pm3-button to about simulation"); - + /* clock is 64 in EM410x tags */ int clock = 64; /* clear our graph */ ClearGraph(0); - + /* write 9 start bits */ for (i = 0; i < 9; i++) AppendGraph(0, clock, 1); @@ -264,7 +263,7 @@ int CmdEM410xSim(const char *Cmd) AppendGraph(0, clock, parity[2]); AppendGraph(0, clock, parity[3]); - /* stop bit */ + /* stop bit */ AppendGraph(1, clock, 0); CmdLFSim("240"); //240 start_gap. @@ -292,7 +291,7 @@ int CmdEM410xWatch(const char *Cmd) } CmdLFRead(read_h ? "h" : ""); - CmdSamples("6000"); + CmdSamples("6000"); } while ( !CmdEM410xRead("") ); @@ -522,79 +521,47 @@ int CmdEM410xWrite(const char *Cmd) int CmdReadWord(const char *Cmd) { int Word = -1; //default to invalid word - UsbCommand c; + UsbCommand c; - sscanf(Cmd, "%d", &Word); + sscanf(Cmd, "%d", &Word); if ( (Word > 15) | (Word < 0) ) { - PrintAndLog("Word must be between 0 and 15"); - return 1; - } + PrintAndLog("Word must be between 0 and 15"); + return 1; + } - PrintAndLog("Reading word %d", Word); + PrintAndLog("Reading word %d", Word); - c.cmd = CMD_EM4X_READ_WORD; - c.d.asBytes[0] = 0x0; //Normal mode - c.arg[0] = 0; - c.arg[1] = Word; - c.arg[2] = 0; - SendCommand(&c); - WaitForResponse(CMD_ACK, NULL); - - uint8_t data[LF_TRACE_BUFF_SIZE] = {0x00}; - - GetFromBigBuf(data,LF_TRACE_BUFF_SIZE,0); //3560 -- should be offset.. - WaitForResponseTimeout(CMD_ACK,NULL, 1500); - - for (int j = 0; j < LF_TRACE_BUFF_SIZE; j++) { - GraphBuffer[j] = ((int)data[j]); - } - GraphTraceLen = LF_TRACE_BUFF_SIZE; - - uint8_t bits[LF_BITSSTREAM_LEN] = {0x00}; - uint8_t * bitstream = bits; - manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream,LF_BITSSTREAM_LEN); - RepaintGraphWindow(); + c.cmd = CMD_EM4X_READ_WORD; + c.d.asBytes[0] = 0x0; //Normal mode + c.arg[0] = 0; + c.arg[1] = Word; + c.arg[2] = 0; + SendCommand(&c); return 0; } int CmdReadWordPWD(const char *Cmd) { int Word = -1; //default to invalid word - int Password = 0xFFFFFFFF; //default to blank password - UsbCommand c; - - sscanf(Cmd, "%d %x", &Word, &Password); - + int Password = 0xFFFFFFFF; //default to blank password + UsbCommand c; + + sscanf(Cmd, "%d %x", &Word, &Password); + if ( (Word > 15) | (Word < 0) ) { - PrintAndLog("Word must be between 0 and 15"); - return 1; - } + PrintAndLog("Word must be between 0 and 15"); + return 1; + } - PrintAndLog("Reading word %d with password %08X", Word, Password); - - c.cmd = CMD_EM4X_READ_WORD; - c.d.asBytes[0] = 0x1; //Password mode - c.arg[0] = 0; - c.arg[1] = Word; - c.arg[2] = Password; - SendCommand(&c); - WaitForResponse(CMD_ACK, NULL); - - uint8_t data[LF_TRACE_BUFF_SIZE] = {0x00}; - - GetFromBigBuf(data,LF_TRACE_BUFF_SIZE,0); //3560 -- should be offset.. - WaitForResponseTimeout(CMD_ACK,NULL, 1500); - - for (int j = 0; j < LF_TRACE_BUFF_SIZE; j++) { - GraphBuffer[j] = ((int)data[j]); - } - GraphTraceLen = LF_TRACE_BUFF_SIZE; - - uint8_t bits[LF_BITSSTREAM_LEN] = {0x00}; - uint8_t * bitstream = bits; - manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream, LF_BITSSTREAM_LEN); - RepaintGraphWindow(); + PrintAndLog("Reading word %d with password %08X", Word, Password); + + c.cmd = CMD_EM4X_READ_WORD; + c.d.asBytes[0] = 0x1; //Password mode + c.arg[0] = 0; + c.arg[1] = Word; + c.arg[2] = Password; + SendCommand(&c); return 0; } @@ -650,280 +617,20 @@ int CmdWriteWordPWD(const char *Cmd) static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"410xdemod", CmdEMdemodASK, 0, "[clock rate] -- Extract ID from EM410x tag"}, - {"410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"}, - {"410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, - {"replay", MWRem4xReplay, 0, "Watches for tag and simulates manchester encoded em4x tag"}, - {"410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, - {"410xspoof", CmdEM410xWatchnSpoof, 0, "['h'] --- Watches for EM410x 125/134 kHz tags, and replays them. (option 'h' for 134)" }, - {"410xwrite", CmdEM410xWrite, 1, " <'0' T5555> <'1' T55x7> [clock rate] -- Write EM410x UID to T5555(Q5) or T55x7 tag, optionally setting clock rate"}, - {"4x50read", CmdEM4x50Read, 1, "Extract data from EM4x50 tag"}, - {"rd", CmdReadWord, 1, " -- Read EM4xxx word data"}, - {"rdpwd", CmdReadWordPWD, 1, " -- Read EM4xxx word data in password mode "}, - {"wr", CmdWriteWord, 1, " -- Write EM4xxx word data"}, - {"wrpwd", CmdWriteWordPWD, 1, " -- Write EM4xxx word data in password mode"}, + {"em410xdemod", CmdEMdemodASK, 0, "[findone] -- Extract ID from EM410x tag (option 0 for continuous loop, 1 for only 1 tag)"}, + {"em410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"}, + {"em410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, + {"em410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, + {"em410xspoof", CmdEM410xWatchnSpoof, 0, "['h'] --- Watches for EM410x 125/134 kHz tags, and replays them. (option 'h' for 134)" }, + {"em410xwrite", CmdEM410xWrite, 1, " <'0' T5555> <'1' T55x7> [clock rate] -- Write EM410x UID to T5555(Q5) or T55x7 tag, optionally setting clock rate"}, + {"em4x50read", CmdEM4x50Read, 1, "Extract data from EM4x50 tag"}, + {"readword", CmdReadWord, 1, " -- Read EM4xxx word data"}, + {"readwordPWD", CmdReadWordPWD, 1, " -- Read EM4xxx word data in password mode"}, + {"writeword", CmdWriteWord, 1, " -- Write EM4xxx word data"}, + {"writewordPWD", CmdWriteWordPWD, 1, " -- Write EM4xxx word data in password mode"}, {NULL, NULL, 0, NULL} }; - -//Confirms the parity of a bitstream as well as obtaining the data (TagID) from within the appropriate memory space. -//Arguments: -// Pointer to a string containing the desired bitsream -// Pointer to a string that will receive the decoded tag ID -// Length of the bitsream pointed at in the first argument, char* _strBitStream -//Retuns: -//1 Parity confirmed -//0 Parity not confirmed -int ConfirmEm410xTagParity( char* _strBitStream, char* pID, int LengthOfBitstream ) -{ - int i = 0; - int rows = 0; - int Parity[4] = {0x00}; - char ID[11] = {0x00}; - int k = 0; - int BitStream[70] = {0x00}; - int counter = 0; - //prepare variables - for ( i = 0; i <= LengthOfBitstream; i++) - { - if (_strBitStream[i] == '1') - { - k =1; - memcpy(&BitStream[i], &k,4); - } - else if (_strBitStream[i] == '0') - { - k = 0; - memcpy(&BitStream[i], &k,4); - } - } - while ( counter < 2 ) - { - //set/reset variables and counters - memset(ID,0x00,sizeof(ID)); - memset(Parity,0x00,sizeof(Parity)); - rows = 0; - for ( i = 9; i <= LengthOfBitstream; i++) - { - if ( rows < 10 ) - { - if ((BitStream[i] ^ BitStream[i+1] ^ BitStream[i+2] ^ BitStream[i+3]) == BitStream[i+4]) - { - sprintf(ID+rows, "%x", (8 * BitStream[i]) + (4 * BitStream[i+1]) + (2 * BitStream[i+2]) + (1 * BitStream[i+3])); - rows++; - /* Keep parity info and move four bits ahead*/ - Parity[0] ^= BitStream[i]; - Parity[1] ^= BitStream[i+1]; - Parity[2] ^= BitStream[i+2]; - Parity[3] ^= BitStream[i+3]; - i += 4; - } - } - if ( rows == 10 ) - { - if ( BitStream[i] == Parity[0] && BitStream[i+1] == Parity[1] && - BitStream[i+2] == Parity[2] && BitStream[i+3] == Parity[3] && - BitStream[i+4] == 0) - { - memcpy(pID,ID,strlen(ID)); - return 1; - } - } - } - printf("[PARITY ->]Failed. Flipping Bits, and rechecking parity for bitstream:\n[PARITY ->]"); - for (k = 0; k < LengthOfBitstream; k++) - { - BitStream[k] ^= 1; - printf("%i", BitStream[k]); - } - puts(" "); - counter++; - } - return 0; -} -//Reads and demodulates an em410x RFID tag. It further allows slight modification to the decoded bitstream -//Once a suitable bitstream has been identified, and if needed, modified, it is replayed. Allowing emulation of the -//"stolen" rfid tag. -//No meaningful returns or arguments. -int MWRem4xReplay(const char* Cmd) -{ - // //header traces - // static char ArrayTraceZero[] = { '0','0','0','0','0','0','0','0','0' }; - // static char ArrayTraceOne[] = { '1','1','1','1','1','1','1','1','1' }; - // //local string variables - // char strClockRate[10] = {0x00}; - // char strAnswer[4] = {0x00}; - // char strTempBufferMini[2] = {0x00}; - // //our outbound bit-stream - // char strSimulateBitStream[65] = {0x00}; - // //integers - // int iClockRate = 0; - // int needle = 0; - // int j = 0; - // int iFirstHeaderOffset = 0x00000000; - // int numManchesterDemodBits=0; - // //boolean values - // bool bInverted = false; - // //pointers to strings. memory will be allocated. - // char* pstrInvertBitStream = 0x00000000; - // char* pTempBuffer = 0x00000000; - // char* pID = 0x00000000; - // char* strBitStreamBuffer = 0x00000000; - - - // puts("###################################"); - // puts("#### Em4x Replay ##"); - // puts("#### R.A.M. June 2013 ##"); - // puts("###################################"); - // //initialize - // CmdLFRead(""); - // //Collect ourselves 10,000 samples - // CmdSamples("10000"); - // puts("[->]preforming ASK demodulation\n"); - // //demodulate ask - // Cmdaskdemod("0"); - // iClockRate = DetectClock(0); - // sprintf(strClockRate, "%i\n",iClockRate); - // printf("[->]Detected ClockRate: %s\n", strClockRate); - - // //If detected clock rate is something completely unreasonable, dont go ahead - // if ( iClockRate < 0xFFFE ) - // { - // pTempBuffer = (char*)malloc(MAX_GRAPH_TRACE_LEN); - // if (pTempBuffer == 0x00000000) - // return 0; - // memset(pTempBuffer,0x00,MAX_GRAPH_TRACE_LEN); - // //Preform manchester de-modulation and display in a single line. - // numManchesterDemodBits = CmdManchesterDemod( strClockRate ); - // //note: numManchesterDemodBits is set above in CmdManchesterDemod() - // if ( numManchesterDemodBits == 0 ) - // return 0; - // strBitStreamBuffer = malloc(numManchesterDemodBits+1); - // if ( strBitStreamBuffer == 0x00000000 ) - // return 0; - // memset(strBitStreamBuffer, 0x00, (numManchesterDemodBits+1)); - // //fill strBitStreamBuffer with demodulated, string formatted bits. - // for ( j = 0; j <= numManchesterDemodBits; j++ ) - // { - // sprintf(strTempBufferMini, "%i",BitStream[j]); - // strcat(strBitStreamBuffer,strTempBufferMini); - // } - // printf("[->]Demodulated Bitstream: \n%s\n", strBitStreamBuffer); - // //Reset counter and select most probable bit stream - // j = 0; - // while ( j < numManchesterDemodBits ) - // { - // memset(strSimulateBitStream,0x00,64); - // //search for header of nine (9) 0's : 000000000 or nine (9) 1's : 1111 1111 1 - // if ( ( strncmp(strBitStreamBuffer+j, ArrayTraceZero, sizeof(ArrayTraceZero)) == 0 ) || - // ( strncmp(strBitStreamBuffer+j, ArrayTraceOne, sizeof(ArrayTraceOne)) == 0 ) ) - // { - // iFirstHeaderOffset = j; - // memcpy(strSimulateBitStream, strBitStreamBuffer+j,64); - // printf("[->]Offset of Header"); - // if ( strncmp(strBitStreamBuffer+iFirstHeaderOffset, "0", 1) == 0 ) - // printf("'%s'", ArrayTraceZero ); - // else - // printf("'%s'", ArrayTraceOne ); - // printf(": %i\nHighlighted string : %s\n",iFirstHeaderOffset,strSimulateBitStream); - // //allow us to escape loop or choose another frame - // puts("[<-]Are we happy with this sample? [Y]es/[N]o"); - // gets(strAnswer); - // if ( ( strncmp(strAnswer,"y",1) == 0 ) || ( strncmp(strAnswer,"Y",1) == 0 ) ) - // { - // j = numManchesterDemodBits+1; - // break; - // } - // } - // j++; - // } - // } - // else return 0; - - // //Do we want the buffer inverted? - // memset(strAnswer, 0x00, sizeof(strAnswer)); - // printf("[<-]Do you wish to invert the highlighted bitstream? [Y]es/[N]o\n"); - // gets(strAnswer); - // if ( ( strncmp("y", strAnswer,1) == 0 ) || ( strncmp("Y", strAnswer, 1 ) == 0 ) ) - // { - // //allocate heap memory - // pstrInvertBitStream = (char*)malloc(numManchesterDemodBits); - // if ( pstrInvertBitStream != 0x00000000 ) - // { - // memset(pstrInvertBitStream,0x00,numManchesterDemodBits); - // bInverted = true; - // //Invert Bitstream - // for ( needle = 0; needle <= numManchesterDemodBits; needle++ ) - // { - // if (strSimulateBitStream[needle] == '0') - // strcat(pstrInvertBitStream,"1"); - // else if (strSimulateBitStream[needle] == '1') - // strcat(pstrInvertBitStream,"0"); - // } - // printf("[->]Inverted bitstream: %s\n", pstrInvertBitStream); - // } - // } - // //Confirm parity of selected string - // pID = (char*)malloc(11); - // if (pID != 0x00000000) - // { - // memset(pID, 0x00, 11); - // if (ConfirmEm410xTagParity(strSimulateBitStream,pID, 64) == 1) - // { - // printf("[->]Parity confirmed for selected bitstream!\n"); - // printf("[->]Tag ID was detected as: [hex]:%s\n",pID ); - // } - // else - // printf("[->]Parity check failed for the selected bitstream!\n"); - // } - - // //Spoof - // memset(strAnswer, 0x00, sizeof(strAnswer)); - // printf("[<-]Do you wish to continue with the EM4x simulation? [Y]es/[N]o\n"); - // gets(strAnswer); - // if ( ( strncmp(strAnswer,"y",1) == 0 ) || ( strncmp(strAnswer,"Y",1) == 0 ) ) - // { - // strcat(pTempBuffer, strClockRate); - // strcat(pTempBuffer, " "); - // if (bInverted == true) - // strcat(pTempBuffer,pstrInvertBitStream); - // if (bInverted == false) - // strcat(pTempBuffer,strSimulateBitStream); - // //inform the user - // puts("[->]Starting simulation now: \n"); - // //Simulate tag with prepared buffer. - // CmdLFSimManchester(pTempBuffer); - // } - // else if ( ( strcmp("n", strAnswer) == 0 ) || ( strcmp("N", strAnswer ) == 0 ) ) - // printf("[->]Exiting procedure now...\n"); - // else - // printf("[->]Erroneous selection\nExiting procedure now....\n"); - - // //Clean up -- Exit function - // //clear memory, then release pointer. - // if ( pstrInvertBitStream != 0x00000000 ) - // { - // memset(pstrInvertBitStream,0x00,numManchesterDemodBits); - // free(pstrInvertBitStream); - // } - // if ( pTempBuffer != 0x00000000 ) - // { - // memset(pTempBuffer,0x00,MAX_GRAPH_TRACE_LEN); - // free(pTempBuffer); - // } - // if ( pID != 0x00000000 ) - // { - // memset(pID,0x00,11); - // free(pID); - // } - // if ( strBitStreamBuffer != 0x00000000 ) - // { - // memset(strBitStreamBuffer,0x00,numManchesterDemodBits); - // free(strBitStreamBuffer); - // } - return 0; -} - int CmdLFEM4X(const char *Cmd) { CmdsParse(CommandTable, Cmd); diff --git a/client/cmdlfhid.c b/client/cmdlfhid.c index 93d06406..c6d54e78 100644 --- a/client/cmdlfhid.c +++ b/client/cmdlfhid.c @@ -39,12 +39,12 @@ int CmdHIDDemod(const char *Cmd) int CmdHIDDemodFSK(const char *Cmd) { - int findone = 0; + int findone=0; if(Cmd[0]=='1') findone=1; - UsbCommand c = {CMD_HID_DEMOD_FSK}; - c.arg[0]=findone; - SendCommand(&c); - return 0; + UsbCommand c={CMD_HID_DEMOD_FSK}; + c.arg[0]=findone; + SendCommand(&c); + return 0; } int CmdHIDSim(const char *Cmd) diff --git a/client/cmdlfhitag.c b/client/cmdlfhitag.c index 74578eea..fe5ba587 100644 --- a/client/cmdlfhitag.c +++ b/client/cmdlfhitag.c @@ -15,9 +15,9 @@ #include "proxmark3.h" #include "ui.h" #include "cmdparser.h" -#include "../include/common.h" +#include "common.h" #include "util.h" -#include "../include/hitag2.h" +#include "hitag2.h" #include "sleep.h" #include "cmdmain.h" @@ -29,110 +29,125 @@ size_t nbytes(size_t nbits) { int CmdLFHitagList(const char *Cmd) { - uint8_t got[TRACE_BUFFER_SIZE]; - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); + uint8_t *got = malloc(USB_CMD_DATA_SIZE); - PrintAndLog("recorded activity:"); - PrintAndLog(" ETU :nbits: who bytes"); - PrintAndLog("---------+-----+----+-----------"); + // Query for the actual size of the trace + UsbCommand response; + GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0); + WaitForResponse(CMD_ACK, &response); + uint16_t traceLen = response.arg[2]; + if (traceLen > USB_CMD_DATA_SIZE) { + uint8_t *p = realloc(got, traceLen); + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(got); + return 2; + } + got = p; + GetFromBigBuf(got, traceLen, 0); + WaitForResponse(CMD_ACK,NULL); + } + + PrintAndLog("recorded activity (TraceLen = %d bytes):"); + PrintAndLog(" ETU :nbits: who bytes"); + PrintAndLog("---------+-----+----+-----------"); - int i = 0; - int prev = -1; - int len = strlen(Cmd); + int i = 0; + int prev = -1; + int len = strlen(Cmd); - char filename[FILE_PATH_SIZE] = { 0x00 }; - FILE* pf = NULL; + char filename[FILE_PATH_SIZE] = { 0x00 }; + FILE* pf = NULL; - if (len > FILE_PATH_SIZE) - len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); + if (len > FILE_PATH_SIZE) + len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); - if (strlen(filename) > 0) { - if ((pf = fopen(filename,"wb")) == NULL) { - PrintAndLog("Error: Could not open file [%s]",filename); - return 1; + if (strlen(filename) > 0) { + if ((pf = fopen(filename,"wb")) == NULL) { + PrintAndLog("Error: Could not open file [%s]",filename); + return 1; + } } - } - - for (;;) { - - if(i >= TRACE_BUFFER_SIZE) { break; } - bool isResponse; - int timestamp = *((uint32_t *)(got+i)); - if (timestamp & 0x80000000) { - timestamp &= 0x7fffffff; - isResponse = 1; - } else { - isResponse = 0; - } + for (;;) { + + if(i > traceLen) { break; } - 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. + bool isResponse; + int timestamp = *((uint32_t *)(got+i)); + if (timestamp & 0x80000000) { + timestamp &= 0x7fffffff; + isResponse = 1; + } else { + isResponse = 0; + } - int bits = got[i+8]; - int len = nbytes(got[i+8]); + 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. - if (len > 100) { - break; - } - if (i + len >= TRACE_BUFFER_SIZE) { break;} + int bits = got[i+8]; + int len = nbytes(got[i+8]); - uint8_t *frame = (got+i+9); + if (len > 100) { + break; + } + if (i + len > traceLen) { break;} - // Break and stick with current result if buffer was not completely full - if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; } + uint8_t *frame = (got+i+9); - char line[1000] = ""; - int j; - for (j = 0; j < len; j++) { - int oddparity = 0x01; - int k; + // Break and stick with current result if buffer was not completely full + if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; } - for (k=0;k<8;k++) { - oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); - } + char line[1000] = ""; + int j; + for (j = 0; j < len; j++) { + int oddparity = 0x01; + int k; - //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); + } - PrintAndLog(" +%7d: %3d: %s %s", - (prev < 0 ? 0 : (timestamp - prev)), - bits, - (isResponse ? "TAG" : " "), - line); + //if((parityBits >> (len - j - 1)) & 0x01) { + if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { + sprintf(line+(j*4), "%02x! ", frame[j]); + } + else { + sprintf(line+(j*4), "%02x ", frame[j]); + } + } + PrintAndLog(" +%7d: %3d: %s %s", + (prev < 0 ? 0 : (timestamp - prev)), + bits, + (isResponse ? "TAG" : " "), + line); - if (pf) { - fprintf(pf," +%7d: %3d: %s %s\n", - (prev < 0 ? 0 : (timestamp - prev)), - bits, - (isResponse ? "TAG" : " "), - line); - } - - prev = timestamp; - i += (len + 9); - } + if (pf) { + fprintf(pf," +%7d: %3d: %s %s\n", + (prev < 0 ? 0 : (timestamp - prev)), + bits, + (isResponse ? "TAG" : " "), + line); + } + + prev = timestamp; + i += (len + 9); + } - if (pf) { - fclose(pf); - PrintAndLog("Recorded activity succesfully written to file: %s", filename); - } - - return 0; + if (pf) { + fclose(pf); + PrintAndLog("Recorded activity succesfully written to file: %s", filename); + } + + free(got); + return 0; } int CmdLFHitagSnoop(const char *Cmd) { @@ -143,14 +158,14 @@ int CmdLFHitagSnoop(const char *Cmd) { int CmdLFHitagSim(const char *Cmd) { - UsbCommand c = {CMD_SIMULATE_HITAG}; + UsbCommand c = {CMD_SIMULATE_HITAG}; char filename[FILE_PATH_SIZE] = { 0x00 }; FILE* pf; bool tag_mem_supplied; int len = strlen(Cmd); if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; memcpy(filename, Cmd, len); - + if (strlen(filename) > 0) { if ((pf = fopen(filename,"rb+")) == NULL) { PrintAndLog("Error: Could not open file [%s]",filename); @@ -158,10 +173,10 @@ int CmdLFHitagSim(const char *Cmd) { } tag_mem_supplied = true; if (fread(c.d.asBytes,48,1,pf) == 0) { - PrintAndLog("Error: File reading error"); + PrintAndLog("Error: File reading error"); fclose(pf); return 1; - } + } fclose(pf); } else { tag_mem_supplied = false; @@ -249,7 +264,7 @@ static command_t CommandTable[] = {"reader", CmdLFHitagReader, 1, "Act like a Hitag Reader"}, {"sim", CmdLFHitagSim, 1, " Simulate Hitag transponder"}, {"snoop", CmdLFHitagSnoop, 1, "Eavesdrop Hitag communication"}, - {NULL, NULL, 0, NULL} + {NULL, NULL, 0, NULL} }; int CmdLFHitag(const char *Cmd) diff --git a/client/cmdlfio.c b/client/cmdlfio.c index 129323ac..14ce5498 100644 --- a/client/cmdlfio.c +++ b/client/cmdlfio.c @@ -16,13 +16,13 @@ static int CmdHelp(const char *Cmd); int CmdIODemodFSK(const char *Cmd) { - int findone = 0; - if (Cmd[0] =='1') findone = 1; + int findone=0; + if(Cmd[0]=='1') findone=1; - UsbCommand c={CMD_IO_DEMOD_FSK}; - c.arg[0] = findone; - SendCommand(&c); - return 0; + UsbCommand c={CMD_IO_DEMOD_FSK}; + c.arg[0]=findone; + SendCommand(&c); + return 0; } int CmdIOProxDemod(const char *Cmd){ @@ -66,10 +66,10 @@ int CmdIOClone(const char *Cmd) static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"demod", CmdIOProxDemod, 1, "Demodulate Stream"}, - {"fskdemod", CmdIODemodFSK, 0, "['1'] Realtime IO FSK demodulator (option '1' for one tag only)"}, - {"clone", CmdIOClone, 0, "Clone ioProx Tag"}, + {"help", CmdHelp, 1, "This help"}, + {"demod", CmdIOProxDemod, 1, "Demodulate Stream"}, + {"fskdemod", CmdIODemodFSK, 0, "['1'] Realtime IO FSK demodulator (option '1' for one tag only)"}, + {"clone", CmdIOClone, 0, "Clone ioProx Tag"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdmain.c b/client/cmdmain.c index c18967cc..512aa13c 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -16,7 +16,7 @@ #include "cmdparser.h" #include "proxmark3.h" #include "data.h" -#include "../include/usb_cmd.h" +#include "usb_cmd.h" #include "ui.h" #include "cmdhf.h" #include "cmddata.h" @@ -42,14 +42,14 @@ static int cmd_tail;//Starts as 0 static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help. Use ' help' for details of a particular command."}, - {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"}, + {"help", CmdHelp, 1, "This help. Use ' help' for details of a particular command."}, + {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"}, {"hf", CmdHF, 1, "{ High Frequency commands... }"}, - {"hw", CmdHW, 1, "{ Hardware commands... }"}, + {"hw", CmdHW, 1, "{ Hardware commands... }"}, {"lf", CmdLF, 1, "{ Low Frequency commands... }"}, - {"script", CmdScript, 1, "{ Scripting commands }"}, - {"quit", CmdQuit, 1, "Exit program"}, - {"exit", CmdQuit, 1, "Exit program"}, + {"script", CmdScript, 1,"{ Scripting commands }"}, + {"quit", CmdQuit, 1, "Exit program"}, + {"exit", CmdQuit, 1, "Exit program"}, {NULL, NULL, 0, NULL} }; @@ -130,26 +130,26 @@ int getCommand(UsbCommand* response) * @return true if command was returned, otherwise false */ bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout) { - - UsbCommand resp; + + UsbCommand resp; if (response == NULL) - response = &resp; - - - // Wait until the command is received - for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) { - - while (getCommand(response)) { - if(response->cmd == cmd){ - return true; - } - } - msleep(10); // XXX ugh - if (dm_seconds == 200) { // Two seconds elapsed - PrintAndLog("Waiting for a response from the proxmark..."); - PrintAndLog("Don't forget to cancel its operation first by pressing on the button"); - } + response = &resp; + + + // Wait until the command is received + for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) { + + while(getCommand(response)) { + if(response->cmd == cmd){ + return true; + } + } + msleep(10); // XXX ugh + if (dm_seconds == 200) { // Two seconds elapsed + PrintAndLog("Waiting for a response from the proxmark..."); + PrintAndLog("Don't forget to cancel its operation first by pressing on the button"); + } } return false; } @@ -175,27 +175,26 @@ void UsbCommandReceived(UsbCommand *UC) switch(UC->cmd) { // First check if we are handling a debug message case CMD_DEBUG_PRINT_STRING: { - char s[USB_CMD_DATA_SIZE+1] = {0x00}; - size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE); - memcpy(s,UC->d.asBytes,len); - PrintAndLog("#db# %s ", s); - return; + char s[USB_CMD_DATA_SIZE+1] = {0x00}; + size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE); + memcpy(s,UC->d.asBytes,len); + PrintAndLog("#db# %s ", s); + return; } break; case CMD_DEBUG_PRINT_INTEGERS: { - PrintAndLog("#db# %08x, %08x, %08x \r\n", UC->arg[0], UC->arg[1], UC->arg[2]); - return; + PrintAndLog("#db# %08x, %08x, %08x \r\n", UC->arg[0], UC->arg[1], UC->arg[2]); + return; } break; - + case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { - sample_buf_len += UC->arg[1]; - memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]); + memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]); } break; default: - break; - } + break; + } - storeCommand(UC); + storeCommand(UC); } diff --git a/client/data.c b/client/data.c index 3f019326..4d7d1e41 100644 --- a/client/data.c +++ b/client/data.c @@ -16,11 +16,9 @@ #include "cmdmain.h" uint8_t* sample_buf; -size_t sample_buf_len; void GetFromBigBuf(uint8_t *dest, int bytes, int start_index) { - sample_buf_len = 0; sample_buf = dest; UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {start_index, bytes, 0}}; SendCommand(&c); diff --git a/client/data.h b/client/data.h index 41bd9a41..7d85e1f1 100644 --- a/client/data.h +++ b/client/data.h @@ -13,13 +13,9 @@ #include -//trace buffer size as defined in armsrc/apps.h TRACE_SIZE -#define TRACE_BUFFER_SIZE 4096 #define FILE_PATH_SIZE 1000 -#define SAMPLE_BUFFER_SIZE 64 extern uint8_t* sample_buf; -extern size_t sample_buf_len; #define arraylen(x) (sizeof(x)/sizeof((x)[0])) void GetFromBigBuf(uint8_t *dest, int bytes, int start_index); diff --git a/client/flash.c b/client/flash.c index 7976d410..4e222ece 100644 --- a/client/flash.c +++ b/client/flash.c @@ -16,7 +16,7 @@ #include "flash.h" #include "elf.h" #include "proxendian.h" -#include "../include/usb_cmd.h" +#include "usb_cmd.h" void SendCommand(UsbCommand* txcmd); void ReceiveCommand(UsbCommand* rxcmd); @@ -275,7 +275,7 @@ static int get_proxmark_state(uint32_t *state) { UsbCommand c; c.cmd = CMD_DEVICE_INFO; - SendCommand(&c); + SendCommand(&c); UsbCommand resp; ReceiveCommand(&resp); @@ -404,11 +404,11 @@ static int write_block(uint32_t address, uint8_t *data, uint32_t length) memset(block_buf, 0xFF, BLOCK_SIZE); memcpy(block_buf, data, length); - UsbCommand c; + UsbCommand c; c.cmd = CMD_FINISH_WRITE; c.arg[0] = address; memcpy(c.d.asBytes, block_buf, length); - SendCommand(&c); + SendCommand(&c); return wait_for_ack(); } @@ -469,7 +469,7 @@ void flash_free(flash_file_t *ctx) // just reset the unit int flash_stop_flashing(void) { UsbCommand c = {CMD_HARDWARE_RESET}; - SendCommand(&c); - msleep(100); - return 0; + SendCommand(&c); + msleep(100); + return 0; } diff --git a/client/graph.c b/client/graph.c index d0f6fe74..95050f55 100644 --- a/client/graph.c +++ b/client/graph.c @@ -22,92 +22,85 @@ int GraphTraceLen; void AppendGraph(int redraw, int clock, int bit) { int i; - int half = (int)(clock/2); - int firstbit = bit ^ 1; - - for (i = 0; i < half; ++i) - GraphBuffer[GraphTraceLen++] = firstbit; - - for (i = 0; i <= half; ++i) + + for (i = 0; i < (int)(clock / 2); ++i) + GraphBuffer[GraphTraceLen++] = bit ^ 1; + + for (i = (int)(clock / 2); i < clock; ++i) GraphBuffer[GraphTraceLen++] = bit; if (redraw) RepaintGraphWindow(); } -/* clear out our graph window */ +// clear out our graph window int ClearGraph(int redraw) { int gtl = GraphTraceLen; memset(GraphBuffer, 0x00, GraphTraceLen); GraphTraceLen = 0; - + if (redraw) RepaintGraphWindow(); return gtl; } -void SetGraphBuf(uint8_t *buff, int size) +// DETECT CLOCK NOW IN LFDEMOD.C + +void setGraphBuf(uint8_t *buff, size_t size) { if ( buff == NULL ) return; uint16_t i = 0; if ( size > MAX_GRAPH_TRACE_LEN ) size = MAX_GRAPH_TRACE_LEN; - ClearGraph(0); - for (; i < size; ++i){ - GraphBuffer[i] = buff[i]; - } - GraphTraceLen = size; - RepaintGraphWindow(); - return; + ClearGraph(0); + for (; i < size; ++i){ + GraphBuffer[i]=buff[i]-128; + } + GraphTraceLen=size; + RepaintGraphWindow(); + return; } - -// Copies grahpbuff to buff. -// while triming values to the range -127 -- 127. -int GetFromGraphBuf(uint8_t *buff) +size_t getFromGraphBuf(uint8_t *buff) { - if ( buff == NULL ) return -1; - uint32_t i = 0; - - for (; i < GraphTraceLen; ++i){ + if ( buff == NULL ) return 0; - // trim upper and lower values. - if (GraphBuffer[i] > 127) - GraphBuffer[i] = 127; - else if (GraphBuffer[i] < -127) - GraphBuffer[i] = -127; - - buff[i] = (uint8_t)(GraphBuffer[i] + 128); - } - return i; + uint32_t i; + for (i=0;i127) GraphBuffer[i]=127; //trim + if (GraphBuffer[i]<-127) GraphBuffer[i]=-127; //trim + buff[i]=(uint8_t)(GraphBuffer[i]+128); + } + return i; } -/* Get or auto-detect clock rate */ -int GetClock(const char *str, int verbose) + + +// Get or auto-detect clock rate +int GetClock(const char *str, int peak, int verbose) { int clock; - sscanf(str, "%i", &clock); if (!strcmp(str, "")) clock = 0; - /* Auto-detect clock */ - if (!clock) { - - uint8_t grph[MAX_GRAPH_TRACE_LEN] = {0x00}; - int size = GetFromGraphBuf(grph); - if ( size < 0 ) { + // Auto-detect clock + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(grph); + if ( size == 0 ) { PrintAndLog("Failed to copy from graphbuffer"); return -1; } - clock = DetectASKClock(grph, size, 0); - - /* Only print this message if we're not looping something */ - if (verbose) + clock = DetectASKClock(grph,size,0); + // Only print this message if we're not looping something + if (!verbose){ PrintAndLog("Auto-detected clock rate: %d", clock); } + } return clock; } @@ -141,4 +134,29 @@ void DetectHighLowInGraph(int *high, int *low, bool addFuzz) { *high = (int)(*high * .88); *low = (int)(*low * .88); } -} \ No newline at end of file +} + +int GetNRZpskClock(const char *str, int peak, int verbose) +{ + int clock; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; + + // Auto-detect clock + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(grph); + if ( size == 0 ) { + PrintAndLog("Failed to copy from graphbuffer"); + return -1; + } + clock = DetectpskNRZClock(grph,size,0); + // Only print this message if we're not looping something + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + } + } + return clock; +} diff --git a/client/graph.h b/client/graph.h index c745270d..fe35d4f1 100644 --- a/client/graph.h +++ b/client/graph.h @@ -10,12 +10,16 @@ #ifndef GRAPH_H__ #define GRAPH_H__ +#include void AppendGraph(int redraw, int clock, int bit); int ClearGraph(int redraw); -int GetFromGraphBuf(uint8_t *buff); -int GetClock(const char *str, int verbose); -void SetGraphBuf(uint8_t *buff,int size); +//int DetectClock(int peak); +size_t getFromGraphBuf(uint8_t *buff); +int GetClock(const char *str, int peak, int verbose); +int GetNRZpskClock(const char *str, int peak, int verbose); +void setGraphBuf(uint8_t *buff, size_t size); + bool HasGraphData(); void DetectHighLowInGraph(int *high, int *low, bool addFuzz); diff --git a/client/loclass/cipher.c b/client/loclass/cipher.c index 1c9dae8b..9c1c2cfd 100644 --- a/client/loclass/cipher.c +++ b/client/loclass/cipher.c @@ -30,9 +30,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #include "cipher.h" #include "cipherutils.h" #include diff --git a/client/loclass/cipher.h b/client/loclass/cipher.h index 314a560a..176a2976 100644 --- a/client/loclass/cipher.h +++ b/client/loclass/cipher.h @@ -30,9 +30,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #ifndef CIPHER_H #define CIPHER_H #include diff --git a/client/loclass/cipherutils.c b/client/loclass/cipherutils.c index f82a11ce..f9c62273 100644 --- a/client/loclass/cipherutils.c +++ b/client/loclass/cipherutils.c @@ -30,7 +30,10 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ #include diff --git a/client/loclass/cipherutils.h b/client/loclass/cipherutils.h index e2338534..cb090f69 100644 --- a/client/loclass/cipherutils.h +++ b/client/loclass/cipherutils.h @@ -30,9 +30,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #ifndef CIPHERUTILS_H #define CIPHERUTILS_H #include diff --git a/client/loclass/des.h b/client/loclass/des.h index 907d56b1..8b8e6a35 100644 --- a/client/loclass/des.h +++ b/client/loclass/des.h @@ -28,7 +28,13 @@ #define POLARSSL_DES_H //#include "config.h" - +/** + * \def POLARSSL_CIPHER_MODE_CBC + * + * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CBC + #include #if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c index 89eac064..a8ab869e 100644 --- a/client/loclass/elite_crack.c +++ b/client/loclass/elite_crack.c @@ -552,6 +552,7 @@ int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[]) */ int bruteforceFile(const char *filename, uint16_t keytable[]) { + FILE *f = fopen(filename, "rb"); if(!f) { prnlog("Failed to read from file '%s'", filename); @@ -618,7 +619,7 @@ int _testBruteforce() //Test a few variants if(fileExists("iclass_dump.bin")) { - errors |= bruteforceFile("iclass_dump.bin",keytable); + 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")){ @@ -659,6 +660,21 @@ int _test_iclass_key_permutation() prnlog("[+] Iclass key permutation OK!"); return 0; } +int _testHash1() +{ + uint8_t csn[8]= {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0}; + uint8_t k[8] = {0}; + hash1(csn, k); + uint8_t expected[8] = {0x7E,0x72,0x2F,0x40,0x2D,0x02,0x51,0x42}; + if(memcmp(k,expected,8) != 0) + { + prnlog("Error with hash1!"); + printarr("calculated", k, 8); + printarr("expected", expected, 8); + return 1; + } + return 0; +} int testElite() { @@ -691,11 +707,13 @@ int testElite() prnlog("[+] Hash2 looks fine..."); } - prnlog("[+] Testing key diversification ..."); - int errors = 0 ; - errors +=_test_iclass_key_permutation(); + prnlog("[+] Testing hash1..."); + errors += _testHash1(); + prnlog("[+] Testing key diversification ..."); + errors +=_test_iclass_key_permutation(); errors += _testBruteforce(); + return errors; } diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 8ec52cfe..4079dccf 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -78,31 +78,18 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si /*Opening file for writing in binary mode*/ FILE *fileHandle=fopen(fileName,"wb"); if(!fileHandle) { - PrintAndLog("Failed to write to file '%s'", fileName); + prnlog("Failed to write to file '%s'", fileName); free(fileName); return 1; } fwrite(data, 1, datalen, fileHandle); fclose(fileHandle); - PrintAndLog("Saved data to '%s'", fileName); + prnlog("Saved data to '%s'", fileName); free(fileName); return 0; } -int loadFile(const char *fileName, void* data, size_t datalen) -{ - FILE *filehandle = fopen(fileName, "rb"); - if(!filehandle) { - PrintAndLog("Failed to read from file '%s'", fileName); - free(filehandle); - return 1; - } - fread(data,datalen,1,filehandle); - fclose(filehandle); - free(filehandle); - return 0; -} /** * Utility function to print to console. This is used consistently within the library instead * of printf, but it actually only calls printf (and adds a linebreak). diff --git a/client/loclass/iclass_dump.bin b/client/loclass/iclass_dump.bin new file mode 100644 index 00000000..bfecd1ba Binary files /dev/null and b/client/loclass/iclass_dump.bin differ diff --git a/client/loclass/ikeys.c b/client/loclass/ikeys.c index fccd71d8..b21ecdbc 100644 --- a/client/loclass/ikeys.c +++ b/client/loclass/ikeys.c @@ -18,10 +18,6 @@ * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and * Milosch Meriac in the paper "Dismantling IClass". * - * This is a reference implementation of iclass key diversification. I'm sure it can be - * optimized heavily. It is written for ease of understanding and correctness, please take it - * and tweak it and make a super fast version instead, using this for testing and verification. - * Copyright (C) 2014 Martin Holst Swende * * This is free software: you can redistribute it and/or modify @@ -34,8 +30,12 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + /** diff --git a/client/loclass/loclass_main.h b/client/loclass/loclass_main.h new file mode 100644 index 00000000..b6d58a8b --- /dev/null +++ b/client/loclass/loclass_main.h @@ -0,0 +1,4 @@ +#ifndef LOCLASS_MAIN_H +#define LOCLASS_MAIN_H + +#endif // LOCLASS_MAIN_H diff --git a/client/loclass/main.c b/client/loclass/main.c index 50671a19..d1b0359b 100644 --- a/client/loclass/main.c +++ b/client/loclass/main.c @@ -38,7 +38,6 @@ #include -#include #include #include #include @@ -56,11 +55,15 @@ int unitTests() errors += testMAC(); errors += doKeyTests(0); errors += testElite(); + if(errors) + { + prnlog("OBS! There were errors!!!"); + } return errors; } int showHelp() { - prnlog("Usage: iclazz [options]"); + prnlog("Usage: loclass [options]"); prnlog("Options:"); prnlog("-t Perform self-test"); prnlog("-h Show this help"); diff --git a/client/lualibs/commands.lua b/client/lualibs/commands.lua index d2acb3be..6f309001 100644 --- a/client/lualibs/commands.lua +++ b/client/lualibs/commands.lua @@ -48,7 +48,7 @@ local _commands = { CMD_EM4X_READ_WORD = 0x0218, CMD_EM4X_WRITE_WORD = 0x0219, CMD_IO_DEMOD_FSK = 0x021A, - CMD_IO_CLONE_TAG = 0x021B, + 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 */ @@ -109,7 +109,7 @@ local _commands = { CMD_MIFARE_CSETBLOCK = 0x0605, CMD_MIFARE_CGETBLOCK = 0x0606, CMD_MIFARE_CIDENT = 0x0607, - + CMD_SIMULATE_MIFARE_CARD = 0x0610, CMD_READER_MIFARE = 0x0611, @@ -212,7 +212,6 @@ function Command:getBytes() local data = self.data local cmd = self.cmd local arg1, arg2, arg3 = self.arg1, self.arg2, self.arg3 - return bin.pack("LLLLH",cmd, arg1, arg2, arg3,data); end return _commands \ No newline at end of file diff --git a/client/lualibs/html_dumplib.lua b/client/lualibs/html_dumplib.lua index a7890885..bd8e6d0c 100644 --- a/client/lualibs/html_dumplib.lua +++ b/client/lualibs/html_dumplib.lua @@ -49,7 +49,7 @@ end local function save_TEXT(data,filename) -- Open the output file - local outfile = io.open(filename, "wb") + local outfile = io.open(filename, "w") if outfile == nil then return oops(string.format("Could not write to file %s",tostring(filename))) end @@ -195,4 +195,6 @@ return { convert_eml_to_bin = convert_eml_to_bin, SaveAsBinary = save_BIN, SaveAsText = save_TEXT, + SaveAsBinary = save_BIN, + SaveAsText = save_TEXT, } diff --git a/client/lualibs/mf_default_keys.lua b/client/lualibs/mf_default_keys.lua index 810f0d6e..cca4699e 100644 --- a/client/lualibs/mf_default_keys.lua +++ b/client/lualibs/mf_default_keys.lua @@ -158,6 +158,20 @@ local _keys = { 'eff603e1efe9', '644672bd4afe', + 'b5ff67cba951', + } + + --[[ + Kiev metro cards + --]] + '8fe644038790', + 'f14ee7cae863', + '632193be1c3c', + '569369c5a0e5', + '9de89e070277', + 'eff603e1efe9', + '644672bd4afe', + 'b5ff67cba951', } diff --git a/client/lualibs/utils.lua b/client/lualibs/utils.lua index 9b36dfc8..3015c419 100644 --- a/client/lualibs/utils.lua +++ b/client/lualibs/utils.lua @@ -108,6 +108,24 @@ local Utils = return retval end, + -- input parameter is a string + -- Swaps the endianess and returns a string, + -- IE: 'cd7a' -> '7acd' -> 0x7acd + SwapEndiannessStr = function(s, len) + if s == nil then return nil end + if #s == 0 then return '' end + if type(s) ~= 'string' then return nil end + + local retval + if len == 16 then + retval = s:sub(3,4)..s:sub(1,2) + elseif len == 24 then + retval = s:sub(5,6)..s:sub(3,4)..s:sub(1,2) + elseif len == 32 then + retval = s:sub(7,8)..s:sub(5,6)..s:sub(3,4)..s:sub(1,2) + end + return retval + end, ------------ CONVERSIONS -- @@ -116,7 +134,7 @@ local Utils = local B,K,OUT,I,D=16,"0123456789ABCDEF","",0 while IN>0 do I=I+1 - IN,D=math.floor(IN/B),math.mod(IN,B)+1 + IN , D = math.floor(IN/B), math.modf(IN,B)+1 OUT=string.sub(K,D,D)..OUT end return OUT diff --git a/client/mifarehost.c b/client/mifarehost.c index 3516fca4..60dba6c0 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -72,7 +72,6 @@ int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo uint16_t i, len; uint32_t uid; UsbCommand resp; - StateList_t statelists[2]; struct Crypto1State *p1, *p2, *p3, *p4; @@ -232,14 +231,27 @@ int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount) { // "MAGIC" CARD int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe) { + + uint8_t oldblock0[16] = {0x00}; uint8_t block0[16] = {0x00}; memcpy(block0, uid, 4); block0[4] = block0[0]^block0[1]^block0[2]^block0[3]; // Mifare UID BCC // mifare classic SAK(byte 5) and ATQA(byte 6 and 7) - block0[5] = 0x08; - block0[6] = 0x04; - block0[7] = 0x00; + //block0[5] = 0x08; + //block0[6] = 0x04; + //block0[7] = 0x00; + + block0[5] = 0x01; //sak + block0[6] = 0x01; + block0[7] = 0x0f; + int old = mfCGetBlock(0, oldblock0, CSETBLOCK_SINGLE_OPER); + if ( old == 0) { + memcpy(block0+8, oldblock0+8, 8); + PrintAndLog("block 0: %s", sprint_hex(block0,16)); + } else { + PrintAndLog("Couldn't get olddata. Will write over the last bytes of Block 0."); + } return mfCSetBlock(0, block0, oldUID, wantWipe, CSETBLOCK_SINGLE_OPER); } @@ -253,8 +265,10 @@ int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uin UsbCommand resp; if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { isOK = resp.arg[0] & 0xff; - if (uid != NULL) memcpy(uid, resp.d.asBytes, 4); - if (!isOK) return 2; + if (uid != NULL) + memcpy(uid, resp.d.asBytes, 4); + if (!isOK) + return 2; } else { PrintAndLog("Command execute timeout"); return 1; @@ -286,9 +300,9 @@ int mfCGetBlock(uint8_t blockNo, uint8_t *data, uint8_t params) { static uint8_t trailerAccessBytes[4] = {0x08, 0x77, 0x8F, 0x00}; // variables -char logHexFileName[200] = {0x00}; +char logHexFileName[FILE_PATH_SIZE] = {0x00}; static uint8_t traceCard[4096] = {0x00}; -static char traceFileName[200] = {0x00}; +static char traceFileName[FILE_PATH_SIZE] = {0x00}; static int traceState = TRACE_IDLE; static uint8_t traceCurBlock = 0; static uint8_t traceCurKey = 0; @@ -323,20 +337,28 @@ int isBlockTrailer(int blockN) { int loadTraceCard(uint8_t *tuid) { FILE * f; - char buf[64]; - uint8_t buf8[64]; + char buf[64] = {0x00}; + uint8_t buf8[64] = {0x00}; int i, blockNum; - if (!isTraceCardEmpty()) saveTraceCard(); + if (!isTraceCardEmpty()) + saveTraceCard(); + memset(traceCard, 0x00, 4096); memcpy(traceCard, tuid + 3, 4); + FillFileNameByUID(traceFileName, tuid, ".eml", 7); f = fopen(traceFileName, "r"); - if (!f) return 1; + if (!f) { + fclose(f); + return 1; + } blockNum = 0; + while(!feof(f)){ + memset(buf, 0, sizeof(buf)); if (fgets(buf, sizeof(buf), f) == NULL) { PrintAndLog("File reading error."); @@ -368,22 +390,30 @@ int saveTraceCard(void) { if ((!strlen(traceFileName)) || (isTraceCardEmpty())) return 0; f = fopen(traceFileName, "w+"); + if ( !f ) { + fclose(f); + return 1; + } + for (int i = 0; i < 64; i++) { // blocks for (int j = 0; j < 16; j++) // bytes fprintf(f, "%02x", *(traceCard + i * 16 + j)); fprintf(f,"\n"); } fclose(f); - return 0; } int mfTraceInit(uint8_t *tuid, uint8_t *atqa, uint8_t sak, bool wantSaveToEmlFile) { - if (traceCrypto1) crypto1_destroy(traceCrypto1); + if (traceCrypto1) + crypto1_destroy(traceCrypto1); + traceCrypto1 = NULL; - if (wantSaveToEmlFile) loadTraceCard(tuid); + if (wantSaveToEmlFile) + loadTraceCard(tuid); + traceCard[4] = traceCard[0] ^ traceCard[1] ^ traceCard[2] ^ traceCard[3]; traceCard[5] = sak; memcpy(&traceCard[6], atqa, 2); diff --git a/client/mifarehost.h b/client/mifarehost.h index 3e946cd9..96eb75f7 100644 --- a/client/mifarehost.h +++ b/client/mifarehost.h @@ -47,7 +47,7 @@ typedef struct { int foundKey[2]; } sector; -extern char logHexFileName[200]; +extern char logHexFileName[FILE_PATH_SIZE]; int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t * ResultKeys, bool calibrate); int mfCheckKeys (uint8_t blockNo, uint8_t keyType, uint8_t keycnt, uint8_t * keyBlock, uint64_t * key); diff --git a/client/nonce2key/crapto1.c b/client/nonce2key/crapto1.c index c2dd7a54..ca926a73 100644 --- a/client/nonce2key/crapto1.c +++ b/client/nonce2key/crapto1.c @@ -545,9 +545,9 @@ 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); + free(statelist); + free(odd); + free(even); return 0; } diff --git a/client/polarssl_config.h b/client/polarssl_config.h new file mode 100644 index 00000000..5bd88fc0 --- /dev/null +++ b/client/polarssl_config.h @@ -0,0 +1,2179 @@ +/** + * \file config.h + * + * \brief Configuration options (set of defines) + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * This set of compile-time options may be used to enable + * or disable features selectively, and reduce the global + * memory footprint. + */ +#ifndef POLARSSL_CONFIG_H +#define POLARSSL_CONFIG_H + +#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +#define _CRT_SECURE_NO_DEPRECATE 1 +#endif + +/** + * \name SECTION: System support + * + * This section sets system specific settings. + * \{ + */ + +/** + * \def POLARSSL_HAVE_INT8 + * + * The system uses 8-bit wide native integers. + * + * Uncomment if native integers are 8-bit wide. + */ +//#define POLARSSL_HAVE_INT8 + +/** + * \def POLARSSL_HAVE_INT16 + * + * The system uses 16-bit wide native integers. + * + * Uncomment if native integers are 16-bit wide. + */ +//#define POLARSSL_HAVE_INT16 + +/** + * \def POLARSSL_HAVE_LONGLONG + * + * The compiler supports the 'long long' type. + * (Only used on 32-bit platforms) + */ +#define POLARSSL_HAVE_LONGLONG + +/** + * \def POLARSSL_HAVE_ASM + * + * The compiler has support for asm(). + * + * Requires support for asm() in compiler. + * + * Used in: + * library/timing.c + * library/padlock.c + * include/polarssl/bn_mul.h + * + * Comment to disable the use of assembly code. + */ +#define POLARSSL_HAVE_ASM + +/** + * \def POLARSSL_HAVE_SSE2 + * + * CPU supports SSE2 instruction set. + * + * Uncomment if the CPU supports SSE2 (IA-32 specific). + */ +//#define POLARSSL_HAVE_SSE2 + +/** + * \def POLARSSL_HAVE_TIME + * + * System has time.h and time() / localtime() / gettimeofday(). + * + * Comment if your system does not support time functions + */ +#define POLARSSL_HAVE_TIME + +/** + * \def POLARSSL_HAVE_IPV6 + * + * System supports the basic socket interface for IPv6 (RFC 3493), + * specifically getaddrinfo(), freeaddrinfo() and struct sockaddr_storage. + * + * Note: on Windows/MingW, XP or higher is required. + * + * Comment if your system does not support the IPv6 socket interface + */ +#define POLARSSL_HAVE_IPV6 + +/** + * \def POLARSSL_PLATFORM_MEMORY + * + * Enable the memory allocation layer. + * + * By default PolarSSL uses the system-provided malloc() and free(). + * This allows different allocators (self-implemented or provided) to be + * provided to the platform abstraction layer. + * + * Enabling POLARSSL_PLATFORM_MEMORY will provide "platform_set_malloc_free()" + * to allow you to set an alternative malloc() and free() function pointer. + * + * Requires: POLARSSL_PLATFORM_C + * + * Enable this layer to allow use of alternative memory allocators. + */ +//#define POLARSSL_PLATFORM_MEMORY + +/** + * \def POLARSSL_PLATFORM_NO_STD_FUNCTIONS + * + * Do not assign standard functions in the platform layer (e.g. malloc() to + * POLARSSL_PLATFORM_STD_MALLOC and printf() to POLARSSL_PLATFORM_STD_PRINTF) + * + * This makes sure there are no linking errors on platforms that do not support + * these functions. You will HAVE to provide alternatives, either at runtime + * via the platform_set_xxx() functions or at compile time by setting + * the POLARSSL_PLATFORM_STD_XXX defines. + * + * Requires: POLARSSL_PLATFORM_C + * + * Uncomment to prevent default assignment of standard functions in the + * platform layer. + */ +//#define POLARSSL_PLATFORM_NO_STD_FUNCTIONS + +/** + * \def POLARSSL_PLATFORM_XXX_ALT + * + * Uncomment a macro to let PolarSSL support the function in the platform + * abstraction layer. + * + * Example: In case you uncomment POLARSSL_PLATFORM_PRINTF_ALT, PolarSSL will + * provide a function "platform_set_printf()" that allows you to set an + * alternative printf function pointer. + * + * All these define require POLARSSL_PLATFORM_C to be defined! + * + * Uncomment a macro to enable alternate implementation of specific base + * platform function + */ +//#define POLARSSL_PLATFORM_PRINTF_ALT +//#define POLARSSL_PLATFORM_FPRINTF_ALT +/* \} name SECTION: System support */ + +/** + * \name SECTION: PolarSSL feature support + * + * This section sets support for features that are or are not needed + * within the modules that are enabled. + * \{ + */ + +/** + * \def POLARSSL_TIMING_ALT + * + * Uncomment to provide your own alternate implementation for hardclock(), + * get_timer(), set_alarm() and m_sleep(). + * + * Only works if you have POLARSSL_TIMING_C enabled. + * + * You will need to provide a header "timing_alt.h" and an implementation at + * compile time. + */ +//#define POLARSSL_TIMING_ALT + +/** + * \def POLARSSL_XXX_ALT + * + * Uncomment a macro to let PolarSSL use your alternate core implementation of + * a symmetric or hash algorithm (e.g. platform specific assembly optimized + * implementations). Keep in mind that the function prototypes should remain + * the same. + * + * Example: In case you uncomment POLARSSL_AES_ALT, PolarSSL will no longer + * provide the "struct aes_context" definition and omit the base function + * declarations and implementations. "aes_alt.h" will be included from + * "aes.h" to include the new function definitions. + * + * Uncomment a macro to enable alternate implementation for core algorithm + * functions + */ +//#define POLARSSL_AES_ALT +//#define POLARSSL_ARC4_ALT +//#define POLARSSL_BLOWFISH_ALT +//#define POLARSSL_CAMELLIA_ALT +//#define POLARSSL_DES_ALT +//#define POLARSSL_XTEA_ALT +//#define POLARSSL_MD2_ALT +//#define POLARSSL_MD4_ALT +//#define POLARSSL_MD5_ALT +//#define POLARSSL_RIPEMD160_ALT +//#define POLARSSL_SHA1_ALT +//#define POLARSSL_SHA256_ALT +//#define POLARSSL_SHA512_ALT + +/** + * \def POLARSSL_AES_ROM_TABLES + * + * Store the AES tables in ROM. + * + * Uncomment this macro to store the AES tables in ROM. + * + */ +//#define POLARSSL_AES_ROM_TABLES + +/** + * \def POLARSSL_CIPHER_MODE_CBC + * + * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CBC + +/** + * \def POLARSSL_CIPHER_MODE_CFB + * + * Enable Cipher Feedback mode (CFB) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CFB + +/** + * \def POLARSSL_CIPHER_MODE_CTR + * + * Enable Counter Block Cipher mode (CTR) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CTR + +/** + * \def POLARSSL_CIPHER_NULL_CIPHER + * + * Enable NULL cipher. + * Warning: Only do so when you know what you are doing. This allows for + * encryption or channels without any security! + * + * Requires POLARSSL_ENABLE_WEAK_CIPHERSUITES as well to enable + * the following ciphersuites: + * TLS_ECDH_ECDSA_WITH_NULL_SHA + * TLS_ECDH_RSA_WITH_NULL_SHA + * TLS_ECDHE_ECDSA_WITH_NULL_SHA + * TLS_ECDHE_RSA_WITH_NULL_SHA + * TLS_ECDHE_PSK_WITH_NULL_SHA384 + * TLS_ECDHE_PSK_WITH_NULL_SHA256 + * TLS_ECDHE_PSK_WITH_NULL_SHA + * TLS_DHE_PSK_WITH_NULL_SHA384 + * TLS_DHE_PSK_WITH_NULL_SHA256 + * TLS_DHE_PSK_WITH_NULL_SHA + * TLS_RSA_WITH_NULL_SHA256 + * TLS_RSA_WITH_NULL_SHA + * TLS_RSA_WITH_NULL_MD5 + * TLS_RSA_PSK_WITH_NULL_SHA384 + * TLS_RSA_PSK_WITH_NULL_SHA256 + * TLS_RSA_PSK_WITH_NULL_SHA + * TLS_PSK_WITH_NULL_SHA384 + * TLS_PSK_WITH_NULL_SHA256 + * TLS_PSK_WITH_NULL_SHA + * + * Uncomment this macro to enable the NULL cipher and ciphersuites + */ +//#define POLARSSL_CIPHER_NULL_CIPHER + +/** + * \def POLARSSL_CIPHER_PADDING_XXX + * + * Uncomment or comment macros to add support for specific padding modes + * in the cipher layer with cipher modes that support padding (e.g. CBC) + * + * If you disable all padding modes, only full blocks can be used with CBC. + * + * Enable padding modes in the cipher layer. + */ +#define POLARSSL_CIPHER_PADDING_PKCS7 +#define POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS +#define POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN +#define POLARSSL_CIPHER_PADDING_ZEROS + +/** + * \def POLARSSL_ENABLE_WEAK_CIPHERSUITES + * + * Enable weak ciphersuites in SSL / TLS. + * Warning: Only do so when you know what you are doing. This allows for + * channels with virtually no security at all! + * + * This enables the following ciphersuites: + * TLS_RSA_WITH_DES_CBC_SHA + * TLS_DHE_RSA_WITH_DES_CBC_SHA + * + * Uncomment this macro to enable weak ciphersuites + */ +//#define POLARSSL_ENABLE_WEAK_CIPHERSUITES + +/** + * \def POLARSSL_REMOVE_ARC4_CIPHERSUITES + * + * Remove RC4 ciphersuites by default in SSL / TLS. + * This flag removes the ciphersuites based on RC4 from the default list as + * returned by ssl_list_ciphersuites(). However, it is still possible to + * enable (some of) them with ssl_set_ciphersuites() by including them + * explicitly. + * + * Uncomment this macro to remove RC4 ciphersuites by default. + */ +//#define POLARSSL_REMOVE_ARC4_CIPHERSUITES + +/** + * \def POLARSSL_ECP_XXXX_ENABLED + * + * Enables specific curves within the Elliptic Curve module. + * By default all supported curves are enabled. + * + * Comment macros to disable the curve and functions for it + */ +#define POLARSSL_ECP_DP_SECP192R1_ENABLED +#define POLARSSL_ECP_DP_SECP224R1_ENABLED +#define POLARSSL_ECP_DP_SECP256R1_ENABLED +#define POLARSSL_ECP_DP_SECP384R1_ENABLED +#define POLARSSL_ECP_DP_SECP521R1_ENABLED +#define POLARSSL_ECP_DP_SECP192K1_ENABLED +#define POLARSSL_ECP_DP_SECP224K1_ENABLED +#define POLARSSL_ECP_DP_SECP256K1_ENABLED +#define POLARSSL_ECP_DP_BP256R1_ENABLED +#define POLARSSL_ECP_DP_BP384R1_ENABLED +#define POLARSSL_ECP_DP_BP512R1_ENABLED +//#define POLARSSL_ECP_DP_M221_ENABLED // Not implemented yet! +#define POLARSSL_ECP_DP_M255_ENABLED +//#define POLARSSL_ECP_DP_M383_ENABLED // Not implemented yet! +//#define POLARSSL_ECP_DP_M511_ENABLED // Not implemented yet! + +/** + * \def POLARSSL_ECP_NIST_OPTIM + * + * Enable specific 'modulo p' routines for each NIST prime. + * Depending on the prime and architecture, makes operations 4 to 8 times + * faster on the corresponding curve. + * + * Comment this macro to disable NIST curves optimisation. + */ +#define POLARSSL_ECP_NIST_OPTIM + +/** + * \def POLARSSL_ECDSA_DETERMINISTIC + * + * Enable deterministic ECDSA (RFC 6979). + * Standard ECDSA is "fragile" in the sense that lack of entropy when signing + * may result in a compromise of the long-term signing key. This is avoided by + * the deterministic variant. + * + * Requires: POLARSSL_HMAC_DRBG_C + * + * Comment this macro to disable deterministic ECDSA. + */ +#define POLARSSL_ECDSA_DETERMINISTIC + +/** + * \def POLARSSL_KEY_EXCHANGE_PSK_ENABLED + * + * Enable the PSK based ciphersuite modes in SSL / TLS. + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_PSK_WITH_AES_256_GCM_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA + * TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_PSK_WITH_AES_128_GCM_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA + * TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED + * + * Enable the DHE-PSK based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_DHM_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA + * TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA + * TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_DHE_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED + * + * Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA + * TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA + * TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED + * + * Enable the RSA-PSK based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA + * TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA + * TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_RSA_ENABLED + * + * Enable the RSA-only based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_RSA_WITH_AES_256_GCM_SHA384 + * TLS_RSA_WITH_AES_256_CBC_SHA256 + * TLS_RSA_WITH_AES_256_CBC_SHA + * TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_RSA_WITH_AES_128_GCM_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA + * TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_WITH_RC4_128_SHA + * TLS_RSA_WITH_RC4_128_MD5 + */ +#define POLARSSL_KEY_EXCHANGE_RSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED + * + * Enable the DHE-RSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_DHM_C, POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA + * TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA + * TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA + */ +#define POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED + * + * Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_RSA_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED + * + * Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_ECDSA_C, POLARSSL_X509_CRT_PARSE_C, + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED + * + * Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_RC4_128_SHA + * TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + */ +#define POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED + * + * Enable the ECDH-RSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_RSA_WITH_RC4_128_SHA + * TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 + */ +#define POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED + +/** + * \def POLARSSL_PK_PARSE_EC_EXTENDED + * + * Enhance support for reading EC keys using variants of SEC1 not allowed by + * RFC 5915 and RFC 5480. + * + * Currently this means parsing the SpecifiedECDomain choice of EC + * parameters (only known groups are supported, not arbitrary domains, to + * avoid validation issues). + * + * Disable if you only need to support RFC 5915 + 5480 key formats. + */ +#define POLARSSL_PK_PARSE_EC_EXTENDED + +/** + * \def POLARSSL_ERROR_STRERROR_BC + * + * Make available the backward compatible error_strerror() next to the + * current polarssl_strerror(). + * + * For new code, it is recommended to use polarssl_strerror() instead and + * disable this. + * + * Disable if you run into name conflicts and want to really remove the + * error_strerror() + */ +#define POLARSSL_ERROR_STRERROR_BC + +/** + * \def POLARSSL_ERROR_STRERROR_DUMMY + * + * Enable a dummy error function to make use of polarssl_strerror() in + * third party libraries easier when POLARSSL_ERROR_C is disabled + * (no effect when POLARSSL_ERROR_C is enabled). + * + * You can safely disable this if POLARSSL_ERROR_C is enabled, or if you're + * not using polarssl_strerror() or error_strerror() in your application. + * + * Disable if you run into name conflicts and want to really remove the + * polarssl_strerror() + */ +#define POLARSSL_ERROR_STRERROR_DUMMY + +/** + * \def POLARSSL_GENPRIME + * + * Enable the prime-number generation code. + * + * Requires: POLARSSL_BIGNUM_C + */ +#define POLARSSL_GENPRIME + +/** + * \def POLARSSL_FS_IO + * + * Enable functions that use the filesystem. + */ +#define POLARSSL_FS_IO + +/** + * \def POLARSSL_NO_DEFAULT_ENTROPY_SOURCES + * + * Do not add default entropy sources. These are the platform specific, + * hardclock and HAVEGE based poll functions. + * + * This is useful to have more control over the added entropy sources in an + * application. + * + * Uncomment this macro to prevent loading of default entropy functions. + */ +//#define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES + +/** + * \def POLARSSL_NO_PLATFORM_ENTROPY + * + * Do not use built-in platform entropy functions. + * This is useful if your platform does not support + * standards like the /dev/urandom or Windows CryptoAPI. + * + * Uncomment this macro to disable the built-in platform entropy functions. + */ +//#define POLARSSL_NO_PLATFORM_ENTROPY + +/** + * \def POLARSSL_ENTROPY_FORCE_SHA256 + * + * Force the entropy accumulator to use a SHA-256 accumulator instead of the + * default SHA-512 based one (if both are available). + * + * Requires: POLARSSL_SHA256_C + * + * On 32-bit systems SHA-256 can be much faster than SHA-512. Use this option + * if you have performance concerns. + * + * This option is only useful if both POLARSSL_SHA256_C and + * POLARSSL_SHA512_C are defined. Otherwise the available hash module is used. + */ +//#define POLARSSL_ENTROPY_FORCE_SHA256 + +/** + * \def POLARSSL_MEMORY_DEBUG + * + * Enable debugging of buffer allocator memory issues. Automatically prints + * (to stderr) all (fatal) messages on memory allocation issues. Enables + * function for 'debug output' of allocated memory. + * + * Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C + * + * Uncomment this macro to let the buffer allocator print out error messages. + */ +//#define POLARSSL_MEMORY_DEBUG + +/** + * \def POLARSSL_MEMORY_BACKTRACE + * + * Include backtrace information with each allocated block. + * + * Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C + * GLIBC-compatible backtrace() an backtrace_symbols() support + * + * Uncomment this macro to include backtrace information + */ +//#define POLARSSL_MEMORY_BACKTRACE + +/** + * \def POLARSSL_PKCS1_V15 + * + * Enable support for PKCS#1 v1.5 encoding. + * + * Requires: POLARSSL_RSA_C + * + * This enables support for PKCS#1 v1.5 operations. + */ +#define POLARSSL_PKCS1_V15 + +/** + * \def POLARSSL_PKCS1_V21 + * + * Enable support for PKCS#1 v2.1 encoding. + * + * Requires: POLARSSL_MD_C, POLARSSL_RSA_C + * + * This enables support for RSAES-OAEP and RSASSA-PSS operations. + */ +#define POLARSSL_PKCS1_V21 + +/** + * \def POLARSSL_RSA_NO_CRT + * + * Do not use the Chinese Remainder Theorem for the RSA private operation. + * + * Uncomment this macro to disable the use of CRT in RSA. + * + */ +//#define POLARSSL_RSA_NO_CRT + +/** + * \def POLARSSL_SELF_TEST + * + * Enable the checkup functions (*_self_test). + */ +#define POLARSSL_SELF_TEST + +/** + * \def POLARSSL_SSL_ALL_ALERT_MESSAGES + * + * Enable sending of alert messages in case of encountered errors as per RFC. + * If you choose not to send the alert messages, PolarSSL can still communicate + * with other servers, only debugging of failures is harder. + * + * The advantage of not sending alert messages, is that no information is given + * about reasons for failures thus preventing adversaries of gaining intel. + * + * Enable sending of all alert messages + */ +#define POLARSSL_SSL_ALERT_MESSAGES + +/** + * \def POLARSSL_SSL_DEBUG_ALL + * + * Enable the debug messages in SSL module for all issues. + * Debug messages have been disabled in some places to prevent timing + * attacks due to (unbalanced) debugging function calls. + * + * If you need all error reporting you should enable this during debugging, + * but remove this for production servers that should log as well. + * + * Uncomment this macro to report all debug messages on errors introducing + * a timing side-channel. + * + */ +//#define POLARSSL_SSL_DEBUG_ALL + +/** + * \def POLARSSL_SSL_HW_RECORD_ACCEL + * + * Enable hooking functions in SSL module for hardware acceleration of + * individual records. + * + * Uncomment this macro to enable hooking functions. + */ +//#define POLARSSL_SSL_HW_RECORD_ACCEL + +/** + * \def POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO + * + * Enable support for receiving and parsing SSLv2 Client Hello messages for the + * SSL Server module (POLARSSL_SSL_SRV_C). + * + * Comment this macro to disable support for SSLv2 Client Hello messages. + */ +#define POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO + +/** + * \def POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE + * + * Pick the ciphersuite according to the client's preferences rather than ours + * in the SSL Server module (POLARSSL_SSL_SRV_C). + * + * Uncomment this macro to respect client's ciphersuite order + */ +//#define POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE + +/** + * \def POLARSSL_SSL_MAX_FRAGMENT_LENGTH + * + * Enable support for RFC 6066 max_fragment_length extension in SSL. + * + * Comment this macro to disable support for the max_fragment_length extension + */ +#define POLARSSL_SSL_MAX_FRAGMENT_LENGTH + +/** + * \def POLARSSL_SSL_PROTO_SSL3 + * + * Enable support for SSL 3.0. + * + * Requires: POLARSSL_MD5_C + * POLARSSL_SHA1_C + * + * Comment this macro to disable support for SSL 3.0 + */ +#define POLARSSL_SSL_PROTO_SSL3 + +/** + * \def POLARSSL_SSL_PROTO_TLS1 + * + * Enable support for TLS 1.0. + * + * Requires: POLARSSL_MD5_C + * POLARSSL_SHA1_C + * + * Comment this macro to disable support for TLS 1.0 + */ +#define POLARSSL_SSL_PROTO_TLS1 + +/** + * \def POLARSSL_SSL_PROTO_TLS1_1 + * + * Enable support for TLS 1.1. + * + * Requires: POLARSSL_MD5_C + * POLARSSL_SHA1_C + * + * Comment this macro to disable support for TLS 1.1 + */ +#define POLARSSL_SSL_PROTO_TLS1_1 + +/** + * \def POLARSSL_SSL_PROTO_TLS1_2 + * + * Enable support for TLS 1.2. + * + * Requires: POLARSSL_SHA1_C or POLARSSL_SHA256_C or POLARSSL_SHA512_C + * (Depends on ciphersuites) + * + * Comment this macro to disable support for TLS 1.2 + */ +#define POLARSSL_SSL_PROTO_TLS1_2 + +/** + * \def POLARSSL_SSL_ALPN + * + * Enable support for Application Layer Protocol Negotiation. + * draft-ietf-tls-applayerprotoneg-05 + * + * Comment this macro to disable support for ALPN. + */ +#define POLARSSL_SSL_ALPN + +/** + * \def POLARSSL_SSL_SESSION_TICKETS + * + * Enable support for RFC 5077 session tickets in SSL. + * + * Requires: POLARSSL_AES_C + * POLARSSL_SHA256_C + * POLARSSL_CIPHER_MODE_CBC + * + * Comment this macro to disable support for SSL session tickets + */ +#define POLARSSL_SSL_SESSION_TICKETS + +/** + * \def POLARSSL_SSL_SERVER_NAME_INDICATION + * + * Enable support for RFC 6066 server name indication (SNI) in SSL. + * + * Comment this macro to disable support for server name indication in SSL + */ +#define POLARSSL_SSL_SERVER_NAME_INDICATION + +/** + * \def POLARSSL_SSL_TRUNCATED_HMAC + * + * Enable support for RFC 6066 truncated HMAC in SSL. + * + * Comment this macro to disable support for truncated HMAC in SSL + */ +#define POLARSSL_SSL_TRUNCATED_HMAC + +/** + * \def POLARSSL_SSL_SET_CURVES + * + * Enable ssl_set_curves(). + * + * This is disabled by default since it breaks binary compatibility with the + * 1.3.x line. If you choose to enable it, you will need to rebuild your + * application against the new header files, relinking will not be enough. + * It will be enabled by default, or no longer an option, in the 1.4 branch. + * + * Uncomment to make ssl_set_curves() available. + */ +//#define POLARSSL_SSL_SET_CURVES + +/** + * \def POLARSSL_THREADING_ALT + * + * Provide your own alternate threading implementation. + * + * Requires: POLARSSL_THREADING_C + * + * Uncomment this to allow your own alternate threading implementation. + */ +//#define POLARSSL_THREADING_ALT + +/** + * \def POLARSSL_THREADING_PTHREAD + * + * Enable the pthread wrapper layer for the threading layer. + * + * Requires: POLARSSL_THREADING_C + * + * Uncomment this to enable pthread mutexes. + */ +//#define POLARSSL_THREADING_PTHREAD + +/** + * \def POLARSSL_VERSION_FEATURES + * + * Allow run-time checking of compile-time enabled features. Thus allowing users + * to check at run-time if the library is for instance compiled with threading + * support via version_check_feature(). + * + * Requires: POLARSSL_VERSION_C + * + * Comment this to disable run-time checking and save ROM space + */ +#define POLARSSL_VERSION_FEATURES + +/** + * \def POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 + * + * If set, the X509 parser will not break-off when parsing an X509 certificate + * and encountering an extension in a v1 or v2 certificate. + * + * Uncomment to prevent an error. + */ +//#define POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 + +/** + * \def POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION + * + * If set, the X509 parser will not break-off when parsing an X509 certificate + * and encountering an unknown critical extension. + * + * Uncomment to prevent an error. + */ +//#define POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION + +/** + * \def POLARSSL_X509_CHECK_KEY_USAGE + * + * Enable verification of the keyUsage extension (CA and leaf certificates). + * + * Disabling this avoids problems with mis-issued and/or misused + * (intermediate) CA and leaf certificates. + * + * \warning Depending on your PKI use, disabling this can be a security risk! + * + * Comment to skip keyUsage checking for both CA and leaf certificates. + */ +#define POLARSSL_X509_CHECK_KEY_USAGE + +/** + * \def POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE + * + * Enable verification of the extendedKeyUsage extension (leaf certificates). + * + * Disabling this avoids problems with mis-issued and/or misused certificates. + * + * \warning Depending on your PKI use, disabling this can be a security risk! + * + * Comment to skip extendedKeyUsage checking for certificates. + */ +#define POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE + +/** + * \def POLARSSL_X509_RSASSA_PSS_SUPPORT + * + * Enable parsing and verification of X.509 certificates, CRLs and CSRS + * signed with RSASSA-PSS (aka PKCS#1 v2.1). + * + * Comment this macro to disallow using RSASSA-PSS in certificates. + */ +#define POLARSSL_X509_RSASSA_PSS_SUPPORT + +/** + * \def POLARSSL_ZLIB_SUPPORT + * + * If set, the SSL/TLS module uses ZLIB to support compression and + * decompression of packet data. + * + * \warning TLS-level compression MAY REDUCE SECURITY! See for example the + * CRIME attack. Before enabling this option, you should examine with care if + * CRIME or similar exploits may be a applicable to your use case. + * + * Used in: library/ssl_tls.c + * library/ssl_cli.c + * library/ssl_srv.c + * + * This feature requires zlib library and headers to be present. + * + * Uncomment to enable use of ZLIB + */ +//#define POLARSSL_ZLIB_SUPPORT +/* \} name SECTION: PolarSSL feature support */ + +/** + * \name SECTION: PolarSSL modules + * + * This section enables or disables entire modules in PolarSSL + * \{ + */ + +/** + * \def POLARSSL_AESNI_C + * + * Enable AES-NI support on x86-64. + * + * Module: library/aesni.c + * Caller: library/aes.c + * + * Requires: POLARSSL_HAVE_ASM + * + * This modules adds support for the AES-NI instructions on x86-64 + */ +//#define POLARSSL_AESNI_C + +/** + * \def POLARSSL_AES_C + * + * Enable the AES block cipher. + * + * Module: library/aes.c + * Caller: library/ssl_tls.c + * library/pem.c + * library/ctr_drbg.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA + * TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA + * TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA + * TLS_RSA_WITH_AES_256_GCM_SHA384 + * TLS_RSA_WITH_AES_256_CBC_SHA256 + * TLS_RSA_WITH_AES_256_CBC_SHA + * TLS_RSA_WITH_AES_128_GCM_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA + * TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA + * TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA + * TLS_PSK_WITH_AES_256_GCM_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA + * TLS_PSK_WITH_AES_128_GCM_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA + * + * PEM_PARSE uses AES for decrypting encrypted keys. + */ +#define POLARSSL_AES_C + +/** + * \def POLARSSL_ARC4_C + * + * Enable the ARCFOUR stream cipher. + * + * Module: library/arc4.c + * Caller: library/ssl_tls.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_RC4_128_SHA + * TLS_ECDH_RSA_WITH_RC4_128_SHA + * TLS_ECDHE_ECDSA_WITH_RC4_128_SHA + * TLS_ECDHE_RSA_WITH_RC4_128_SHA + * TLS_ECDHE_PSK_WITH_RC4_128_SHA + * TLS_DHE_PSK_WITH_RC4_128_SHA + * TLS_RSA_WITH_RC4_128_SHA + * TLS_RSA_WITH_RC4_128_MD5 + * TLS_RSA_PSK_WITH_RC4_128_SHA + * TLS_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_ARC4_C + +/** + * \def POLARSSL_ASN1_PARSE_C + * + * Enable the generic ASN1 parser. + * + * Module: library/asn1.c + * Caller: library/x509.c + * library/dhm.c + * library/pkcs12.c + * library/pkcs5.c + * library/pkparse.c + */ +#define POLARSSL_ASN1_PARSE_C + +/** + * \def POLARSSL_ASN1_WRITE_C + * + * Enable the generic ASN1 writer. + * + * Module: library/asn1write.c + * Caller: library/ecdsa.c + * library/pkwrite.c + * library/x509_create.c + * library/x509write_crt.c + * library/x509write_csr.c + */ +#define POLARSSL_ASN1_WRITE_C + +/** + * \def POLARSSL_BASE64_C + * + * Enable the Base64 module. + * + * Module: library/base64.c + * Caller: library/pem.c + * + * This module is required for PEM support (required by X.509). + */ +#define POLARSSL_BASE64_C + +/** + * \def POLARSSL_BIGNUM_C + * + * Enable the multi-precision integer library. + * + * Module: library/bignum.c + * Caller: library/dhm.c + * library/ecp.c + * library/ecdsa.c + * library/rsa.c + * library/ssl_tls.c + * + * This module is required for RSA, DHM and ECC (ECDH, ECDSA) support. + */ +#define POLARSSL_BIGNUM_C + +/** + * \def POLARSSL_BLOWFISH_C + * + * Enable the Blowfish block cipher. + * + * Module: library/blowfish.c + */ +#define POLARSSL_BLOWFISH_C + +/** + * \def POLARSSL_CAMELLIA_C + * + * Enable the Camellia block cipher. + * + * Module: library/camellia.c + * Caller: library/ssl_tls.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 + */ +#define POLARSSL_CAMELLIA_C + +/** + * \def POLARSSL_CCM_C + * + * Enable the Counter with CBC-MAC (CCM) mode for 128-bit block cipher. + * + * Module: library/ccm.c + * + * Requires: POLARSSL_AES_C or POLARSSL_CAMELLIA_C + * + * This module enables the AES-CCM ciphersuites, if other requisites are + * enabled as well. + */ +#define POLARSSL_CCM_C + +/** + * \def POLARSSL_CERTS_C + * + * Enable the test certificates. + * + * Module: library/certs.c + * Caller: + * + * Requires: POLARSSL_PEM_PARSE_C + * + * This module is used for testing (ssl_client/server). + */ +#define POLARSSL_CERTS_C + +/** + * \def POLARSSL_CIPHER_C + * + * Enable the generic cipher layer. + * + * Module: library/cipher.c + * Caller: library/ssl_tls.c + * + * Uncomment to enable generic cipher wrappers. + */ +#define POLARSSL_CIPHER_C + +/** + * \def POLARSSL_CTR_DRBG_C + * + * Enable the CTR_DRBG AES-256-based random generator. + * + * Module: library/ctr_drbg.c + * Caller: + * + * Requires: POLARSSL_AES_C + * + * This module provides the CTR_DRBG AES-256 random number generator. + */ +#define POLARSSL_CTR_DRBG_C + +/** + * \def POLARSSL_DEBUG_C + * + * Enable the debug functions. + * + * Module: library/debug.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * + * This module provides debugging functions. + */ +#define POLARSSL_DEBUG_C + +/** + * \def POLARSSL_DES_C + * + * Enable the DES block cipher. + * + * Module: library/des.c + * Caller: library/pem.c + * library/ssl_tls.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_PSK_WITH_3DES_EDE_CBC_SHA + * + * PEM_PARSE uses DES/3DES for decrypting encrypted keys. + */ +#define POLARSSL_DES_C + +/** + * \def POLARSSL_DHM_C + * + * Enable the Diffie-Hellman-Merkle module. + * + * Module: library/dhm.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * + * This module is used by the following key exchanges: + * DHE-RSA, DHE-PSK + */ +#define POLARSSL_DHM_C + +/** + * \def POLARSSL_ECDH_C + * + * Enable the elliptic curve Diffie-Hellman library. + * + * Module: library/ecdh.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * + * This module is used by the following key exchanges: + * ECDHE-ECDSA, ECDHE-RSA, DHE-PSK + * + * Requires: POLARSSL_ECP_C + */ +#define POLARSSL_ECDH_C + +/** + * \def POLARSSL_ECDSA_C + * + * Enable the elliptic curve DSA library. + * + * Module: library/ecdsa.c + * Caller: + * + * This module is used by the following key exchanges: + * ECDHE-ECDSA + * + * Requires: POLARSSL_ECP_C, POLARSSL_ASN1_WRITE_C, POLARSSL_ASN1_PARSE_C + */ +#define POLARSSL_ECDSA_C + +/** + * \def POLARSSL_ECP_C + * + * Enable the elliptic curve over GF(p) library. + * + * Module: library/ecp.c + * Caller: library/ecdh.c + * library/ecdsa.c + * + * Requires: POLARSSL_BIGNUM_C and at least one POLARSSL_ECP_DP_XXX_ENABLED + */ +#define POLARSSL_ECP_C + +/** + * \def POLARSSL_ENTROPY_C + * + * Enable the platform-specific entropy code. + * + * Module: library/entropy.c + * Caller: + * + * Requires: POLARSSL_SHA512_C or POLARSSL_SHA256_C + * + * This module provides a generic entropy pool + */ +#define POLARSSL_ENTROPY_C + +/** + * \def POLARSSL_ERROR_C + * + * Enable error code to error string conversion. + * + * Module: library/error.c + * Caller: + * + * This module enables polarssl_strerror(). + */ +#define POLARSSL_ERROR_C + +/** + * \def POLARSSL_GCM_C + * + * Enable the Galois/Counter Mode (GCM) for AES. + * + * Module: library/gcm.c + * + * Requires: POLARSSL_AES_C or POLARSSL_CAMELLIA_C + * + * This module enables the AES-GCM and CAMELLIA-GCM ciphersuites, if other + * requisites are enabled as well. + */ +#define POLARSSL_GCM_C + +/** + * \def POLARSSL_HAVEGE_C + * + * Enable the HAVEGE random generator. + * + * Warning: the HAVEGE random generator is not suitable for virtualized + * environments + * + * Warning: the HAVEGE random generator is dependent on timing and specific + * processor traits. It is therefore not advised to use HAVEGE as + * your applications primary random generator or primary entropy pool + * input. As a secondary input to your entropy pool, it IS able add + * the (limited) extra entropy it provides. + * + * Module: library/havege.c + * Caller: + * + * Requires: POLARSSL_TIMING_C + * + * Uncomment to enable the HAVEGE random generator. + */ +//#define POLARSSL_HAVEGE_C + +/** + * \def POLARSSL_HMAC_DRBG_C + * + * Enable the HMAC_DRBG random generator. + * + * Module: library/hmac_drbg.c + * Caller: + * + * Requires: POLARSSL_MD_C + * + * Uncomment to enable the HMAC_DRBG random number geerator. + */ +#define POLARSSL_HMAC_DRBG_C + +/** + * \def POLARSSL_MD_C + * + * Enable the generic message digest layer. + * + * Module: library/md.c + * Caller: + * + * Uncomment to enable generic message digest wrappers. + */ +#define POLARSSL_MD_C + +/** + * \def POLARSSL_MD2_C + * + * Enable the MD2 hash algorithm. + * + * Module: library/md2.c + * Caller: + * + * Uncomment to enable support for (rare) MD2-signed X.509 certs. + */ +//#define POLARSSL_MD2_C + +/** + * \def POLARSSL_MD4_C + * + * Enable the MD4 hash algorithm. + * + * Module: library/md4.c + * Caller: + * + * Uncomment to enable support for (rare) MD4-signed X.509 certs. + */ +//#define POLARSSL_MD4_C + +/** + * \def POLARSSL_MD5_C + * + * Enable the MD5 hash algorithm. + * + * Module: library/md5.c + * Caller: library/md.c + * library/pem.c + * library/ssl_tls.c + * + * This module is required for SSL/TLS and X.509. + * PEM_PARSE uses MD5 for decrypting encrypted keys. + */ +#define POLARSSL_MD5_C + +/** + * \def POLARSSL_MEMORY_C + * Deprecated since 1.3.5. Please use POLARSSL_PLATFORM_MEMORY instead. + */ +//#define POLARSSL_MEMORY_C + +/** + * \def POLARSSL_MEMORY_BUFFER_ALLOC_C + * + * Enable the buffer allocator implementation that makes use of a (stack) + * based buffer to 'allocate' dynamic memory. (replaces malloc() and free() + * calls) + * + * Module: library/memory_buffer_alloc.c + * + * Requires: POLARSSL_PLATFORM_C + * POLARSSL_PLATFORM_MEMORY (to use it within PolarSSL) + * + * Enable this module to enable the buffer memory allocator. + */ +//#define POLARSSL_MEMORY_BUFFER_ALLOC_C + +/** + * \def POLARSSL_NET_C + * + * Enable the TCP/IP networking routines. + * + * Module: library/net.c + * + * This module provides TCP/IP networking routines. + */ +#define POLARSSL_NET_C + +/** + * \def POLARSSL_OID_C + * + * Enable the OID database. + * + * Module: library/oid.c + * Caller: library/asn1write.c + * library/pkcs5.c + * library/pkparse.c + * library/pkwrite.c + * library/rsa.c + * library/x509.c + * library/x509_create.c + * library/x509_crl.c + * library/x509_crt.c + * library/x509_csr.c + * library/x509write_crt.c + * library/x509write_csr.c + * + * This modules translates between OIDs and internal values. + */ +#define POLARSSL_OID_C + +/** + * \def POLARSSL_PADLOCK_C + * + * Enable VIA Padlock support on x86. + * + * Module: library/padlock.c + * Caller: library/aes.c + * + * Requires: POLARSSL_HAVE_ASM + * + * This modules adds support for the VIA PadLock on x86. + */ +//#define POLARSSL_PADLOCK_C + +/** + * \def POLARSSL_PBKDF2_C + * + * Enable PKCS#5 PBKDF2 key derivation function. + * DEPRECATED: Use POLARSSL_PKCS5_C instead + * + * Module: library/pbkdf2.c + * + * Requires: POLARSSL_PKCS5_C + * + * This module adds support for the PKCS#5 PBKDF2 key derivation function. + */ +#define POLARSSL_PBKDF2_C + +/** + * \def POLARSSL_PEM_PARSE_C + * + * Enable PEM decoding / parsing. + * + * Module: library/pem.c + * Caller: library/dhm.c + * library/pkparse.c + * library/x509_crl.c + * library/x509_crt.c + * library/x509_csr.c + * + * Requires: POLARSSL_BASE64_C + * + * This modules adds support for decoding / parsing PEM files. + */ +#define POLARSSL_PEM_PARSE_C + +/** + * \def POLARSSL_PEM_WRITE_C + * + * Enable PEM encoding / writing. + * + * Module: library/pem.c + * Caller: library/pkwrite.c + * library/x509write_crt.c + * library/x509write_csr.c + * + * Requires: POLARSSL_BASE64_C + * + * This modules adds support for encoding / writing PEM files. + */ +#define POLARSSL_PEM_WRITE_C + +/** + * \def POLARSSL_PK_C + * + * Enable the generic public (asymetric) key layer. + * + * Module: library/pk.c + * Caller: library/ssl_tls.c + * library/ssl_cli.c + * library/ssl_srv.c + * + * Requires: POLARSSL_RSA_C or POLARSSL_ECP_C + * + * Uncomment to enable generic public key wrappers. + */ +#define POLARSSL_PK_C + +/** + * \def POLARSSL_PK_PARSE_C + * + * Enable the generic public (asymetric) key parser. + * + * Module: library/pkparse.c + * Caller: library/x509_crt.c + * library/x509_csr.c + * + * Requires: POLARSSL_PK_C + * + * Uncomment to enable generic public key parse functions. + */ +#define POLARSSL_PK_PARSE_C + +/** + * \def POLARSSL_PK_WRITE_C + * + * Enable the generic public (asymetric) key writer. + * + * Module: library/pkwrite.c + * Caller: library/x509write.c + * + * Requires: POLARSSL_PK_C + * + * Uncomment to enable generic public key write functions. + */ +#define POLARSSL_PK_WRITE_C + +/** + * \def POLARSSL_PKCS5_C + * + * Enable PKCS#5 functions. + * + * Module: library/pkcs5.c + * + * Requires: POLARSSL_MD_C + * + * This module adds support for the PKCS#5 functions. + */ +#define POLARSSL_PKCS5_C + +/** + * \def POLARSSL_PKCS11_C + * + * Enable wrapper for PKCS#11 smartcard support. + * + * Module: library/pkcs11.c + * Caller: library/pk.c + * + * Requires: POLARSSL_PK_C + * + * This module enables SSL/TLS PKCS #11 smartcard support. + * Requires the presence of the PKCS#11 helper library (libpkcs11-helper) + */ +//#define POLARSSL_PKCS11_C + +/** + * \def POLARSSL_PKCS12_C + * + * Enable PKCS#12 PBE functions. + * Adds algorithms for parsing PKCS#8 encrypted private keys + * + * Module: library/pkcs12.c + * Caller: library/pkparse.c + * + * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_CIPHER_C, POLARSSL_MD_C + * Can use: POLARSSL_ARC4_C + * + * This module enables PKCS#12 functions. + */ +#define POLARSSL_PKCS12_C + +/** + * \def POLARSSL_PLATFORM_C + * + * Enable the platform abstraction layer that allows you to re-assign + * functions like malloc(), free(), printf(), fprintf() + * + * Module: library/platform.c + * Caller: Most other .c files + * + * This module enables abstraction of common (libc) functions. + */ +//#define POLARSSL_PLATFORM_C + +/** + * \def POLARSSL_RIPEMD160_C + * + * Enable the RIPEMD-160 hash algorithm. + * + * Module: library/ripemd160.c + * Caller: library/md.c + * + */ +#define POLARSSL_RIPEMD160_C + +/** + * \def POLARSSL_RSA_C + * + * Enable the RSA public-key cryptosystem. + * + * Module: library/rsa.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * library/x509.c + * + * This module is used by the following key exchanges: + * RSA, DHE-RSA, ECDHE-RSA, RSA-PSK + * + * Requires: POLARSSL_BIGNUM_C, POLARSSL_OID_C + */ +#define POLARSSL_RSA_C + +/** + * \def POLARSSL_SHA1_C + * + * Enable the SHA1 cryptographic hash algorithm. + * + * Module: library/sha1.c + * Caller: library/md.c + * library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * library/x509write_crt.c + * + * This module is required for SSL/TLS and SHA1-signed certificates. + */ +#define POLARSSL_SHA1_C + +/** + * \def POLARSSL_SHA256_C + * + * Enable the SHA-224 and SHA-256 cryptographic hash algorithms. + * (Used to be POLARSSL_SHA2_C) + * + * Module: library/sha256.c + * Caller: library/entropy.c + * library/md.c + * library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * + * This module adds support for SHA-224 and SHA-256. + * This module is required for the SSL/TLS 1.2 PRF function. + */ +#define POLARSSL_SHA256_C + +/** + * \def POLARSSL_SHA512_C + * + * Enable the SHA-384 and SHA-512 cryptographic hash algorithms. + * (Used to be POLARSSL_SHA4_C) + * + * Module: library/sha512.c + * Caller: library/entropy.c + * library/md.c + * library/ssl_cli.c + * library/ssl_srv.c + * + * This module adds support for SHA-384 and SHA-512. + */ +#define POLARSSL_SHA512_C + +/** + * \def POLARSSL_SSL_CACHE_C + * + * Enable simple SSL cache implementation. + * + * Module: library/ssl_cache.c + * Caller: + * + * Requires: POLARSSL_SSL_CACHE_C + */ +#define POLARSSL_SSL_CACHE_C + +/** + * \def POLARSSL_SSL_CLI_C + * + * Enable the SSL/TLS client code. + * + * Module: library/ssl_cli.c + * Caller: + * + * Requires: POLARSSL_SSL_TLS_C + * + * This module is required for SSL/TLS client support. + */ +#define POLARSSL_SSL_CLI_C + +/** + * \def POLARSSL_SSL_SRV_C + * + * Enable the SSL/TLS server code. + * + * Module: library/ssl_srv.c + * Caller: + * + * Requires: POLARSSL_SSL_TLS_C + * + * This module is required for SSL/TLS server support. + */ +#define POLARSSL_SSL_SRV_C + +/** + * \def POLARSSL_SSL_TLS_C + * + * Enable the generic SSL/TLS code. + * + * Module: library/ssl_tls.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * + * Requires: POLARSSL_CIPHER_C, POLARSSL_MD_C + * and at least one of the POLARSSL_SSL_PROTO_* defines + * + * This module is required for SSL/TLS. + */ +#define POLARSSL_SSL_TLS_C + +/** + * \def POLARSSL_THREADING_C + * + * Enable the threading abstraction layer. + * By default PolarSSL assumes it is used in a non-threaded environment or that + * contexts are not shared between threads. If you do intend to use contexts + * between threads, you will need to enable this layer to prevent race + * conditions. + * + * Module: library/threading.c + * + * This allows different threading implementations (self-implemented or + * provided). + * + * You will have to enable either POLARSSL_THREADING_ALT or + * POLARSSL_THREADING_PTHREAD. + * + * Enable this layer to allow use of mutexes within PolarSSL + */ +//#define POLARSSL_THREADING_C + +/** + * \def POLARSSL_TIMING_C + * + * Enable the portable timing interface. + * + * Module: library/timing.c + * Caller: library/havege.c + * + * This module is used by the HAVEGE random number generator. + */ +#define POLARSSL_TIMING_C + +/** + * \def POLARSSL_VERSION_C + * + * Enable run-time version information. + * + * Module: library/version.c + * + * This module provides run-time version information. + */ +#define POLARSSL_VERSION_C + +/** + * \def POLARSSL_X509_USE_C + * + * Enable X.509 core for using certificates. + * + * Module: library/x509.c + * Caller: library/x509_crl.c + * library/x509_crt.c + * library/x509_csr.c + * + * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_BIGNUM_C, POLARSSL_OID_C, + * POLARSSL_PK_PARSE_C + * + * This module is required for the X.509 parsing modules. + */ +#define POLARSSL_X509_USE_C + +/** + * \def POLARSSL_X509_CRT_PARSE_C + * + * Enable X.509 certificate parsing. + * + * Module: library/x509_crt.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * + * Requires: POLARSSL_X509_USE_C + * + * This module is required for X.509 certificate parsing. + */ +#define POLARSSL_X509_CRT_PARSE_C + +/** + * \def POLARSSL_X509_CRL_PARSE_C + * + * Enable X.509 CRL parsing. + * + * Module: library/x509_crl.c + * Caller: library/x509_crt.c + * + * Requires: POLARSSL_X509_USE_C + * + * This module is required for X.509 CRL parsing. + */ +#define POLARSSL_X509_CRL_PARSE_C + +/** + * \def POLARSSL_X509_CSR_PARSE_C + * + * Enable X.509 Certificate Signing Request (CSR) parsing. + * + * Module: library/x509_csr.c + * Caller: library/x509_crt_write.c + * + * Requires: POLARSSL_X509_USE_C + * + * This module is used for reading X.509 certificate request. + */ +#define POLARSSL_X509_CSR_PARSE_C + +/** + * \def POLARSSL_X509_CREATE_C + * + * Enable X.509 core for creating certificates. + * + * Module: library/x509_create.c + * + * Requires: POLARSSL_BIGNUM_C, POLARSSL_OID_C, POLARSSL_PK_WRITE_C + * + * This module is the basis for creating X.509 certificates and CSRs. + */ +#define POLARSSL_X509_CREATE_C + +/** + * \def POLARSSL_X509_CRT_WRITE_C + * + * Enable creating X.509 certificates. + * + * Module: library/x509_crt_write.c + * + * Requires: POLARSSL_CREATE_C + * + * This module is required for X.509 certificate creation. + */ +#define POLARSSL_X509_CRT_WRITE_C + +/** + * \def POLARSSL_X509_CSR_WRITE_C + * + * Enable creating X.509 Certificate Signing Requests (CSR). + * + * Module: library/x509_csr_write.c + * + * Requires: POLARSSL_CREATE_C + * + * This module is required for X.509 certificate request writing. + */ +#define POLARSSL_X509_CSR_WRITE_C + +/** + * \def POLARSSL_XTEA_C + * + * Enable the XTEA block cipher. + * + * Module: library/xtea.c + * Caller: + */ +#define POLARSSL_XTEA_C + +/* \} name SECTION: PolarSSL modules */ + +/** + * \name SECTION: Module configuration options + * + * This section allows for the setting of module specific sizes and + * configuration options. The default values are already present in the + * relevant header files and should suffice for the regular use cases. + * + * Our advice is to enable options and change their values here + * only if you have a good reason and know the consequences. + * + * Please check the respective header file for documentation on these + * parameters (to prevent duplicate documentation). + * \{ + */ + +/* MPI / BIGNUM options */ +//#define POLARSSL_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */ +//#define POLARSSL_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */ + +/* CTR_DRBG options */ +//#define CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ +//#define CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ +//#define CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ +//#define CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ +//#define CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ + +/* HMAC_DRBG options */ +//#define POLARSSL_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ +//#define POLARSSL_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ +//#define POLARSSL_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ +//#define POLARSSL_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ + +/* ECP options */ +//#define POLARSSL_ECP_MAX_BITS 521 /**< Maximum bit size of groups */ +//#define POLARSSL_ECP_WINDOW_SIZE 6 /**< Maximum window size used */ +//#define POLARSSL_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */ + +/* Entropy options */ +//#define ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */ +//#define ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */ + +/* Memory buffer allocator options */ +//#define POLARSSL_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */ + +/* Platform options */ +//#define POLARSSL_PLATFORM_STD_MEM_HDR /**< Header to include if POLARSSL_PLATFORM_NO_STD_FUNCTIONS is defined. Don't define if no header is needed. */ +//#define POLARSSL_PLATFORM_STD_MALLOC malloc /**< Default allocator to use, can be undefined */ +//#define POLARSSL_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */ +//#define POLARSSL_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */ +//#define POLARSSL_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */ + +/* SSL Cache options */ +//#define SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */ +//#define SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */ + +/* SSL options */ +//#define SSL_MAX_CONTENT_LEN 16384 /**< Size of the input / output buffer */ +//#define SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */ +//#define POLARSSL_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */ + +/** + * Complete list of ciphersuites to use, in order of preference. + * + * \warning No dependency checking is done on that field! This option can only + * be used to restrict the set of available ciphersuites. It is your + * responsibility to make sure the needed modules are active. + * + * Use this to save a few hundred bytes of ROM (default ordering of all + * available ciphersuites) and a few to a few hundred bytes of RAM. + * + * The value below is only an example, not the default. + */ +//#define SSL_CIPHERSUITES TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + +/* Debug options */ +//#define POLARSSL_DEBUG_DFL_MODE POLARSSL_DEBUG_LOG_FULL /**< Default log: Full or Raw */ + +/* \} name SECTION: Module configuration options */ + + +#endif /* POLARSSL_CONFIG_H */ diff --git a/client/proxmark3.c b/client/proxmark3.c index 7d50c35a..c100bbea 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -34,15 +34,15 @@ static UsbCommand txcmd; volatile static bool txcmd_pending = false; void SendCommand(UsbCommand *c) { -#if 0 + #if 0 printf("Sending %d bytes\n", sizeof(UsbCommand)); -#endif + #endif if (offline) { 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 @@ -68,30 +68,30 @@ static void *uart_receiver(void *targ) { struct receiver_arg *arg = (struct receiver_arg*)targ; size_t rxlen; size_t cmd_count; - + while (arg->run) { rxlen = sizeof(UsbCommand); - if (uart_receive(sp,prx,&rxlen)) { + if (uart_receive(sp, prx, &rxlen)) { prx += rxlen; if (((prx-rx) % sizeof(UsbCommand)) != 0) { continue; } cmd_count = (prx-rx) / sizeof(UsbCommand); - for (size_t i=0; iusb_present == 1) { - rarg.run=1; + rarg.run = 1; pthread_create(&reader_thread, NULL, &uart_receiver, &rarg); } - + FILE *script_file = NULL; - char script_cmd_buf[256]; // iceman, needs lua script the same file_path_buffer as the rest - + char script_cmd_buf[256]; // iceman, needs lua script the same file_path_buffer as the rest + if (arg->script_cmds_file) { script_file = fopen(arg->script_cmds_file, "r"); if (script_file) { @@ -134,7 +134,7 @@ static void *main_loop(void *targ) { nl = strrchr(script_cmd_buf, '\n'); if (nl) *nl = '\0'; - + if ((cmd = (char*) malloc(strlen(script_cmd_buf) + 1)) != NULL) { memset(cmd, 0, strlen(script_cmd_buf)); strcpy(cmd, script_cmd_buf); @@ -173,12 +173,12 @@ static void *main_loop(void *targ) { rarg.run = 0; pthread_join(reader_thread, NULL); } - + if (script_file) { fclose(script_file); script_file = NULL; } - + ExitGraphics(); pthread_exit(NULL); return NULL; diff --git a/client/scripting.c b/client/scripting.c index cc59f995..cf149b6e 100644 --- a/client/scripting.c +++ b/client/scripting.c @@ -18,8 +18,8 @@ #include "util.h" #include "nonce2key/nonce2key.h" #include "../common/iso15693tools.h" -#include #include "../common/crc16.h" +#include "aes.h" /** * The following params expected: * UsbCommand c @@ -240,10 +240,10 @@ static int l_aes(lua_State *L) const char *p_encTxt = luaL_checklstring(L, 2, &size); - unsigned char indata[AES_BLOCK_SIZE] = {0x00}; - unsigned char outdata[AES_BLOCK_SIZE] = {0x00}; - unsigned char aes_key[AES_BLOCK_SIZE] = {0x00}; - unsigned char iv[AES_BLOCK_SIZE] = {0x00}; + unsigned char indata[16] = {0x00}; + unsigned char outdata[16] = {0x00}; + unsigned char aes_key[16] = {0x00}; + unsigned char iv[16] = {0x00}; // convert key to bytearray for (i = 0; i < 32; i += 2) { @@ -255,10 +255,14 @@ static int l_aes(lua_State *L) sscanf(&p_key[i], "%02x", (unsigned int *)&aes_key[i / 2]); } - AES_KEY key; - AES_set_decrypt_key(aes_key, 128, &key); - AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT); - + //AES_KEY key; + //AES_set_decrypt_key(aes_key, 128, &key); + //AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT); + + aes_context ctx; + aes_init(&ctx); + aes_setkey_enc(&ctx,(const unsigned char *)p_key,128); + aes_crypt_cbc(&ctx,AES_DECRYPT,sizeof(indata), iv, indata,outdata ); //Push decrypted array as a string lua_pushlstring(L,(const char *)&outdata, sizeof(outdata)); return 1;// return 1 to signal one return value diff --git a/client/scripts/remagic.lua b/client/scripts/remagic.lua new file mode 100644 index 00000000..d2b869c3 --- /dev/null +++ b/client/scripts/remagic.lua @@ -0,0 +1,63 @@ +local getopt = require('getopt') + +example = "script run remagic" +author = "Iceman" + +desc = +[[ +This is a script that tries to bring back a chinese magic card (1k generation1) +from the dead when it's block 0 has been written with bad values. + +Arguments: + -h this help +]] +--- +-- A debug printout-function +function dbg(args) + if DEBUG then + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end + +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end + +--- +-- The main entry point +function main(args) + + + -- Read the parameters + for o, a in getopt.getopt(args, 'h') do + if o == "h" then help() return end + end + + local _cmds = { + --[[ + --]] + [0] = "hf 14a raw -p -a -b 7 40", + [1] = "hf 14a raw -p -a 43", + [2] = "hf 14a raw -c -p -a A000", + [3] = "hf 14a raw -c -p -a 01 02 03 04 04 98 02 00 00 00 00 00 00 00 10 01", + } + core.clearCommandBuffer() + + local i + --for _,c in pairs(_cmds) do + for i = 0, 3 do + print ( _cmds[i] ) + core.console( _cmds[i] ) + end +end + +main(args) diff --git a/client/scripts/tnp3dump.lua b/client/scripts/tnp3dump.lua index 520161b9..f41fe8ab 100644 --- a/client/scripts/tnp3dump.lua +++ b/client/scripts/tnp3dump.lua @@ -249,18 +249,19 @@ local function main(args) end end + + local uid = block0:sub(1,8) + local itemtype = block1:sub(1,4) + local cardid = block1:sub(9,24) + -- Write dump to files if not DEBUG then - local foo = dumplib.SaveAsBinary(bindata, outputTemplate..'.bin') + local foo = dumplib.SaveAsBinary(bindata, outputTemplate..'_uid_'..uid..'.bin') print(("Wrote a BIN dump to the file %s"):format(foo)) - local bar = dumplib.SaveAsText(emldata, outputTemplate..'.eml') + local bar = dumplib.SaveAsText(emldata, outputTemplate..'_uid_'..uid..'.eml') print(("Wrote a EML dump to the file %s"):format(bar)) end - local uid = block0:sub(1,8) - local itemtype = block1:sub(1,4) - local cardid = block1:sub(9,24) - -- Show info print( string.rep('--',20) ) print( (' ITEM TYPE : 0x%s - %s'):format(itemtype, toyNames[itemtype]) ) diff --git a/client/scripts/tnp3sim.lua b/client/scripts/tnp3sim.lua index f43dafa2..adc34cce 100644 --- a/client/scripts/tnp3sim.lua +++ b/client/scripts/tnp3sim.lua @@ -241,18 +241,20 @@ local function main(args) local cmdSetDbgOff = "hf mf dbg 0" core.console( cmdSetDbgOff) - -- Look for tag present on reader, - result, err = lib14a.read1443a(false) - if not result then return oops(err) end + -- if not loadFromDump then + -- -- Look for tag present on reader, + -- result, err = lib14a.read1443a(false) + -- if not result then return oops(err) end - core.clearCommandBuffer() + -- core.clearCommandBuffer() - if 0x01 ~= result.sak then -- NXP MIFARE TNP3xxx - return oops('This is not a TNP3xxx tag. aborting.') - end + -- if 0x01 ~= result.sak then -- NXP MIFARE TNP3xxx + -- return oops('This is not a TNP3xxx tag. aborting.') + -- end - -- Show tag info - print((' Found tag : %s'):format(result.name)) + -- -- Show tag info + -- print((' Found tag : %s'):format(result.name)) + -- end -- Load dump.bin file print( (' Load data from %s'):format(inputTemplate)) @@ -349,7 +351,7 @@ local function main(args) err = LoadEmulator(blocks) if err then return oops(err) end core.clearCommandBuffer() - print('The simulation is now prepared.\n --> run \"hf mf sim 5 '..uid..'\" <--') + print('The simulation is now prepared.\n --> run \"hf mf sim u '..uid..' x\" <--') end end main(args) \ No newline at end of file diff --git a/client/scripts/tracetest.lua b/client/scripts/tracetest.lua index 3b577381..e4a9215c 100644 --- a/client/scripts/tracetest.lua +++ b/client/scripts/tracetest.lua @@ -84,17 +84,19 @@ local function main(args) local files = {} -- Find a set of traces staring with EM - local p = io.popen(tracesEM) + local p = assert( io.popen(tracesEM)) for file in p:lines() do table.insert(files, file) end + p.close(); -- Find a set of traces staring with MOD - p = io.popen(tracesMOD) + p = assert( io.popen(tracesMOD) ) for file in p:lines() do table.insert(files, file) end - + p.close(); + local cmdLFSEARCH = "lf search 1" -- main loop diff --git a/common/Makefile.common b/common/Makefile.common index b30294a8..9e8bfdf0 100644 --- a/common/Makefile.common +++ b/common/Makefile.common @@ -69,6 +69,8 @@ INCLUDES = ../include/proxmark3.h ../include/at91sam7s512.h ../include/config_gp CFLAGS = -c $(INCLUDE) -Wall -Werror -pedantic -std=c99 $(APP_CFLAGS) -Os LDFLAGS = -nostartfiles -nodefaultlibs -Wl,-gc-sections -n +LIBS = -lgcc + LIBS = -lgcc THUMBOBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(THUMBSRC)) diff --git a/common/cmd.c b/common/cmd.c index 66b93990..0c3ecc1f 100644 --- a/common/cmd.c +++ b/common/cmd.c @@ -32,7 +32,7 @@ #include "cmd.h" #include "string.h" -#include "../include/proxmark3.h" +#include "proxmark3.h" bool cmd_receive(UsbCommand* cmd) { diff --git a/common/cmd.h b/common/cmd.h index 35885de4..bc69ff61 100644 --- a/common/cmd.h +++ b/common/cmd.h @@ -33,8 +33,8 @@ #ifndef _PROXMARK_CMD_H_ #define _PROXMARK_CMD_H_ -#include "../include/common.h" -#include "../include/usb_cmd.h" +#include "common.h" +#include "usb_cmd.h" #include "usb_cdc.h" bool cmd_receive(UsbCommand* cmd); diff --git a/common/lfdemod.c b/common/lfdemod.c index eb5a4d95..88a250d8 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -1,286 +1,325 @@ //----------------------------------------------------------------------------- -// Copyright (C) 2014 +// Copyright (C) 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of // the license. //----------------------------------------------------------------------------- -// Low frequency commands +// Low frequency demod/decode commands //----------------------------------------------------------------------------- -#include #include #include #include "lfdemod.h" + +uint8_t justNoise(uint8_t *BitStream, size_t size) +{ + static const uint8_t THRESHOLD = 123; + //test samples are not just noise + uint8_t justNoise1 = 1; + for(size_t idx=0; idx < size && justNoise1 ;idx++){ + justNoise1 = BitStream[idx] < THRESHOLD; + } + return justNoise1; +} + //by marshmellow -//takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream, uint32_t BitLen) +//get high and low with passed in fuzz factor. also return noise test = 1 for passed or 0 for only noise +int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo) { - //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; - 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]; + *high=0; + *low=255; + // get high and low thresholds + for (int i=0; i < size; i++){ + if (BitStream[i] > *high) *high = BitStream[i]; + if (BitStream[i] < *low) *low = BitStream[i]; } + if (*high < 123) return -1; // just noise + *high = (int)(((*high-128)*(((float)fuzzHi)/100))+128); + *low = (int)(((*low-128)*(((float)fuzzLo)/100))+128); + return 1; +} - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - return 0; +// by marshmellow +// pass bits to be tested in bits, length bits passed in bitLen, and parity type (even=0 | odd=1) in pType +// returns 1 if passed +uint8_t parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType) +{ + uint8_t ans = 0; + for (uint8_t i = 0; i < bitLen; i++){ + ans ^= ((bits >> i) & 1); } + //PrintAndLog("DEBUG: ans: %d, ptype: %d",ans,pType); + return (ans == pType); +} - 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 j = 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( j = 0; j < 5; ++j){ - parityTest += BitStream[(i*5) + j + idx]; - } - if (parityTest == ( (parityTest >> 1) << 1)){ - parityTest = 0; - for (j = 0; j < 4; ++j){ - lo = ( lo << 1LL)|( BitStream[( i * 5 ) + j + idx]); - } - } else { - //parity failed - 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 +//search for given preamble in given BitStream and return startIndex and length +uint8_t preambleSearch(uint8_t *BitStream, uint8_t *preamble, size_t pLen, size_t *size, size_t *startIdx) +{ + uint8_t foundCnt=0; + for (int idx=0; idx < *size - pLen; idx++){ + if (memcmp(BitStream+idx, preamble, pLen) == 0){ + //first index found + foundCnt++; + if (foundCnt == 1){ + *startIdx = idx; + } + if (foundCnt == 2){ + *size = idx - *startIdx; + return 1; + } + } + } + return 0; +} + + +//by marshmellow +//takes 1s and 0s and searches for EM410x format - output EM ID +uint64_t Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx) +{ + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + uint64_t lo=0; + uint32_t i = 0; + if (BitStream[1]>1){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + // 111111111 bit pattern represent start of frame + uint8_t preamble[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t parityBits = 0; + uint8_t errChk = 0; + *startIdx = 0; + for (uint8_t extraBitChk=0; extraBitChk<5; extraBitChk++){ + errChk = preambleSearch(BitStream+extraBitChk+*startIdx, preamble, sizeof(preamble), size, startIdx); + if (errChk == 0) return 0; + idx = *startIdx + 9; + for (i=0; i<10;i++){ //loop through 10 sets of 5 bits (50-10p = 40 bits) + parityBits = bytebits_to_byte(BitStream+(i*5)+idx,5); + //check even parity + if (parityTest(parityBits, 5, 0) == 0){ + //parity failed try next bit (in the case of 1111111111) but last 9 = preamble + startIdx++; + errChk = 0; + break; + } + for (uint8_t ii=0; ii<4; ii++){ + lo = (lo << 1LL) | (BitStream[(i*5)+ii+idx]); + } + } + if (errChk != 0) return lo; + //skip last 5 bit parity test for simplicity. + // *size = 64; + } + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask while decoding manchester +//attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t *BinStream, uint32_t *BitLen, int *clk, int *invert) +int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { int i; - int high = 0, low = 128; - *clk = DetectASKClock(BinStream, (size_t)*BitLen, *clk); //clock default - - if (*clk < 8 ) *clk = 64; - if (*clk < 32 ) *clk = 32; - if (*invert != 1) *invert = 0; - - uint32_t initLoopMax = 200; - if (initLoopMax > *BitLen) - initLoopMax = *BitLen; - - // Detect high and lows - // 200 samples should be enough to find high and low values - for (i = 0; i < initLoopMax; ++i) { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - - //throw away static - if ((high < 158) ) - return -2; + int clk2=*clk; + *clk=DetectASKClock(BinStream, *size, *clk); //clock default - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high = (int)(high * .75); - low = (int)(low+128 * .25); - - int lastBit = 0; // set first clock check - uint32_t bitnum = 0; // output counter + // if autodetected too low then adjust //MAY NEED ADJUSTMENT + if (clk2==0 && *clk<8) *clk =64; + if (clk2==0 && *clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert=0; + uint32_t initLoopMax = 200; + if (initLoopMax > *size) initLoopMax=*size; + // Detect high and lows + // 25% fuzz in case highs and lows aren't clipped [marshmellow] + int high, low, ans; + ans = getHiLo(BinStream, initLoopMax, &high, &low, 75, 75); + if (ans<1) return -2; //just noise - // 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 - int tol = ( *clk == 32 ) ? 1 : 0; + // PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk<=32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *size; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *size; + uint32_t bestErrCnt = (*size/1000); + uint32_t maxErr = (*size/1000); + // PrintAndLog("DEBUG - lastbit - %d",lastBit); + // loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii] >= high) || (BinStream[iii] <= low)){ + lastBit=iii-*clk; + errCnt=0; + // loop through to see if this start location works + for (i = iii; i < *size; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit) > (*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! - int j = 0; - uint32_t gLen = *BitLen; + //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 (gLen > 3000) gLen = 3000; + 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!! - uint8_t errCnt = 0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = bestErrCnt; + //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++; + } - //loop to find first wave that works - for (j=0; j < gLen; ++j){ - - if ((BinStream[j] >= high)||(BinStream[j] <= low)){ - lastBit = j - *clk; - errCnt = 0; - - //loop through to see if this start location works - for (i = j; 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!! - - 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-j) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-j)/ *clk) > (64 + errCnt)) && (errCnt < maxErr)) { - //possible good read - if (errCnt == 0){ - bestStart = j; - bestErrCnt = errCnt; - break; //great read - finish - } - if (errCnt < bestErrCnt){ //set this as new best run - bestErrCnt = errCnt; - bestStart = j; - } - } - } - } - if (bestErrCnt < maxErr){ - //best run is good enough set to best run and set overwrite BinStream - j = bestStart; - lastBit = bestStart - *clk; - bitnum = 0; - for (i = j; i < *BitLen; ++i) { - if ((BinStream[i] >= 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!! - if (bitnum > 0){ - BinStream[bitnum] = 77; - bitnum++; + lastBit+=*clk;//skip over error } - lastBit += *clk;//skip over error } + if (bitnum >=400) break; } - if (bitnum >= 400) break; - } - *BitLen = bitnum; - } else { - *invert = bestStart; - *clk = j; - return -1; - } - return bestErrCnt; + *size=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; +} + +//by marshmellow +//encode binary data into binary manchester +int ManchesterEncode(uint8_t *BitStream, size_t size) +{ + size_t modIdx=20000, i=0; + if (size>modIdx) return -1; + for (size_t idx=0; idx < size; idx++){ + BitStream[idx+modIdx++] = BitStream[idx]; + BitStream[idx+modIdx++] = BitStream[idx]^1; + } + for (; i<(size*2); i++){ + BitStream[i] = BitStream[i+20000]; + } + return i; } //by marshmellow //take 10 and 01 and manchester decode //run through 2 times and take least errCnt -int manrawdecode(uint8_t * bits, int *bitlen) +int manrawdecode(uint8_t * BitStream, size_t *size) { - int bitnum = 0; - int errCnt = 0; - int bestErr = 1000; - int bestRun = 0; - int i = 1; - int j = 1; - - for (; j < 3; ++j){ - i = 1; - for ( i = i + j; i < *bitlen-2; i += 2){ - if ( bits[i]==1 && (bits[i+1]==0)){ - } else if ((bits[i]==0)&& bits[i+1]==1){ + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*size-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ } else { errCnt++; } - if(bitnum > 300) break; + if(bitnum>300) break; } - if (bestErr > errCnt){ - bestErr = errCnt; - bestRun = j; - } - errCnt = 0; + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; } - errCnt = bestErr; - if (errCnt < 20){ - j = bestRun; - i = 1; - for ( i = i+j; i < *bitlen-2; i += 2){ - if ( bits[i] == 1 && bits[i + 1] == 0 ){ - bits[bitnum++] = 0; - } else if ( bits[i] == 0 && bits[i + 1] == 1 ){ - bits[bitnum++] = 1; + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i < *size-2;i+=2){ + if(BitStream[i] == 1 && (BitStream[i+1] == 0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i] == 0) && BitStream[i+1] == 1){ + BitStream[bitnum++]=1; } else { - bits[bitnum++] = 77; + BitStream[bitnum++]=77; + //errCnt++; } - if ( bitnum > 300 ) break; + if(bitnum>300) break; } - *bitlen = bitnum; - } + *size=bitnum; + } return errCnt; } - //by marshmellow //take 01 or 10 = 0 and 11 or 00 = 1 -int BiphaseRawDecode(uint8_t * bits, int *bitlen, int offset) +int BiphaseRawDecode(uint8_t *BitStream, size_t *size, int offset, int invert) { - uint8_t bitnum = 0; - uint32_t errCnt = 0; - uint32_t i = offset; - - for (; i < *bitlen-2; i += 2 ){ - if ( (bits[i]==1 && bits[i+1]==0)|| - (bits[i]==0 && bits[i+1]==1)){ - bits[bitnum++] = 1; - } else if ( (bits[i]==0 && bits[i+1]==0)|| - (bits[i]==1 && bits[i+1]==1)){ - bits[bitnum++] = 0; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i; + i=offset; + for (;i<*size-2; i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0) || (BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1^invert; + } else if((BitStream[i]==0 && BitStream[i+1]==0) || (BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=invert; } else { - bits[bitnum++] = 77; + BitStream[bitnum++]=77; errCnt++; } - if ( bitnum > 250) break; - } - *bitlen = bitnum; + if(bitnum>250) break; + } + *size=bitnum; return errCnt; } @@ -288,193 +327,188 @@ int BiphaseRawDecode(uint8_t * bits, int *bitlen, int offset) //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask only //prints binary found and saves in graphbuffer for further commands -int askrawdemod(uint8_t *BinStream, int *bitLen, int *clk, int *invert) +int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { - uint32_t i; - uint32_t initLoopMax = 200; - int high = 0, low = 128; - uint8_t BitStream[502] = {0x00}; - - *clk = DetectASKClock(BinStream, *bitLen, *clk); //clock default - - if (*clk < 8) *clk = 64; - if (*clk < 32) *clk = 32; - if (*invert != 1) *invert = 0; + uint32_t i; + // int invert=0; //invert default + int clk2 = *clk; + *clk=DetectASKClock(BinStream, *size, *clk); //clock default + //uint8_t BitStream[502] = {0}; - 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]; - } - - //throw away static - if ((high < 158)){ - return -2; - } - + //HACK: if clock not detected correctly - default + if (clk2==0 && *clk<8) *clk =64; + if (clk2==0 && *clk<32 && clk2==0) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax > *size) initLoopMax=*size; + // Detect high and lows //25% fuzz in case highs and lows aren't clipped [marshmellow] - high = (int)(high * .75); - low = (int)(low+128 * .25); + int high, low, ans; + ans = getHiLo(BinStream, initLoopMax, &high, &low, 75, 75); + if (ans<1) return -2; //just noise - 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 gLen = *bitLen; - if (gLen > 500) gLen = 500; - - uint32_t j = 0; - uint8_t errCnt = 0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen / 1000); - uint32_t errCntLimit = bestErrCnt; - uint8_t midBit = 0; - - //loop to find first wave that works - for (j = 0; j < gLen; ++j){ - - if ((BinStream[j] >= high)||(BinStream[j] <= low)){ - lastBit = j - *clk; - //loop through to see if this start location works - for (i = j; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit += *clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit = 0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit += *clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit = 1; - BitStream[bitnum] = 1 - *invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit = 1; - BitStream[bitnum] = *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit = 1; - BitStream[bitnum] = BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock + // if they fall + or - this value + clock from last valid wave + if (*clk == 32) tol=1; //clock tolerance may not be needed anymore currently set to + // + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *size; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *size; + uint32_t bestErrCnt = (*size/1000); + uint32_t maxErr = bestErrCnt; + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high) || (BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ + //no mid bar found + midBit=1; + } 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!! + 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 > ((*size/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + break; + } + } + } + if ((i-iii)>(500 * *clk)) break; //got enough bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt<(*size/1000))) { + //possible good read + if (errCnt==0){ + bestStart=iii; + bestErrCnt=errCnt; + break; //great read - finish + } + if (errCnt= high) && ((i-lastBit) > (*clk-tol))){ + lastBit += *clk; + BinStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BinStream[bitnum] = 1 - *invert; + bitnum++; + } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ + //no mid bar found + midBit=1; + if (bitnum!=0) BinStream[bitnum] = BinStream[bitnum-1]; + bitnum++; + + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! - errCnt++; - lastBit += *clk;//skip over until hit too many errors - if (errCnt > errCntLimit){ //allow 1 error for every 1000 samples else start over - errCnt = 0; - bitnum = 0;//start over - break; - } - } - } - if (bitnum > 500) break; - } - //we got more than 64 good bits and not all errors - //possible good read - if ((bitnum > (64 + errCnt)) && (errCnt < errCntLimit)) { - - //great read - finish - if (errCnt == 0) break; - - //if current run == bestErrCnt run (after exhausted testing) then finish - if (bestStart == j) break; - - //set this as new best run - if (errCnt < bestErrCnt){ - bestErrCnt = errCnt; - bestStart = j; - } - } - } - if (j >= 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 < errCntLimit) - j = bestStart; - } - } - if (bitnum > 16){ + //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++; + } - for (i = 0; i < bitnum; ++i){ - BinStream[i] = BitStream[i]; + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; } - *bitLen = bitnum; - } else { + *size=bitnum; + } else{ + *invert=bestStart; + *clk=iii; return -1; } - return errCnt; + return bestErrCnt; } -//translate wave to 11111100000 (1 for each short wave 0 for each long wave) +//translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { uint32_t last_transition = 0; uint32_t idx = 1; - uint32_t maxVal = 0; - - if (fchigh == 0) fchigh = 10; - if (fclow == 0) fclow = 8; - - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if ( size < 100) - return 0; - - // Find high from first 100 samples - for ( idx = 1; idx < 100; idx++ ){ - if ( maxVal < dest[idx]) - maxVal = dest[idx]; - } - - // set close to the top of the wave threshold with 25% 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) - uint8_t threshold_value = (uint8_t)(maxVal * .75); - + //uint32_t maxVal=0; + if (fchigh==0) fchigh=10; + if (fclow==0) fclow=8; + //set the threshold close to 0 (graph) or 128 std to avoid static + uint8_t threshold_value = 123; + // sync to first lo-hi transition, and threshold + // Need to threshold first sample - - dest[0] = (dest[0] < threshold_value) ? 0 : 1; + + if(dest[0] < threshold_value) dest[0] = 0; + else dest[0] = 1; 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 - dest[idx] = (dest[idx] < threshold_value) ? 0 : 1; + + 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 + 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 + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves dest[numBits]=1; } else { //9+ = 10 waves dest[numBits]=0; @@ -483,124 +517,131 @@ size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow numBits++; } } - //it returns the number of bytes, but each byte represents a bit: 1 or 0 - return 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 ) +//translate 11111100000 to 10 +size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, + uint8_t invert, uint8_t fchigh, uint8_t fclow) { - uint8_t lastval = dest[0]; - uint32_t idx = 0; - uint32_t n = 1; - size_t numBits = 0; + 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) { + 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)); - } else { // 0->1 crossing - n = myround2( (float)( n + 1 ) / ((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-1)/(float)fchigh)); //-1 for fudge factor } if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive + if(n < maxConsequtiveBits) //Consecutive { - if(invert == 0){ //invert bits + if(invert==0){ //invert bits memset(dest+numBits, dest[idx-1] , n); }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } + memset(dest+numBits, dest[idx-1]^1 , n); + } numBits += n; } - n = 0; - lastval = dest[idx]; + 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); - if ( size > 0 ) - size = aggregate_bits(dest, size, rfLen, 192, invert, 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) +int HIDdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - size_t idx = 0; - int numshifts = 0; + if (justNoise(dest, *size)) return -1; - // FSK demodulator - size = fskdemod(dest, size, 50, 0, 10, 8); + size_t numStart=0, size2=*size, startIdx=0; + // FSK demodulator + *size = fskdemod(dest, size2,50,1,10,8); //fsk2a + if (*size < 96) return -2; + // 00011101 bit pattern represent start of frame, 01 pattern represents a 0 and 10 represents a 1 + uint8_t preamble[] = {0,0,0,1,1,1,0,1}; + // find bitstring in array + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -3; //preamble not found - // 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}; + numStart = startIdx + sizeof(preamble); + // final loop, go over previously decoded FSK data and manchester decode into usable tag ID + for (size_t idx = numStart; (idx-numStart) < *size - sizeof(preamble); idx+=2){ + if (dest[idx] == dest[idx+1]){ + return -4; //not manchester data + } + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|1; + else // 0 1 + *lo=(*lo<<1)|0; + } + return (int)startIdx; +} - uint8_t mask_len = sizeof frame_marker_mask / sizeof frame_marker_mask[0]; +// loop to get raw paradox waveform then FSK demodulate the TAG ID from it +int ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) +{ + if (justNoise(dest, *size)) return -1; - //one scan - while( idx + mask_len < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx += mask_len; - 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 + mask_len < 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++; - } + size_t numStart=0, size2=*size, startIdx=0; + // FSK demodulator + *size = fskdemod(dest, size2,50,1,10,8); //fsk2a + if (*size < 96) return -2; + + // 00001111 bit pattern represent start of frame, 01 pattern represents a 0 and 10 represents a 1 + uint8_t preamble[] = {0,0,0,0,1,1,1,1}; + + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -3; //preamble not found + + numStart = startIdx + sizeof(preamble); + // final loop, go over previously decoded FSK data and manchester decode into usable tag ID + for (size_t idx = numStart; (idx-numStart) < *size - sizeof(preamble); idx+=2){ + if (dest[idx] == dest[idx+1]) + return -4; //not manchester data + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|1; + else // 0 1 + *lo=(*lo<<1)|0; } - return -1; + return (int)startIdx; } -uint32_t bytebits_to_byte(uint8_t *src, int numbits) +uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) { - //HACK: potential overflow in numbits is larger then uint32 bits. - uint32_t num = 0; - for(int i = 0 ; i < numbits ; ++i) { + for(int i = 0 ; i < numbits ; i++) + { num = (num << 1) | (*src); src++; } @@ -609,27 +650,12 @@ uint32_t bytebits_to_byte(uint8_t *src, int numbits) int IOdemodFSK(uint8_t *dest, size_t size) { + if (justNoise(dest, size)) return -1; //make sure buffer has data - if (size < 100) return -1; - - uint32_t idx = 0; - uint8_t testMax = 0; - - //test samples are not just noise - for (; idx < 65; ++idx ){ - if (testMax < dest[idx]) - testMax = dest[idx]; - } - - //if not, just noise - if (testMax < 20) return -2; - + if (size < 66*64) return -2; // FSK demodulator - size = fskdemod(dest, size, 64, 1, 10, 8); // RF/64 and invert - - //did we get a good demod? - if (size < 65) return -3; - + size = fskdemod(dest, size, 64, 1, 10, 8); // FSK2a RF/64 + if (size < 65) return -3; //did we get a good demod? //Index map //0 10 20 30 40 50 60 //| | | | | | | @@ -639,25 +665,83 @@ int IOdemodFSK(uint8_t *dest, size_t size) // //XSF(version)facility:codeone+codetwo //Handle the data - - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - - for( idx = 0; idx < (size - 65); ++idx) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && - dest[idx+17] == 1 && - dest[idx+26] == 1 && - dest[idx+35] == 1 && - dest[idx+44] == 1 && - dest[idx+53] == 1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } + size_t startIdx = 0; + uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,1}; + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), &size, &startIdx); + if (errChk == 0) return -4; //preamble not found + + if (!dest[startIdx+8] && dest[startIdx+17]==1 && dest[startIdx+26]==1 && dest[startIdx+35]==1 && dest[startIdx+44]==1 && dest[startIdx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) startIdx; + } + return -5; +} + +// by marshmellow +// takes a array of binary values, start position, length of bits per parity (includes parity bit), +// Parity Type (1 for odd 0 for even), and binary Length (length to run) +size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen) +{ + uint32_t parityWd = 0; + size_t j = 0, bitCnt = 0; + for (int word = 0; word < (bLen); word+=pLen){ + for (int bit=0; bit < pLen; bit++){ + parityWd = (parityWd << 1) | BitStream[startIdx+word+bit]; + BitStream[j++] = (BitStream[startIdx+word+bit]); + } + j--; + // if parity fails then return 0 + if (parityTest(parityWd, pLen, pType) == 0) return -1; + bitCnt+=(pLen-1); + parityWd = 0; } - return 0; + // if we got here then all the parities passed + //return ID start index and size + return bitCnt; +} + +// by marshmellow +// FSK Demod then try to locate an AWID ID +int AWIDdemodFSK(uint8_t *dest, size_t *size) +{ + //make sure buffer has enough data + if (*size < 96*50) return -1; + + if (justNoise(dest, *size)) return -2; + + // FSK demodulator + *size = fskdemod(dest, *size, 50, 1, 10, 8); // fsk2a RF/50 + if (*size < 96) return -3; //did we get a good demod? + + uint8_t preamble[] = {0,0,0,0,0,0,0,1}; + size_t startIdx = 0; + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -4; //preamble not found + if (*size != 96) return -5; + return (int)startIdx; +} + +// by marshmellow +// FSK Demod then try to locate an Farpointe Data (pyramid) ID +int PyramiddemodFSK(uint8_t *dest, size_t *size) +{ + //make sure buffer has data + if (*size < 128*50) return -5; + + //test samples are not just noise + if (justNoise(dest, *size)) return -1; + + // FSK demodulator + *size = fskdemod(dest, *size, 50, 1, 10, 8); // fsk2a RF/50 + if (*size < 128) return -2; //did we get a good demod? + + uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}; + size_t startIdx = 0; + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -4; //preamble not found + if (*size != 128) return -3; + return (int)startIdx; } // by marshmellow @@ -665,86 +749,582 @@ 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 clk[] = {16,32,40,50,64,100,128,256}; - uint8_t clkLen = sizeof clk / sizeof clk[0]; - + int i=0; + int clk[]={8,16,32,40,50,64,100,128,256}; + int loopCnt = 256; //don't need to loop through entire array... + if (size= peak) || (dest[ii] <= low)){ + errCnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)((size-ii-tol)/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt++; + } + } + //if we found no errors then we can stop here + // this is correct one - return this clock + //PrintAndLog("DEBUG: clk %d, err %d, ii %d, i %d",clk[clkCnt],errCnt,ii,i); + if(errCnt==0 && clkCnt<6) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt peak) - peak = dest[i]; - if(dest[i] < low) - low = dest[i]; - } + int peak, low; + getHiLo(dest, loopCnt, &peak, &low, 75, 75); - peak = (int)(peak * .75); - low = (int)(low+128 * .25); - - int ii, cnt, bestErr, tol = 0; - int errCnt[clkLen]; - memset(errCnt, 0x00, clkLen); - - int tmpIndex, tmphigh, tmplow; - + //PrintAndLog("DEBUG: peak: %d, low: %d",peak,low); + int ii; + uint8_t clkCnt; + uint8_t tol = 0; + int peakcnt=0; + int errCnt=0; + int bestErr[]={1000,1000,1000,1000,1000,1000,1000,1000}; + int peaksdet[]={0,0,0,0,0,0,0,0}; //test each valid clock from smallest to greatest to see which lines up - for( cnt = 0; cnt < clkLen; ++cnt ){ - - tol = (clk[cnt] == 32) ? 1 : 0; - bestErr = 1000; - tmpIndex = tmphigh = tmplow = 0; - - //try lining up the peaks by moving starting point (try first 256) - for (ii=0; ii < loopCnt; ++ii){ - - // not a peak? continue - if ( (dest[ii] < peak) && (dest[ii] > low)) - continue; - - errCnt[cnt] = 0; - - // now that we have the first one lined up test rest of wave array - for ( i = 0; i < ((int)(size / clk[cnt]) - 1); ++i){ - - tmpIndex = ii + (i * clk[cnt] ); - tmplow = dest[ tmpIndex - tol]; - tmphigh = dest[ tmpIndex + tol]; - - if ( dest[tmpIndex] >= peak || dest[tmpIndex] <= low ) { + for(clkCnt=0; clkCnt < 7; ++clkCnt){ + if (clk[clkCnt] <= 32){ + tol=1; + }else{ + tol=0; + } + //try lining up the peaks by moving starting point (try first 256) + for (ii=0; ii< loopCnt; ++ii){ + if ((dest[ii] >= peak) || (dest[ii] <= low)){ + errCnt=0; + peakcnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i < ((int)((size-ii-tol)/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + peakcnt++; + }else{ //error no peak detected + errCnt++; + } } - else if ( tmplow >= peak || tmplow <= low){ - } - else if ( tmphigh >= peak || tmphigh <= low){ + if(peakcnt>peaksdet[clkCnt]) { + peaksdet[clkCnt]=peakcnt; + bestErr[clkCnt]=errCnt; } - else - errCnt[cnt]++; //error no peak detected } + } + } + int iii=0; + int best=0; + //int ratio2; //debug + int ratio; + //int bits; + for (iii=0; iii < 7; ++iii){ + ratio=1000; + //ratio2=1000; //debug + //bits=size/clk[iii]; //debug + if (peaksdet[iii] > 0){ + ratio=bestErr[iii]/peaksdet[iii]; + if (((bestErr[best]/peaksdet[best]) > (ratio)+1)){ + best = iii; + } + //ratio2=bits/peaksdet[iii]; //debug + } + //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); + } + return clk[best]; +} - //if we found no errors this is correct one - return this clock - if ( errCnt[cnt] == 0 ) - return clk[cnt]; +// by marshmellow (attempt to get rid of high immediately after a low) +void pskCleanWave(uint8_t *BitStream, size_t size) +{ + int i; + int gap = 4; + int newLow=0; + int newHigh=0; + int high, low; + getHiLo(BitStream, size, &high, &low, 80, 90); + + for (i=0; i < size; ++i){ + if (newLow == 1){ + if (BitStream[i]>low){ + BitStream[i]=low+8; + gap--; + } + if (gap == 0){ + newLow=0; + gap=4; + } + }else if (newHigh == 1){ + if (BitStream[i]= high) newHigh=1; + } + return; +} - if ( errCnt[cnt] < bestErr) - bestErr = errCnt[cnt]; +// by marshmellow +// convert psk1 demod to psk2 demod +// only transition waves are 1s +void psk1TOpsk2(uint8_t *BitStream, size_t size) +{ + size_t i=1; + uint8_t lastBit=BitStream[0]; + for (; i=high) || (dest[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + //if we found a high bar and we are at a clock bit + if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i] < high && dest[i] > low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i >= lastBit+*clk+tol){ //clock val + lastBit+=*clk; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt++; + } + if (bitnum>=1000) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt < (maxErr))) { + //possible good read + if (errCnt == 0){ + bestStart = iii; + bestErrCnt = errCnt; + break; //great read - finish + } + if (errCnt < bestErrCnt){ //set this as new best run + bestErrCnt = errCnt; + bestStart = iii; + } + } + } + } + if (bestErrCnt < maxErr){ + //best run is good enough set to best run and set overwrite BinStream + iii=bestStart; + lastBit=bestStart-*clk; + bitnum=0; + for (i = iii; i < *size; ++i) { + //if we found a high bar and we are at a clock bit + if ((dest[i] >= high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=1-*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + dest[bitnum]=curBit; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ + //error bar found no clock... + bitHigh=1; + dest[bitnum]=77; + bitnum++; + errCnt++; + } + if (bitnum >=1000) break; + } + *size=bitnum; + } else{ + *size=bitnum; + *clk=bestStart; + return -1; + } + + if (bitnum>16){ + *size=bitnum; + } else return -1; + return errCnt; +} + +//by marshmellow +//detects the bit clock for FSK given the high and low Field Clocks +uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow) +{ + uint8_t clk[] = {8,16,32,40,50,64,100,128,0}; + uint16_t rfLens[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + uint8_t rfCnts[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + uint8_t rfLensFnd = 0; + uint8_t lastFCcnt=0; + uint32_t fcCounter = 0; + uint16_t rfCounter = 0; + uint8_t firstBitFnd = 0; + size_t i; + + uint8_t fcTol = (uint8_t)(0.5+(float)(fcHigh-fcLow)/2); + rfLensFnd=0; + fcCounter=0; + rfCounter=0; + firstBitFnd=0; + //PrintAndLog("DEBUG: fcTol: %d",fcTol); + // prime i to first up transition + for (i = 1; i < size-1; i++) + if (BitStream[i] > BitStream[i-1] && BitStream[i]>=BitStream[i+1]) + break; + + for (; i < size-1; i++){ + if (BitStream[i] > BitStream[i-1] && BitStream[i]>=BitStream[i+1]){ + // new peak + fcCounter++; + rfCounter++; + // if we got less than the small fc + tolerance then set it to the small fc + if (fcCounter < fcLow+fcTol) + fcCounter = fcLow; + else //set it to the large fc + fcCounter = fcHigh; + + //look for bit clock (rf/xx) + if ((fcCounterlastFCcnt)){ + //not the same size as the last wave - start of new bit sequence + + if (firstBitFnd>1){ //skip first wave change - probably not a complete bit + for (int ii=0; ii<15; ii++){ + if (rfLens[ii]==rfCounter){ + rfCnts[ii]++; + rfCounter=0; + break; + } + } + if (rfCounter>0 && rfLensFnd<15){ + //PrintAndLog("DEBUG: rfCntr %d, fcCntr %d",rfCounter,fcCounter); + rfCnts[rfLensFnd]++; + rfLens[rfLensFnd++]=rfCounter; + } + } else { + firstBitFnd++; + } + rfCounter=0; + lastFCcnt=fcCounter; + } + fcCounter=0; + } else { + // count sample + fcCounter++; + rfCounter++; + } + } + uint8_t rfHighest=15, rfHighest2=15, rfHighest3=15; + + for (i=0; i<15; i++){ + //PrintAndLog("DEBUG: RF %d, cnts %d",rfLens[i], rfCnts[i]); + //get highest 2 RF values (might need to get more values to compare or compare all?) + if (rfCnts[i]>rfCnts[rfHighest]){ + rfHighest3=rfHighest2; + rfHighest2=rfHighest; + rfHighest=i; + } else if(rfCnts[i]>rfCnts[rfHighest2]){ + rfHighest3=rfHighest2; + rfHighest2=i; + } else if(rfCnts[i]>rfCnts[rfHighest3]){ + rfHighest3=i; + } + } + // set allowed clock remainder tolerance to be 1 large field clock length+1 + // we could have mistakenly made a 9 a 10 instead of an 8 or visa versa so rfLens could be 1 FC off + uint8_t tol1 = fcHigh+1; + + //PrintAndLog("DEBUG: hightest: 1 %d, 2 %d, 3 %d",rfLens[rfHighest],rfLens[rfHighest2],rfLens[rfHighest3]); + + // loop to find the highest clock that has a remainder less than the tolerance + // compare samples counted divided by + int ii=7; + for (; ii>=0; ii--){ + if (rfLens[rfHighest] % clk[ii] < tol1 || rfLens[rfHighest] % clk[ii] > clk[ii]-tol1){ + if (rfLens[rfHighest2] % clk[ii] < tol1 || rfLens[rfHighest2] % clk[ii] > clk[ii]-tol1){ + if (rfLens[rfHighest3] % clk[ii] < tol1 || rfLens[rfHighest3] % clk[ii] > clk[ii]-tol1){ + break; + } + } + } + } + + if (ii<0) return 0; // oops we went too far + + return clk[ii]; +} + +//by marshmellow +//countFC is to detect the field clock lengths. +//counts and returns the 2 most common wave lengths +uint16_t countFC(uint8_t *BitStream, size_t size) +{ + uint8_t fcLens[] = {0,0,0,0,0,0,0,0,0,0}; + uint16_t fcCnts[] = {0,0,0,0,0,0,0,0,0,0}; + uint8_t fcLensFnd = 0; + uint8_t lastFCcnt=0; + uint32_t fcCounter = 0; + size_t i; + + // prime i to first up transition + for (i = 1; i < size-1; i++) + if (BitStream[i] > BitStream[i-1] && BitStream[i] >= BitStream[i+1]) + break; + + for (; i < size-1; i++){ + if (BitStream[i] > BitStream[i-1] && BitStream[i] >= BitStream[i+1]){ + // new up transition + fcCounter++; + + //if we had 5 and now have 9 then go back to 8 (for when we get a fc 9 instead of an 8) + if (lastFCcnt==5 && fcCounter==9) fcCounter--; + //if odd and not rc/5 add one (for when we get a fc 9 instead of 10) + if ((fcCounter==9 && fcCounter & 1) || fcCounter==4) fcCounter++; + + // save last field clock count (fc/xx) + // find which fcLens to save it to: + for (int ii=0; ii<10; ii++){ + if (fcLens[ii]==fcCounter){ + fcCnts[ii]++; + fcCounter=0; + break; + } + } + if (fcCounter>0 && fcLensFnd<10){ + //add new fc length + fcCnts[fcLensFnd]++; + fcLens[fcLensFnd++]=fcCounter; + } + fcCounter=0; + } else { + // count sample + fcCounter++; + } + } + + uint8_t best1=9, best2=9, best3=9; + uint16_t maxCnt1=0; + // go through fclens and find which ones are bigest 2 + for (i=0; i<10; i++){ + // PrintAndLog("DEBUG: FC %d, Cnt %d, Errs %d",fcLens[i],fcCnts[i],errCnt); + // get the 3 best FC values + if (fcCnts[i]>maxCnt1) { + best3=best2; + best2=best1; + maxCnt1=fcCnts[i]; + best1=i; + } else if(fcCnts[i]>fcCnts[best2]){ + best3=best2; + best2=i; + } else if(fcCnts[i]>fcCnts[best3]){ + best3=i; + } + } + uint8_t fcH=0, fcL=0; + if (fcLens[best1]>fcLens[best2]){ + fcH=fcLens[best1]; + fcL=fcLens[best2]; + } else{ + fcH=fcLens[best2]; + fcL=fcLens[best1]; + } + + // TODO: take top 3 answers and compare to known Field clocks to get top 2 + + uint16_t fcs = (((uint16_t)fcH)<<8) | fcL; + // PrintAndLog("DEBUG: Best %d best2 %d best3 %d",fcLens[best1],fcLens[best2],fcLens[best3]); + + return fcs; } diff --git a/common/lfdemod.h b/common/lfdemod.h index ad95fda5..dbeab0f7 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -1,10 +1,14 @@ -// Copyright (C) 2014 +// Copyright (C) 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of // the license. //----------------------------------------------------------------------------- -// Low frequency commands +// Low frequency demod related commands +// marshmellow +// note that many of these demods are not the slickest code and they often rely +// on peaks and clock instead of converting to clean signal. +// //----------------------------------------------------------------------------- #ifndef LFDEMOD_H__ @@ -12,14 +16,30 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); -int manrawdecode(uint8_t *BitStream, int *bitLen); -int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); -int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); -int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); +int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx); +int ManchesterEncode(uint8_t *BitStream, size_t size); +int manrawdecode(uint8_t *BitStream, size_t *size); +int BiphaseRawDecode(uint8_t * BitStream, size_t *size, int offset, int invert); +int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); +int HIDdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); -uint32_t bytebits_to_byte(uint8_t* src, int numbits); +uint32_t bytebits_to_byte(uint8_t* src, size_t numbits); +int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert); +void psk1TOpsk2(uint8_t *BitStream, size_t size); +int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); +int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert); +void pskCleanWave(uint8_t *bitStream, size_t size); +int PyramiddemodFSK(uint8_t *dest, size_t *size); +int AWIDdemodFSK(uint8_t *dest, size_t *size); +size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen); +uint16_t countFC(uint8_t *BitStream, size_t size); +uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow); +int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo); +int ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); +uint8_t preambleSearch(uint8_t *BitStream, uint8_t *preamble, size_t pLen, size_t *size, size_t *startIdx); +uint8_t parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType); +uint8_t justNoise(uint8_t *BitStream, size_t size); #endif diff --git a/common/usb_cdc.c b/common/usb_cdc.c index c8d5af1c..ccbb3c50 100644 --- a/common/usb_cdc.c +++ b/common/usb_cdc.c @@ -33,7 +33,7 @@ */ #include "usb_cdc.h" -#include "../include/config_gpio.h" +#include "config_gpio.h" #define MIN(a, b) (((a) < (b)) ? (a) : (b)) #define MAX(a, b) (((a) > (b)) ? (a) : (b)) @@ -235,31 +235,31 @@ void usb_disable() { //* \brief This function Activates the USB device //*---------------------------------------------------------------------------- void usb_enable() { - // Set the PLL USB Divider - AT91C_BASE_CKGR->CKGR_PLLR |= AT91C_CKGR_USBDIV_1 ; - - // Specific Chip USB Initialisation - // Enables the 48MHz USB clock UDPCK and System Peripheral USB Clock - AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP; - AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UDP); - - // Enable UDP PullUp (USB_DP_PUP) : enable & Clear of the corresponding PIO - // Set in PIO mode and Configure in Output - AT91C_BASE_PIOA->PIO_PER = GPIO_USB_PU; // Set in PIO mode + // Set the PLL USB Divider + AT91C_BASE_CKGR->CKGR_PLLR |= AT91C_CKGR_USBDIV_1 ; + + // Specific Chip USB Initialisation + // Enables the 48MHz USB clock UDPCK and System Peripheral USB Clock + AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP; + AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UDP); + + // Enable UDP PullUp (USB_DP_PUP) : enable & Clear of the corresponding PIO + // Set in PIO mode and Configure in Output + AT91C_BASE_PIOA->PIO_PER = GPIO_USB_PU; // Set in PIO mode AT91C_BASE_PIOA->PIO_OER = GPIO_USB_PU; // Configure as Output - - // Clear for set the Pullup resistor + + // Clear for set the Pullup resistor AT91C_BASE_PIOA->PIO_CODR = GPIO_USB_PU; + + // Disconnect and reconnect USB controller for 100ms + usb_disable(); + + // Wait for a short while + for (volatile size_t i=0; i<0x100000; i++); - // Disconnect and reconnect USB controller for 100ms - usb_disable(); - - // Wait for a short while - for (volatile size_t i=0; i<0x100000; i++); - - // Reconnect USB reconnect - AT91C_BASE_PIOA->PIO_SODR = GPIO_USB_PU; - AT91C_BASE_PIOA->PIO_OER = GPIO_USB_PU; + // Reconnect USB reconnect + AT91C_BASE_PIOA->PIO_SODR = GPIO_USB_PU; + AT91C_BASE_PIOA->PIO_OER = GPIO_USB_PU; } //*---------------------------------------------------------------------------- @@ -298,26 +298,26 @@ bool usb_poll() //* \brief Read available data from Endpoint OUT //*---------------------------------------------------------------------------- uint32_t usb_read(byte_t* data, size_t len) { - byte_t bank = btReceiveBank; + byte_t bank = btReceiveBank; uint32_t packetSize, nbBytesRcv = 0; - uint32_t time_out = 0; + uint32_t time_out = 0; while (len) { if (!usb_check()) break; if ( pUdp->UDP_CSR[AT91C_EP_OUT] & bank ) { packetSize = MIN(pUdp->UDP_CSR[AT91C_EP_OUT] >> 16, len); - len -= packetSize; + len -= packetSize; while(packetSize--) data[nbBytesRcv++] = pUdp->UDP_FDR[AT91C_EP_OUT]; pUdp->UDP_CSR[AT91C_EP_OUT] &= ~(bank); if (bank == AT91C_UDP_RX_DATA_BK0) { bank = AT91C_UDP_RX_DATA_BK1; - } else { + } else { bank = AT91C_UDP_RX_DATA_BK0; - } + } } - if (time_out++ == 0x1fff) break; + if (time_out++ == 0x1fff) break; } btReceiveBank = bank; @@ -349,7 +349,7 @@ uint32_t usb_write(const byte_t* data, const size_t len) { // Wait for the the first bank to be sent while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP)) { if (!usb_check()) return length; - } + } pUdp->UDP_CSR[AT91C_EP_IN] &= ~(AT91C_UDP_TXCOMP); while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP); pUdp->UDP_CSR[AT91C_EP_IN] |= AT91C_UDP_TXPKTRDY; @@ -370,7 +370,7 @@ uint32_t usb_write(const byte_t* data, const size_t len) { //* \fn AT91F_USB_SendData //* \brief Send Data through the control endpoint //*---------------------------------------------------------------------------- -unsigned int csrTab[100]; +unsigned int csrTab[100] = {0x00}; unsigned char csrIdx = 0; static void AT91F_USB_SendData(AT91PS_UDP pUdp, const char *pData, uint32_t length) { diff --git a/common/usb_cdc.h b/common/usb_cdc.h index b6489937..59e73a47 100644 --- a/common/usb_cdc.h +++ b/common/usb_cdc.h @@ -35,7 +35,7 @@ #ifndef _USB_CDC_H_ #define _USB_CDC_H_ -#include "../include/common.h" +#include "common.h" void usb_disable(); void usb_enable(); diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit index 5389428c..8b0c7a37 100644 Binary files a/fpga/fpga_hf.bit and b/fpga/fpga_hf.bit differ diff --git a/fpga/fpga_lf.bit b/fpga/fpga_lf.bit index e942921a..51b0681c 100644 Binary files a/fpga/fpga_lf.bit and b/fpga/fpga_lf.bit differ diff --git a/fpga/hi_simulate.v b/fpga/hi_simulate.v index c04ade80..0768c29d 100644 --- a/fpga/hi_simulate.v +++ b/fpga/hi_simulate.v @@ -50,12 +50,38 @@ begin else if(~(| adc_d[7:5])) after_hysteresis = 1'b0; end + // Divide 13.56 MHz by 32 to produce the SSP_CLK // The register is bigger to allow higher division factors of up to /128 -reg [6:0] ssp_clk_divider; +reg [10:0] ssp_clk_divider; + always @(posedge adc_clk) ssp_clk_divider <= (ssp_clk_divider + 1); -assign ssp_clk = ssp_clk_divider[4]; + +reg ssp_clk; +reg ssp_frame; +always @(negedge adc_clk) +begin + //If we're in 101, we only need a new bit every 8th carrier bit (53Hz). Otherwise, get next bit at 424Khz + if(mod_type == 3'b101) + begin + if(ssp_clk_divider[7:0] == 8'b00000000) + ssp_clk <= 1'b0; + if(ssp_clk_divider[7:0] == 8'b10000000) + ssp_clk <= 1'b1; + + end + else + begin + if(ssp_clk_divider[4:0] == 5'd0)//[4:0] == 5'b00000) + ssp_clk <= 1'b1; + if(ssp_clk_divider[4:0] == 5'd16) //[4:0] == 5'b10000) + ssp_clk <= 1'b0; + end +end + + +//assign ssp_clk = ssp_clk_divider[4]; // Divide SSP_CLK by 8 to produce the byte framing signal; the phase of // this is arbitrary, because it's just a bitstream. @@ -69,12 +95,13 @@ reg [2:0] ssp_frame_divider_from_arm; always @(negedge ssp_clk) ssp_frame_divider_from_arm <= (ssp_frame_divider_from_arm + 1); -reg ssp_frame; + + always @(ssp_frame_divider_to_arm or ssp_frame_divider_from_arm or mod_type) if(mod_type == 3'b000) // not modulating, so listening, to ARM ssp_frame = (ssp_frame_divider_to_arm == 3'b000); else - ssp_frame = (ssp_frame_divider_from_arm == 3'b000); + ssp_frame = (ssp_frame_divider_from_arm == 3'b000); // Synchronize up the after-hysteresis signal, to produce DIN. reg ssp_din; @@ -90,7 +117,7 @@ always @(mod_type or ssp_clk or ssp_dout) modulating_carrier <= ssp_dout ^ ssp_clk_divider[3]; // XOR means BPSK else if(mod_type == 3'b010) modulating_carrier <= ssp_dout & ssp_clk_divider[5]; // switch 212kHz subcarrier on/off - else if(mod_type == 3'b100) + else if(mod_type == 3'b100 || mod_type == 3'b101) modulating_carrier <= ssp_dout & ssp_clk_divider[4]; // switch 424kHz modulation on/off else modulating_carrier <= 1'b0; // yet unused @@ -106,7 +133,7 @@ assign pwr_oe4 = modulating_carrier; // This one is always on, so that we can watch the carrier. assign pwr_oe3 = 1'b0; -assign dbg = after_hysteresis; +assign dbg = modulating_carrier; //reg dbg; //always @(ssp_dout) // dbg <= ssp_dout; diff --git a/include/hitag2.h b/include/hitag2.h index 713c2cb8..ca15d81d 100644 --- a/include/hitag2.h +++ b/include/hitag2.h @@ -14,8 +14,8 @@ typedef enum { RHT2F_PASSWORD = 21, RHT2F_AUTHENTICATE = 22, - RHT2F_CRYPTO = 23, - RHT2F_TEST_AUTH_ATTEMPTS = 25, + RHT2F_CRYPTO = 23, + RHT2F_TEST_AUTH_ATTEMPTS = 25, } hitag_function; typedef struct { @@ -33,7 +33,7 @@ typedef struct { typedef union { rht2d_password pwd; rht2d_authenticate auth; - rht2d_crypto crypto; + rht2d_crypto crypto; } hitag_data; #endif diff --git a/traces/ATA5577-HIDemu-FC1-C9.pm3 b/traces/ATA5577-HIDemu-FC1-C9.pm3 new file mode 100644 index 00000000..7c0a878e --- /dev/null +++ b/traces/ATA5577-HIDemu-FC1-C9.pm3 @@ -0,0 +1,16000 @@ +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +60 +74 +38 +3 +-31 +-58 +-82 +-101 +-102 +-41 +68 +86 +50 +14 +-22 +-50 +-75 +-96 +-113 +-34 +75 +92 +55 +19 +-17 +-46 +-72 +-92 +-111 +-31 +79 +96 +60 +23 +-14 +-43 +-70 +-91 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-108 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +103 +66 +29 +-9 +-40 +-66 +-88 +-107 +-24 +85 +102 +66 +29 +-9 +-40 +-66 +-88 +-106 +-25 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-16 +92 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +25 +-11 +-42 +-68 +-90 +-107 +-26 +85 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +55 +12 +-22 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-35 +69 +72 +34 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +72 +35 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +80 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +25 +-11 +-42 +-68 +-90 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +86 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +86 +100 +65 +27 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-13 +91 +94 +55 +12 +-22 +-52 +-76 +-22 +82 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +83 +49 +11 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +97 +63 +23 +-12 +-43 +-68 +-90 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +77 +39 +-1 +-33 +-62 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-104 +-43 +63 +78 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-73 +-20 +83 +86 +48 +7 +-27 +-56 +-79 +-26 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +75 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +96 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +96 +58 +15 +-19 +-49 +-73 +-20 +84 +88 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-24 +81 +85 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +21 +-15 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-29 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-34 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-105 +-44 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +51 +15 +-20 +-49 +-75 +-95 +-112 +-33 +76 +93 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +63 +26 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +83 +100 +64 +27 +-10 +-40 +-67 +-88 +-16 +92 +99 +59 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +35 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +66 +81 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-70 +-91 +-109 +-29 +81 +98 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +89 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +20 +-16 +-46 +-72 +-92 +-110 +-30 +79 +96 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +81 +98 +61 +24 +-13 +-43 +-69 +-90 +-19 +89 +97 +58 +15 +-19 +-49 +-74 +-21 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +69 +75 +37 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +72 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-22 +81 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-16 +-45 +-71 +-91 +-110 +-29 +80 +96 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +98 +61 +25 +-13 +-43 +-69 +-90 +-108 +-27 +81 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-37 +67 +72 +34 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +79 +47 +9 +-24 +-54 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +80 +95 +61 +22 +-14 +-45 +-69 +-91 +-109 +-28 +83 +97 +64 +25 +-11 +-42 +-68 +-90 +-107 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-13 +91 +94 +55 +13 +-21 +-51 +-75 +-22 +83 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-27 +77 +80 +42 +1 +-31 +-60 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-99 +-101 +-38 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +64 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-89 +-107 +-25 +84 +101 +65 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-89 +-17 +91 +98 +59 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +75 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +96 +60 +24 +-14 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-69 +-90 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +83 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +70 +88 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +76 +80 +42 +1 +-32 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-104 +-43 +63 +77 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-26 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +66 +80 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +80 +95 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +92 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-97 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +80 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +50 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +40 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-105 +-44 +63 +77 +40 +6 +-28 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +98 +62 +25 +-12 +-42 +-69 +-89 +-108 +-27 +82 +100 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +82 +100 +64 +27 +-11 +-41 +-67 +-89 +-107 +-25 +83 +100 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +65 +27 +-10 +-41 +-67 +-88 +-107 +-26 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +72 +75 +37 +-3 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-44 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-108 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-31 +-60 +-82 +-31 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +89 +97 +58 +15 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-30 +75 +78 +41 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +63 +78 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-18 +-48 +-73 +-94 +-111 +-32 +79 +93 +59 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-71 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-24 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +68 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-113 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-41 +-68 +-89 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +98 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +83 +44 +3 +-30 +-59 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-32 +73 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +67 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-71 +-16 +88 +91 +52 +10 +-24 +-53 +-77 +-25 +79 +83 +44 +4 +-29 +-58 +-81 +-30 +74 +77 +39 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-52 +-76 +-97 +-98 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +96 +62 +24 +-12 +-43 +-69 +-91 +-108 +-27 +84 +99 +64 +26 +-10 +-42 +-67 +-89 +-107 +-27 +84 +99 +65 +22 +-14 +-44 +-69 +-14 +90 +94 +55 +12 +-22 +-51 +-75 +-23 +81 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-46 +61 +75 +40 +5 +-29 +-57 +-81 +-100 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-46 +-72 +-92 +-110 +-29 +79 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +91 +97 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-2 +-35 +-62 +-85 +-105 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +37 +-1 +-33 +-62 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-89 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +84 +98 +64 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-13 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-28 +76 +81 +43 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +61 +75 +39 +4 +-30 +-57 +-81 +-101 +-102 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-1 +-33 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-11 +-41 +-68 +-89 +-108 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +85 +101 +65 +28 +-10 +-40 +-66 +-88 +-107 +-24 +85 +102 +65 +27 +-10 +-40 +-67 +-88 +-107 +-25 +85 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +77 +81 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-35 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +35 +-2 +-34 +-63 +-85 +-105 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-28 +83 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +86 +100 +66 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +72 +77 +39 +-1 +-33 +-61 +-84 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +74 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +21 +-14 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +79 +82 +43 +3 +-30 +-59 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +85 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-35 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-30 +-57 +-81 +-100 +-102 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +98 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +83 +100 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-40 +-67 +-88 +-107 +-25 +84 +102 +65 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-36 +74 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +93 +60 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +62 +23 +-13 +-44 +-69 +-91 +-108 +-29 +82 +96 +62 +19 +-16 +-47 +-71 +-16 +87 +91 +52 +10 +-24 +-53 +-77 +-25 +79 +83 +44 +3 +-29 +-58 +-81 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-44 +63 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-73 +-94 +-112 +-31 +78 +96 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +91 +98 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-85 +-105 +-46 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +84 +88 +49 +8 +-25 +-55 +-78 +-26 +78 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +20 +-15 +-45 +-70 +-15 +88 +93 +54 +11 +-23 +-52 +-76 +-24 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-35 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +62 +23 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-71 +-16 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-27 +77 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +88 +49 +8 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +55 +12 +-22 +-52 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +76 +81 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-34 +69 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-111 +-32 +79 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-24 +80 +84 +46 +4 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +75 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +71 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-35 +-63 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-36 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-31 +79 +94 +60 +21 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +62 +23 +-12 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-70 +-14 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +38 +-1 +-33 +-62 +-84 +-33 +71 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +39 +5 +-30 +-57 +-81 +-100 +-102 +-39 +70 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +96 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +100 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +3 +-30 +-59 +-82 +-30 +75 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-70 +-91 +-109 +-29 +83 +97 +64 +24 +-11 +-43 +-68 +-90 +-107 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +93 +55 +12 +-22 +-52 +-75 +-22 +82 +85 +47 +5 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-24 +81 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-1 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +69 +73 +35 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +5 +-30 +-57 +-81 +-101 +-102 +-40 +70 +88 +52 +15 +-20 +-49 +-75 +-95 +-113 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +64 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +63 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +85 +89 +50 +8 +-25 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-69 +-91 +-109 +-28 +82 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +39 +4 +-30 +-57 +-81 +-101 +-102 +-39 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-34 +76 +93 +56 +20 +-17 +-46 +-72 +-92 +-110 +-31 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-30 +80 +97 +60 +23 +-14 +-43 +-70 +-91 +-20 +88 +95 +56 +14 +-20 +-50 +-74 +-21 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +77 +39 +-1 +-33 +-62 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-104 +-43 +63 +78 +42 +7 +-28 +-55 +-80 +-99 +-100 +-37 +72 +90 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-14 +-44 +-70 +-91 +-109 +-29 +80 +97 +61 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-73 +-20 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +76 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-30 +81 +95 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-26 +85 +100 +65 +22 +-14 +-45 +-69 +-14 +90 +94 +54 +12 +-22 +-51 +-75 +-23 +81 +85 +47 +6 +-27 +-56 +-80 +-28 +77 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +20 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-27 +-56 +-79 +-26 +77 +82 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-60 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-28 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +65 +21 +-14 +-45 +-70 +-14 +89 +94 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +76 +38 +-1 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +68 +83 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +82 +96 +62 +23 +-12 +-44 +-69 +-91 +-108 +-27 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +15 +-20 +-49 +-75 +-95 +-97 +-32 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-73 +-21 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +0 +-33 +-61 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +66 +27 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-14 +-45 +-69 +-13 +90 +94 +55 +12 +-22 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-34 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-35 +69 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-106 +-46 +60 +75 +39 +4 +-30 +-58 +-82 +-101 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-97 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-26 +-55 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +100 +64 +27 +-11 +-41 +-68 +-88 +-107 +-26 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +100 +64 +27 +-10 +-41 +-67 +-88 +-107 +-26 +83 +101 +65 +27 +-10 +-40 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-32 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +62 +24 +-12 +-43 +-68 +-90 +-108 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +89 +93 +53 +11 +-23 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +38 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +71 +33 +-6 +-37 +-65 +-87 +-37 +67 +72 +33 +-6 +-37 +-65 +-87 +-37 +68 +72 +34 +-5 +-37 +-64 +-86 +-37 +68 +72 +33 +-5 +-37 +-65 +-87 +-37 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +73 +35 +-3 +-35 +-62 +-85 +-105 +-104 +-45 +65 +80 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +85 +99 +64 +25 +-10 +-42 +-67 +-89 +-107 +-27 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-14 +90 +94 +55 +12 +-22 +-52 +-75 +-22 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +77 +81 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +0 +-33 +-61 +-84 +-104 +-103 +-43 +68 +83 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +98 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-42 +-68 +-89 +-17 +91 +98 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +50 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +38 +4 +-30 +-57 +-81 +-101 +-102 +-40 +69 +86 +50 +14 +-22 +-50 +-76 +-96 +-113 +-35 +74 +91 +55 +19 +-17 +-47 +-72 +-93 +-111 +-31 +78 +95 +58 +22 +-15 +-45 +-71 +-91 +-109 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-19 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-27 +-55 +-79 +-26 +79 +83 +44 +3 +-30 +-58 +-81 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-1 +-34 +-62 +-84 +-33 +71 +76 +37 +0 +-32 +-61 +-83 +-103 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +75 +91 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +88 +92 +53 +11 +-23 +-53 +-76 +-24 +80 +83 +45 +4 +-29 +-57 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +0 +-33 +-61 +-83 +-104 +-103 +-43 +69 +83 +50 +12 +-22 +-52 +-76 +-97 +-97 +-35 +77 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +95 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +0 +-33 +-61 +-83 +-32 +71 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +75 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-97 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +23 +-14 +-43 +-70 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +59 +16 +-18 +-48 +-73 +-19 +84 +88 +50 +8 +-25 +-55 +-78 +-26 +79 +82 +44 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +74 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-29 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-37 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-31 +78 +95 +59 +22 +-15 +-44 +-70 +-91 +-109 +-28 +81 +97 +61 +25 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-74 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +49 +7 +-26 +-55 +-79 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +38 +-1 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-35 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +97 +62 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +0 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +96 +57 +15 +-20 +-50 +-74 +-20 +83 +86 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +79 +40 +0 +-33 +-61 +-83 +-32 +71 +75 +37 +-3 +-35 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +21 +-14 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-35 +75 +90 +57 +18 +-16 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +21 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +89 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-71 +-91 +-109 +-28 +81 +99 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +4 +-30 +-57 +-81 +-101 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-2 +-34 +-63 +-85 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +81 +98 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-14 +-44 +-70 +-91 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-26 +83 +99 +63 +26 +-11 +-41 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +79 +46 +9 +-25 +-54 +-78 +-98 +-99 +-38 +73 +88 +54 +16 +-18 +-49 +-73 +-94 +-111 +-33 +78 +93 +59 +21 +-14 +-45 +-70 +-92 +-109 +-30 +82 +97 +62 +23 +-12 +-44 +-69 +-91 +-108 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-29 +75 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +83 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +76 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-30 +82 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +63 +19 +-16 +-46 +-71 +-15 +89 +92 +53 +11 +-23 +-53 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-70 +-91 +-110 +-28 +81 +98 +62 +24 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-18 +-49 +-73 +-20 +83 +88 +49 +7 +-26 +-55 +-79 +-26 +77 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-97 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +100 +64 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +100 +64 +27 +-11 +-41 +-67 +-88 +-17 +91 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +17 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +98 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-31 +72 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-84 +-104 +-44 +63 +78 +42 +6 +-28 +-56 +-80 +-99 +-101 +-37 +71 +88 +52 +16 +-19 +-48 +-74 +-94 +-112 +-33 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +6 +-27 +-56 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +79 +40 +0 +-32 +-60 +-83 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +80 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +77 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-23 +-52 +-76 +-97 +-98 +-36 +76 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-70 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-29 +75 +78 +40 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-105 +-43 +63 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +71 +88 +53 +17 +-19 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-84 +-32 +71 +75 +37 +-3 +-35 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +81 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-31 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-97 +-36 +76 +91 +57 +18 +-17 +-47 +-71 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +73 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-70 +-91 +-110 +-28 +81 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-11 +-42 +-68 +-89 +-17 +91 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +2 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +66 +81 +48 +10 +-24 +-53 +-77 +-97 +-98 +-37 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +59 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +61 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +22 +-14 +-44 +-69 +-14 +90 +94 +55 +12 +-21 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +77 +80 +42 +1 +-31 +-59 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +23 +-14 +-43 +-70 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-32 +73 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-104 +-44 +63 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-33 +77 +94 +57 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-107 +-26 +84 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +85 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +101 +65 +28 +-10 +-40 +-67 +-88 +-16 +91 +98 +60 +17 +-17 +-48 +-72 +-19 +86 +89 +50 +8 +-25 +-54 +-78 +-25 +79 +83 +45 +4 +-29 +-58 +-81 +-29 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +75 +89 +55 +17 +-18 +-48 +-73 +-94 +-111 +-33 +78 +92 +58 +20 +-15 +-46 +-71 +-92 +-109 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-91 +-109 +-30 +82 +96 +62 +19 +-16 +-47 +-71 +-16 +87 +92 +52 +10 +-23 +-53 +-77 +-24 +80 +84 +45 +4 +-29 +-58 +-81 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-1 +-33 +-62 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-65 +-86 +-36 +68 +72 +34 +-5 +-37 +-65 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +72 +35 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +85 +98 +64 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-9 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +22 +-14 +-45 +-69 +-14 +90 +94 +54 +12 +-22 +-51 +-76 +-22 +82 +85 +46 +5 +-28 +-57 +-80 +-28 +77 +80 +41 +1 +-32 +-60 +-82 +-31 +73 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +69 +73 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +21 +-14 +-45 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-35 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +51 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-29 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-29 +75 +80 +42 +1 +-31 +-60 +-83 +-32 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +48 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +80 +84 +45 +4 +-29 +-57 +-81 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +81 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +79 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +97 +63 +20 +-15 +-46 +-70 +-14 +90 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +100 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +84 +101 +63 +27 +-11 +-41 +-68 +-89 +-108 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +102 +65 +27 +-10 +-40 +-67 +-88 +-16 +92 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +89 +50 +8 +-25 +-55 +-78 +-25 +79 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +23 +-12 +-44 +-69 +-91 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +71 +76 +38 +-2 +-34 +-62 +-84 +-33 diff --git a/traces/AWID-15-259.pm3 b/traces/AWID-15-259.pm3 new file mode 100644 index 00000000..46e26ede --- /dev/null +++ b/traces/AWID-15-259.pm3 @@ -0,0 +1,20000 @@ +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-33 +90 +117 +77 +29 +-14 +-48 +-78 +-37 +86 +109 +66 +19 +-22 +-55 +-84 +-44 +77 +101 +59 +13 +-27 +-60 +-88 +-52 +72 +97 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +88 +47 +3 +-36 +-67 +-94 +-57 +66 +90 +47 +3 +-35 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +45 +2 +-36 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-68 +-95 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-56 +-84 +-107 +-111 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +81 +105 +62 +15 +-25 +-58 +-86 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-33 +83 +107 +68 +23 +-18 +-52 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +113 +74 +26 +-16 +-50 +-79 +-33 +89 +114 +72 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-87 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +69 +92 +50 +5 +-34 +-65 +-93 +-57 +66 +90 +48 +4 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +0 +-36 +-68 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +80 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-32 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-50 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-89 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +6 +-33 +-65 +-93 +-56 +68 +91 +49 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +66 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +87 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-49 +65 +82 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +103 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +72 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-57 +68 +91 +48 +4 +-35 +-66 +-94 +-60 +64 +90 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +3 +-36 +-67 +-95 +-62 +62 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-96 +-60 +64 +89 +47 +2 +-36 +-67 +-94 +-60 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +63 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +1 +-36 +-68 +-95 +-60 +64 +88 +46 +3 +-36 +-67 +-95 +-100 +-127 +-51 +64 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +99 +61 +17 +-23 +-56 +-85 +-108 +-112 +-33 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +87 +111 +73 +26 +-16 +-50 +-80 +-33 +90 +113 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +16 +-25 +-57 +-86 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +66 +91 +49 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-102 +-107 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +81 +104 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +49 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +1 +-36 +-68 +-94 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +26 +-14 +-49 +-78 +-103 +-37 +86 +115 +75 +27 +-16 +-49 +-79 +-39 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +76 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-64 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +4 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +68 +20 +-19 +-54 +-81 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +12 +-28 +-61 +-89 +-53 +71 +95 +54 +8 +-31 +-63 +-91 +-56 +68 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +4 +-34 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +3 +-36 +-67 +-95 +-100 +-127 +-51 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-40 +76 +100 +62 +18 +-23 +-55 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +81 +105 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +90 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-63 +62 +87 +46 +3 +-36 +-67 +-94 +-100 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +74 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-33 +82 +107 +69 +24 +-18 +-52 +-81 +-105 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +75 +27 +-15 +-49 +-79 +-35 +89 +114 +71 +23 +-18 +-52 +-82 +-43 +80 +105 +63 +16 +-25 +-58 +-86 +-51 +73 +98 +56 +10 +-29 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +64 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-101 +-51 +65 +83 +45 +1 +-36 +-68 +-95 +-101 +-127 +-46 +72 +94 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +66 +20 +-19 +-54 +-82 +-107 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-80 +-104 +-108 +-29 +89 +109 +75 +27 +-14 +-49 +-78 +-103 +-38 +86 +115 +76 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +13 +-28 +-60 +-89 +-55 +69 +94 +53 +8 +-31 +-63 +-91 +-56 +69 +93 +52 +7 +-33 +-65 +-92 +-58 +67 +91 +49 +5 +-34 +-65 +-93 +-61 +63 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-62 +63 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +62 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +87 +46 +2 +-37 +-68 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +45 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-38 +80 +102 +67 +20 +-19 +-54 +-82 +-107 +-110 +-31 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +109 +67 +19 +-22 +-55 +-84 +-48 +76 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-57 +68 +93 +52 +7 +-33 +-65 +-92 +-58 +66 +90 +49 +4 +-34 +-66 +-94 +-61 +64 +89 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +48 +3 +-35 +-67 +-95 +-60 +64 +89 +48 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-94 +-100 +-127 +-51 +65 +88 +50 +8 +-31 +-64 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-34 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-26 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +89 +113 +76 +30 +-13 +-47 +-77 +-101 +-107 +-26 +90 +115 +77 +31 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +77 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-76 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +88 +114 +76 +28 +-14 +-49 +-78 +-34 +90 +116 +73 +25 +-17 +-51 +-80 +-43 +81 +105 +63 +16 +-24 +-57 +-86 +-50 +74 +99 +56 +11 +-29 +-61 +-90 +-55 +70 +94 +53 +7 +-32 +-64 +-92 +-57 +67 +92 +51 +5 +-33 +-65 +-93 +-59 +66 +90 +49 +4 +-34 +-66 +-94 +-99 +-49 +66 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-45 +72 +94 +59 +13 +-25 +-59 +-86 +-111 +-127 +-37 +81 +103 +68 +21 +-19 +-53 +-81 +-106 +-110 +-32 +86 +107 +72 +25 +-15 +-50 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-107 +-28 +90 +112 +77 +28 +-13 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +91 +113 +78 +29 +-11 +-47 +-76 +-101 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +92 +113 +78 +30 +-11 +-47 +-76 +-102 +-36 +89 +117 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +68 +20 +-21 +-55 +-83 +-47 +77 +102 +59 +13 +-27 +-60 +-88 +-54 +70 +95 +54 +9 +-31 +-63 +-91 +-56 +68 +93 +51 +6 +-33 +-65 +-93 +-58 +67 +91 +50 +5 +-34 +-66 +-93 +-61 +63 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-61 +64 +89 +48 +3 +-36 +-67 +-94 +-64 +62 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +89 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +88 +47 +3 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-37 +-68 +-95 +-64 +60 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +3 +-36 +-67 +-95 +-101 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +76 +101 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +83 +108 +70 +24 +-17 +-51 +-81 +-104 +-109 +-30 +85 +111 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +113 +74 +26 +-16 +-49 +-79 +-35 +88 +114 +72 +24 +-18 +-51 +-81 +-44 +80 +104 +62 +15 +-25 +-58 +-87 +-52 +72 +97 +56 +11 +-29 +-61 +-90 +-55 +70 +94 +52 +7 +-32 +-64 +-92 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-60 +65 +91 +49 +5 +-34 +-66 +-93 +-99 +-127 +-49 +66 +90 +52 +9 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +63 +19 +-22 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-27 +89 +114 +75 +29 +-14 +-48 +-78 +-102 +-107 +-26 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-26 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-107 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +116 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-26 +89 +114 +76 +28 +-14 +-48 +-78 +-34 +90 +115 +73 +25 +-17 +-51 +-81 +-43 +81 +106 +63 +16 +-24 +-57 +-86 +-50 +74 +98 +56 +10 +-29 +-62 +-90 +-55 +70 +95 +53 +8 +-32 +-64 +-91 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +91 +49 +4 +-35 +-66 +-94 +-100 +-49 +66 +85 +46 +2 +-35 +-68 +-94 +-101 +-127 +-45 +71 +94 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +81 +103 +68 +21 +-19 +-53 +-82 +-106 +-110 +-31 +86 +107 +73 +25 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-13 +-49 +-78 +-103 +-38 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +109 +67 +19 +-22 +-55 +-84 +-49 +76 +101 +58 +12 +-28 +-61 +-89 +-54 +70 +95 +54 +9 +-31 +-63 +-91 +-57 +68 +93 +51 +7 +-33 +-65 +-92 +-58 +66 +91 +49 +4 +-34 +-66 +-94 +-61 +63 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +89 +48 +3 +-36 +-67 +-95 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-64 +62 +87 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-64 +62 +87 +46 +2 +-37 +-68 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +3 +-35 +-67 +-94 +-100 +-127 +-51 +64 +89 +50 +7 +-32 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-22 +-56 +-85 +-108 +-112 +-34 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-30 +85 +111 +73 +27 +-15 +-49 +-79 +-103 +-108 +-29 +87 +112 +74 +26 +-16 +-50 +-80 +-35 +88 +113 +72 +24 +-18 +-52 +-81 +-44 +80 +105 +63 +16 +-25 +-57 +-86 +-50 +74 +97 +56 +11 +-29 +-62 +-90 +-55 +70 +94 +53 +8 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +65 +91 +49 +4 +-35 +-66 +-94 +-61 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +89 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +61 +87 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-94 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +3 +-35 +-67 +-95 +-100 +-127 +-50 +65 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-84 +-108 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +75 +29 +-14 +-48 +-78 +-102 +-107 +-27 +88 +113 +75 +29 +-13 +-47 +-78 +-102 +-107 +-25 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-107 +-26 +89 +114 +77 +30 +-12 +-47 +-77 +-101 +-106 +-26 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-26 +89 +114 +76 +28 +-14 +-48 +-78 +-34 +90 +116 +73 +25 +-17 +-51 +-81 +-43 +80 +105 +63 +16 +-24 +-57 +-86 +-51 +73 +98 +56 +10 +-30 +-61 +-90 +-54 +70 +95 +53 +8 +-32 +-64 +-91 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +91 +49 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +47 +3 +-36 +-68 +-95 +-63 +62 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +83 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +71 +92 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +79 +102 +67 +20 +-19 +-54 +-82 +-107 +-110 +-32 +84 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +26 +-14 +-49 +-78 +-103 +-37 +86 +115 +75 +27 +-15 +-49 +-79 +-40 +83 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +13 +-28 +-60 +-88 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-57 +68 +93 +51 +6 +-33 +-65 +-92 +-58 +66 +91 +49 +5 +-34 +-66 +-93 +-99 +-49 +66 +85 +47 +2 +-35 +-68 +-94 +-100 +-127 +-45 +72 +94 +59 +13 +-25 +-59 +-86 +-110 +-127 +-36 +81 +103 +68 +20 +-19 +-54 +-81 +-106 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-107 +-27 +90 +112 +77 +28 +-12 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +89 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +90 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-26 +91 +114 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +91 +112 +78 +29 +-12 +-48 +-76 +-102 +-36 +88 +115 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +68 +20 +-21 +-54 +-83 +-47 +77 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +54 +8 +-31 +-63 +-91 +-56 +69 +93 +52 +6 +-33 +-65 +-92 +-58 +66 +91 +50 +5 +-34 +-66 +-93 +-61 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-62 +63 +87 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +83 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +103 +67 +20 +-19 +-54 +-82 +-106 +-110 +-32 +86 +107 +71 +24 +-16 +-51 +-80 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +76 +101 +59 +13 +-28 +-60 +-88 +-53 +71 +96 +54 +9 +-31 +-63 +-91 +-56 +68 +92 +51 +6 +-33 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-61 +64 +89 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-94 +-100 +-127 +-51 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-30 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +87 +111 +73 +25 +-16 +-50 +-80 +-35 +89 +113 +72 +24 +-18 +-52 +-81 +-44 +80 +105 +63 +16 +-25 +-57 +-86 +-50 +74 +97 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +90 +48 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-64 +61 +87 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +60 +86 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +76 +101 +63 +18 +-23 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +88 +111 +74 +26 +-16 +-50 +-79 +-34 +88 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +16 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +95 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +88 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +1 +-36 +-68 +-95 +-101 +-127 +-46 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-32 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +27 +-14 +-49 +-78 +-103 +-38 +86 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +65 +19 +-22 +-55 +-84 +-47 +77 +100 +59 +13 +-27 +-60 +-88 +-55 +69 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +66 +91 +48 +4 +-35 +-66 +-94 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-59 +65 +90 +48 +3 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +65 +82 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +101 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +26 +-16 +-50 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-55 +68 +93 +50 +5 +-33 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-93 +-61 +64 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +45 +2 +-36 +-67 +-95 +-101 +-127 +-50 +65 +88 +50 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +73 +25 +-16 +-50 +-80 +-34 +89 +113 +71 +24 +-18 +-52 +-81 +-43 +81 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +98 +56 +10 +-29 +-61 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +50 +5 +-34 +-66 +-93 +-58 +65 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-63 +62 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +99 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +82 +106 +69 +24 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +71 +23 +-18 +-52 +-81 +-42 +81 +105 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +90 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +2 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-101 +-50 +65 +82 +45 +0 +-37 +-68 +-95 +-101 +-127 +-45 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-29 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +85 +108 +65 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +53 +8 +-31 +-63 +-91 +-54 +69 +93 +50 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +63 +88 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +79 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +85 +107 +71 +24 +-17 +-51 +-80 +-104 +-108 +-28 +88 +110 +75 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +49 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-58 +66 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-36 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +68 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +109 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +111 +73 +25 +-16 +-50 +-80 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +62 +15 +-25 +-58 +-87 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +51 +6 +-33 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-63 +60 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +63 +18 +-22 +-55 +-84 +-107 +-111 +-33 +82 +106 +68 +23 +-18 +-52 +-81 +-104 +-109 +-29 +85 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +71 +23 +-18 +-52 +-81 +-42 +80 +104 +61 +15 +-25 +-58 +-86 +-50 +74 +98 +55 +10 +-30 +-62 +-90 +-52 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-65 +-93 +-57 +66 +89 +48 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-62 +63 +87 +45 +1 +-38 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-67 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-37 +81 +102 +66 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +74 +26 +-16 +-49 +-79 +-38 +85 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +52 +7 +-32 +-63 +-91 +-54 +69 +93 +51 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +88 +46 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +81 +43 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +85 +107 +71 +23 +-17 +-51 +-80 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +90 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +91 +112 +77 +28 +-13 +-48 +-77 +-102 +-106 +-25 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +110 +66 +19 +-21 +-54 +-83 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +96 +53 +8 +-31 +-63 +-91 +-53 +70 +92 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-99 +-48 +66 +84 +46 +1 +-35 +-67 +-93 +-100 +-127 +-44 +72 +94 +58 +13 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-30 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-106 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +75 +27 +-13 +-48 +-77 +-102 +-106 +-26 +91 +113 +76 +28 +-13 +-48 +-76 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-35 +89 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +110 +66 +19 +-21 +-55 +-84 +-45 +78 +101 +58 +13 +-28 +-60 +-88 +-53 +71 +95 +52 +8 +-32 +-63 +-91 +-53 +70 +92 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-34 +-66 +-93 +-59 +65 +88 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +66 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-58 +66 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-40 +75 +99 +62 +17 +-23 +-56 +-85 +-107 +-111 +-33 +82 +107 +68 +23 +-18 +-52 +-81 +-104 +-109 +-28 +86 +111 +71 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +73 +25 +-16 +-50 +-79 +-33 +90 +114 +71 +23 +-18 +-52 +-81 +-41 +82 +105 +61 +15 +-26 +-58 +-86 +-48 +75 +97 +55 +9 +-30 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +92 +48 +4 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-100 +-48 +67 +83 +45 +1 +-36 +-68 +-94 +-100 +-127 +-44 +73 +93 +58 +12 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-27 +89 +110 +74 +26 +-14 +-49 +-77 +-103 +-106 +-26 +91 +111 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +90 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-76 +-102 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +28 +-12 +-48 +-76 +-101 +-105 +-24 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +112 +76 +28 +-12 +-48 +-77 +-102 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +113 +76 +28 +-12 +-48 +-76 +-101 +-105 +-26 +92 +113 +76 +28 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +76 +28 +-12 +-48 +-76 +-101 +-105 +-24 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +93 +114 +78 +29 +-11 +-47 +-76 +-101 +-105 +-24 +92 +112 +76 +28 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +109 +66 +19 +-22 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-99 +-48 +67 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-44 +73 +94 +57 +12 +-26 +-59 +-87 +-110 +-127 +-36 +81 +102 +66 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-27 +90 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +74 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-23 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +95 +52 +7 +-32 +-64 +-92 +-53 +70 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +92 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +81 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-35 +88 +115 +74 +27 +-15 +-49 +-79 +-37 +85 +108 +65 +18 +-22 +-55 +-84 +-45 +78 +101 +57 +11 +-28 +-60 +-89 +-51 +72 +95 +52 +7 +-32 +-63 +-91 +-54 +70 +93 +50 +5 +-34 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-36 +-68 +-95 +-100 +-127 +-50 +65 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-111 +-33 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +25 +-16 +-50 +-80 +-103 +-108 +-26 +88 +112 +73 +28 +-14 +-49 +-78 +-102 +-107 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +27 +-15 +-48 +-78 +-31 +92 +115 +72 +24 +-17 +-51 +-80 +-40 +83 +105 +62 +15 +-25 +-57 +-86 +-47 +75 +99 +56 +10 +-30 +-61 +-90 +-52 +72 +95 +51 +6 +-33 +-64 +-92 +-54 +68 +92 +49 +4 +-34 +-65 +-93 +-56 +67 +90 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-95 +-58 +66 +89 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-37 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +47 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +66 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-100 +-50 +65 +82 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-36 +88 +115 +74 +26 +-16 +-49 +-79 +-37 +85 +109 +65 +19 +-22 +-55 +-84 +-45 +77 +101 +57 +11 +-28 +-61 +-89 +-53 +71 +94 +53 +8 +-31 +-63 +-91 +-53 +69 +93 +50 +5 +-33 +-65 +-93 +-55 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +88 +47 +3 +-35 +-66 +-94 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-38 +77 +101 +62 +18 +-23 +-56 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-108 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-25 +89 +113 +74 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-46 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-23 +91 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +28 +-14 +-48 +-78 +-31 +92 +115 +72 +24 +-17 +-51 +-80 +-40 +82 +106 +62 +15 +-25 +-58 +-86 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-52 +72 +95 +52 +7 +-32 +-64 +-91 +-54 +70 +91 +49 +5 +-34 +-65 +-93 +-57 +66 +90 +48 +3 +-35 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-22 +-55 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-53 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +88 +47 +2 +-36 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-100 +-49 +65 +82 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-110 +-127 +-37 +81 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +110 +74 +27 +-14 +-49 +-78 +-102 +-36 +88 +115 +74 +26 +-16 +-50 +-79 +-37 +85 +108 +65 +19 +-22 +-55 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +95 +52 +7 +-32 +-64 +-91 +-53 +70 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +66 +89 +45 +1 +-36 +-67 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-68 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +100 +61 +17 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +71 +25 +-16 +-50 +-80 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-32 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +82 +105 +61 +15 +-26 +-58 +-86 +-48 +75 +97 +55 +10 +-29 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +93 +49 +5 +-34 +-65 +-93 +-56 +67 +90 +48 +3 +-35 +-67 +-94 +-58 +66 +90 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-38 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +89 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-32 +83 +106 +68 +23 +-18 +-51 +-81 +-104 +-109 +-28 +87 +110 +71 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-52 +-81 +-41 +82 +104 +61 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +82 +43 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +94 +57 +12 +-27 +-60 +-87 +-110 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +108 +65 +18 +-23 +-56 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +71 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +88 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +64 +81 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +81 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-35 +88 +115 +75 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-52 +71 +96 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +5 +-34 +-65 +-93 +-56 +67 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-94 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +73 +25 +-16 +-50 +-80 +-33 +89 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-86 +-48 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-93 +-59 +66 +89 +47 +2 +-36 +-67 +-95 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +89 +45 +1 +-36 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-94 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +82 +107 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +113 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +65 +82 +44 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +101 +57 +11 +-28 +-61 +-89 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-54 +69 +93 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-59 +64 +89 +48 +3 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-95 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +63 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +64 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +103 +68 +21 +-19 +-53 +-81 +-106 +-109 +-31 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +57 +12 +-28 +-60 +-89 +-52 +71 +95 +54 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-37 +-68 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-61 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +1 +-36 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +17 +-23 +-56 +-85 +-108 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +26 +-16 +-50 +-79 +-34 +90 +114 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +16 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +2 +-36 +-68 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-68 +-95 +-60 +64 +89 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +87 +45 +2 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-50 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-50 +-79 +-34 +90 +114 +72 +24 +-18 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +1 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +83 +45 +0 +-36 +-68 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +75 +27 +-14 +-49 +-78 +-103 +-107 +-27 +90 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-25 +91 +112 +77 +29 +-12 +-47 +-76 +-102 +-106 +-25 +92 +114 +79 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-102 +-106 +-25 +91 +113 +78 +29 +-12 +-48 +-76 +-102 +-35 +89 +116 +77 +29 +-14 +-48 +-78 +-38 +85 +110 +67 +20 +-21 +-54 +-84 +-46 +78 +101 +59 +13 +-27 +-59 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-61 +63 +89 +47 +4 +-35 +-66 +-94 +-100 +-127 +-49 +66 +90 +52 +9 +-30 +-62 +-90 +-112 +-127 +-39 +76 +101 +63 +19 +-22 +-55 +-84 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +29 +-14 +-48 +-78 +-102 +-107 +-26 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +28 +-14 +-48 +-78 +-33 +90 +115 +72 +24 +-18 +-51 +-81 +-42 +82 +105 +63 +17 +-24 +-57 +-86 +-50 +73 +98 +56 +10 +-29 +-62 +-90 +-53 +71 +95 +53 +8 +-32 +-64 +-91 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +67 +21 +-19 +-54 +-82 +-106 +-109 +-32 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +116 +76 +27 +-15 +-49 +-79 +-39 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-56 +69 +93 +51 +6 +-33 +-65 +-93 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-99 +-49 +66 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-44 +73 +94 +59 +13 +-25 +-59 +-87 +-110 +-127 +-36 +81 +103 +68 +21 +-19 +-54 +-81 +-106 +-109 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +90 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-101 +-106 +-26 +92 +113 +78 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-25 +91 +113 +78 +30 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +29 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-48 +-76 +-101 +-106 +-26 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +30 +-12 +-47 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-105 +-26 +91 +114 +78 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-105 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-102 +-35 +89 +117 +77 +29 +-13 +-48 +-78 +-38 +86 +110 +67 +19 +-22 +-55 +-84 +-46 +77 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +52 +7 +-33 +-65 +-92 +-57 +68 +92 +49 +5 +-34 +-66 +-93 +-62 +62 +88 +47 +3 +-35 +-66 +-94 +-100 +-127 +-49 +66 +90 +52 +9 +-30 +-62 +-90 +-112 +-127 +-38 +77 +101 +63 +19 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-49 +-79 +-35 +89 +114 +71 +23 +-18 +-52 +-82 +-43 +80 +104 +62 +16 +-25 +-58 +-86 +-50 +73 +97 +56 +11 +-29 +-61 +-90 +-54 +70 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-62 +63 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-100 +-51 +65 +83 +45 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-55 +69 +95 +53 +8 +-31 +-64 +-91 +-55 +68 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +4 +-34 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-100 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +103 +68 +21 +-19 +-54 +-81 +-106 +-110 +-32 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +89 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-27 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-35 +89 +117 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +67 +20 +-21 +-54 +-84 +-46 +77 +101 +59 +13 +-27 +-60 +-88 +-53 +71 +96 +54 +9 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-93 +-57 +67 +91 +49 +4 +-34 +-66 +-93 +-61 +64 +89 +47 +3 +-35 +-67 +-95 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +87 +45 +1 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +87 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-63 +61 +87 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-55 +-84 +-108 +-112 +-32 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +85 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +67 +91 +50 +5 +-34 +-66 +-93 +-58 +66 +90 +48 +5 +-34 +-66 +-93 +-99 +-127 +-49 +66 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-39 +76 +100 +62 +18 +-22 +-55 +-84 +-107 +-112 +-33 +83 +108 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-26 +88 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-26 +89 +114 +75 +27 +-15 +-49 +-78 +-33 +90 +115 +73 +25 +-17 +-50 +-80 +-42 +81 +106 +63 +16 +-24 +-57 +-86 +-49 +74 +98 +56 +11 +-29 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-63 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-64 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-101 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-22 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +85 +109 +72 +26 +-16 +-50 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +15 +-25 +-58 +-87 +-50 +72 +97 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-36 +-67 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-101 +-50 +64 +82 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +76 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +76 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +68 +93 +51 +6 +-33 +-65 +-93 +-57 +68 +92 +49 +5 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-37 +81 +102 +67 +21 +-19 +-53 +-81 +-106 +-110 +-31 +86 +106 +71 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-16 +-49 +-79 +-39 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-56 +68 +93 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +2 +-36 +-67 +-95 +-101 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-40 +76 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +83 +108 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +111 +73 +26 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +104 +62 +15 +-25 +-58 +-87 +-49 +74 +98 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +48 +4 +-35 +-66 +-94 +-60 +65 +90 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +77 +100 +62 +18 +-23 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +86 +112 +74 +26 +-16 +-49 +-79 +-34 +90 +114 +72 +24 +-18 +-51 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +50 +5 +-34 +-66 +-93 +-58 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +65 +83 +44 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +114 +75 +27 +-16 +-49 +-79 +-39 +85 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +63 +89 +48 +3 +-35 +-67 +-94 +-59 +66 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +44 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-37 +80 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-89 +-53 +71 +95 +54 +8 +-31 +-63 +-91 +-54 +69 +92 +50 +5 +-33 +-65 +-93 +-56 +67 +91 +49 +4 +-34 +-66 +-93 +-60 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-62 +62 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-67 +-95 +-60 +64 +87 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +87 +111 +73 +25 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-42 +80 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +6 +-32 +-64 +-92 +-55 +67 +92 +50 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +61 +87 +45 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +89 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +113 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +15 +-25 +-57 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +90 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-26 +-60 +-87 +-110 +-127 +-36 +80 +101 +66 +19 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +114 +74 +27 +-16 +-49 +-79 +-38 +84 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +94 +53 +8 +-31 +-64 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-36 +-68 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-27 +-60 +-87 +-111 +-127 +-38 +80 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +23 +-17 +-51 +-80 +-104 +-108 +-28 +89 +110 +74 +27 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +85 +109 +65 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-54 +69 +92 +50 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +87 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +86 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +99 +61 +17 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +68 +23 +-18 +-51 +-81 +-105 +-109 +-28 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +25 +-16 +-50 +-79 +-34 +89 +114 +71 +24 +-18 +-52 +-81 +-42 +82 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +86 +45 +1 +-37 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +17 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +69 +23 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-28 +88 +112 +74 +28 +-14 +-48 +-78 +-102 +-106 +-26 +89 +113 +74 +28 +-14 +-48 +-78 +-102 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +91 +115 +77 +28 +-14 +-48 +-78 +-32 +91 +115 +72 +25 +-17 +-51 +-80 +-41 +82 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +98 +56 +10 +-29 +-61 +-89 +-53 +71 +95 +52 +6 +-32 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-58 +66 +90 +47 +4 +-35 +-66 +-94 +-99 +-127 +-49 +66 +89 +52 +9 +-31 +-63 +-90 +-112 +-127 +-38 +77 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +112 +73 +27 +-14 +-48 +-78 +-102 +-107 +-26 +90 +114 +74 +29 +-13 +-47 +-78 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +28 +-15 +-49 +-78 +-32 +91 +115 +73 +25 +-17 +-50 +-80 +-41 +83 +106 +62 +16 +-24 +-57 +-86 +-48 +75 +98 +56 +10 +-29 +-61 +-90 +-53 +71 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-61 +63 +88 +45 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +64 +82 +44 +0 +-36 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +11 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +27 +-15 +-49 +-79 +-38 +85 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +52 +7 +-32 +-64 +-91 +-54 +69 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-59 +64 +88 +47 +4 +-35 +-66 +-94 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-112 +-127 +-38 +77 +100 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-106 +-26 +88 +113 +75 +29 +-13 +-48 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-76 +-101 +-106 +-24 +90 +114 +76 +30 +-13 +-46 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-100 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +91 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-46 +-76 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +27 +-14 +-48 +-78 +-31 +92 +115 +72 +25 +-17 +-51 +-80 +-41 +82 +106 +62 +16 +-25 +-57 +-86 +-49 +74 +98 +55 +10 +-30 +-62 +-90 +-52 +71 +94 +51 +7 +-33 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +48 +4 +-34 +-66 +-93 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-38 +77 +101 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +111 +73 +26 +-16 +-50 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +82 +104 +62 +15 +-25 +-58 +-86 +-48 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +91 +48 +4 +-35 +-66 +-94 +-56 +67 +91 +48 +3 +-35 +-66 +-94 +-59 +66 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +45 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +87 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-109 +-28 +85 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +70 +23 +-19 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +54 +9 +-30 +-62 +-90 +-52 +71 +94 +52 +7 +-32 +-64 +-91 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-56 +67 +89 +48 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-68 +-95 +-58 +65 +89 +46 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-68 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +101 +66 +20 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-106 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-25 +91 +112 +76 +28 +-12 +-48 +-76 +-102 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-102 +-34 +90 +115 +76 +28 +-14 +-49 +-78 +-36 +86 +110 +67 +20 +-21 +-54 +-83 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +50 +5 +-33 +-65 +-93 +-55 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +87 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-111 +-33 +82 +106 +68 +23 +-18 +-52 +-81 +-104 +-109 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +23 +-18 +-52 +-81 +-41 +82 +104 +61 +15 +-25 +-58 +-87 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +90 +47 +3 +-36 +-67 +-94 +-100 +-48 +66 +83 +45 +1 +-36 +-68 +-94 +-101 +-127 +-45 +73 +94 +58 +13 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +87 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +91 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +91 +112 +76 +28 +-12 +-48 +-77 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-37 +86 +110 +66 +19 +-22 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +96 +54 +9 +-31 +-63 +-91 +-53 +69 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +91 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +66 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-94 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +75 +100 +62 +17 +-23 +-56 +-85 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-108 +-29 +86 +111 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +72 +25 +-16 +-50 +-80 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-86 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +91 +48 +4 +-35 +-66 +-93 +-56 +67 +90 +48 +3 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +99 +62 +17 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-29 +85 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +73 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +82 +104 +61 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-52 +72 +95 +52 +7 +-32 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +2 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +11 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +26 +-16 +-49 +-79 +-37 +86 +109 +66 +19 +-22 +-55 +-84 +-45 +77 +101 +57 +12 +-28 +-60 +-88 +-53 +71 +94 +52 +7 +-32 +-64 +-91 +-54 +70 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +47 +2 +-36 +-67 +-94 +-58 +66 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-37 +-68 diff --git a/traces/HID-weak-fob-11647.pm3 b/traces/HID-weak-fob-11647.pm3 new file mode 100644 index 00000000..214ed218 --- /dev/null +++ b/traces/HID-weak-fob-11647.pm3 @@ -0,0 +1,20000 @@ +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +3 +4 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-9 +0 +3 +4 +0 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-7 +-7 +-9 +-16 +-22 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +1 +-1 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-12 +-19 +-26 +-16 +-10 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-15 +-9 +-4 +-5 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +3 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-3 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-24 +-13 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-26 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +1 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +1 +1 +1 +-5 +-15 +-23 +-27 +-28 +-13 +-5 +0 +-1 +-4 +-13 +-21 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-10 +-8 +-8 +-10 +-18 +-23 +-27 +-15 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-17 +-11 +-8 +-8 +-9 +-17 +-23 +-27 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-3 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-15 +-20 +-25 +-14 +-7 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-3 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-15 +-25 +-28 +-28 +-13 +-5 +0 +1 +-1 +-7 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-9 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-10 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-5 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-13 +-8 +-8 +-10 +-17 +-23 +-28 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-25 +-10 +-1 +3 +2 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-3 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-2 +-6 +-15 +-24 +-29 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-13 +-20 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-29 +-27 +-13 +-4 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-6 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-24 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +1 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-9 +-17 +-23 +-28 +-16 +-10 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +1 +3 +1 +-4 +-13 +-21 +-27 +-27 +-12 +-3 +0 +1 +0 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-27 +-14 +-5 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-7 +-5 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-18 +-12 +-8 +-8 +-10 +-16 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-4 +-4 +-6 +-15 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-26 +-10 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-3 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +1 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-14 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-7 +-11 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-28 +-14 +-3 +0 +1 +0 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-17 +-11 +-7 +-7 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-26 +-10 +-2 +2 +2 +1 +-4 +-13 +-22 +-26 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-29 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-6 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-24 +-11 +-1 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-12 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-3 +0 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +-1 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-24 +-29 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-5 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-15 +-9 +-5 +-4 +-4 +-8 +-15 +-23 +-25 +-24 +-10 +-1 +3 +2 +2 +-5 +-13 +-22 +-27 +-27 +-13 +-4 +1 +1 +0 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-27 +-15 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-6 +-8 +-15 +-21 +-26 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-21 +-27 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-5 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-8 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +0 +2 +4 +2 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +4 +1 +-3 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +0 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-20 +-24 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-25 +-29 +-29 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-5 +-7 +-16 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-7 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +2 +-4 +-12 +-22 +-26 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-6 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-9 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-4 +-4 +-3 +-8 +-15 +-22 +-26 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-14 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-17 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +1 +1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +-4 +-12 +-20 +-27 +-16 +-10 +-8 +-7 +-9 +-18 +-23 +-28 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-6 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-16 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-15 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-29 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-11 +-2 +3 +2 +2 +-5 +-14 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-24 +-27 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-23 +-27 +-29 +-13 +-4 +-1 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-28 +-14 +-5 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-15 +-24 +-29 +-27 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-5 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-30 +-14 +-5 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-4 +-12 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-27 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-29 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-28 +-14 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-6 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-5 +-13 +-21 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-15 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-24 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-27 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-22 +-27 +-26 +-13 +-3 +0 +0 +-1 +-6 +-16 +-24 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-4 +-9 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-14 +-22 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +-1 +0 +-4 +-12 +-21 +-26 +-16 +-12 +-8 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-21 +-27 +-26 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-4 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-5 +-7 +-16 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-8 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-8 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-4 +-13 +-20 +-27 +-17 +-11 +-7 +-7 +-10 +-17 +-24 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +2 +2 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +-1 +-1 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-17 +-24 +-28 +-16 +-9 +-6 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-18 +-13 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-24 +-10 +0 +3 +4 +2 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +0 +-2 +-7 +-15 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-22 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-24 +-14 +-8 +-4 +-4 +-4 +-8 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-3 +-13 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-26 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-16 +-23 +-28 +-27 +-13 +-4 +0 +0 +-1 +-6 +-15 +-22 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +0 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-22 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-5 +-2 +0 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-17 +-23 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-9 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-11 +-1 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-16 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-20 +-24 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-24 +-10 +-1 +3 +2 +1 +-4 +-14 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +1 +-3 +-12 +-20 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-24 +-10 +0 +2 +4 +1 +-4 +-13 +-21 +-27 +-26 +-12 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-5 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +-1 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-17 +-10 +-5 +-5 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-24 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +0 +-5 +-14 +-22 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-23 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +2 +3 +2 +-5 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-10 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +4 +1 +-4 +-13 +-22 +-28 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-13 +-8 +-8 +-10 +-17 +-22 +-26 +-15 +-8 +-5 +-5 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +-1 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-14 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-24 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-16 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +1 +1 +0 +-5 +-14 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +0 +3 +4 +1 +-4 +-14 +-21 +-27 +-26 +-12 +-4 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-24 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-9 +-16 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-12 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-4 +-12 +-20 +-27 +-16 +-10 +-7 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-10 +-16 +-23 +-26 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-5 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-17 +-11 +-7 +-7 +-9 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-9 +-1 +3 +2 +2 +-4 +-13 +-22 +-26 +-28 +-12 +-3 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +1 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-14 +-22 +-26 +-27 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +1 +0 +-7 +-15 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +0 +2 +4 +2 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-5 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-17 +-12 +-9 +-8 +-10 +-18 +-23 +-27 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-11 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-27 +-27 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-23 +-9 +0 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-24 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-24 +-23 +-9 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-28 +-14 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-9 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-4 +-13 +-20 +-27 +-17 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-26 +-25 +-10 +-2 +2 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-4 +-13 +-20 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +3 +3 +1 +-3 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-26 +-13 +-3 +0 +1 +-1 +-5 +-16 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-22 +-26 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +2 +1 +-4 +-13 +-22 +-26 +-27 +-13 +-4 +1 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-15 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-7 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-3 +1 +1 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-4 +1 +1 +0 +-7 +-15 +-23 +-28 +-29 +-13 +-6 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +0 +1 +-1 +-7 +-15 +-23 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +-1 +0 +-2 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-1 +-6 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-22 +-26 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-3 +-12 +-20 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-23 +-10 +-1 +3 +3 +1 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-17 +-11 +-7 +-8 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-26 +-13 +-3 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-14 +-22 +-26 +-27 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-10 +-6 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-26 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-4 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-11 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +3 +4 +1 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-9 +0 +2 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +1 +2 +0 +-6 +-15 +-22 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-27 +-13 +-5 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-13 +-7 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-7 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +-1 +-7 +-15 +-24 +-27 +-28 +-12 +-5 +0 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-4 +-12 +-20 +-27 +-16 +-11 +-7 +-7 +-9 +-18 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-13 +-21 +-27 +-27 +-13 +-3 +0 +1 +0 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-3 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-28 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-8 +-5 +-4 +-7 +-14 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-3 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +2 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +0 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-5 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-2 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-16 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-3 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +-1 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-6 +-5 +-8 +-16 +-22 +-26 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-5 +-4 +-8 +-16 +-22 +-25 +-25 +-9 +-1 +2 +2 +1 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-15 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +0 +-1 +0 +-6 +-14 +-23 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-7 +-7 +-11 +-18 +-23 +-28 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-28 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +2 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-6 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-23 +-27 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +1 +-3 +-12 +-20 +-27 +-16 +-11 +-9 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-16 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-16 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-13 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-24 +-28 +-27 +-14 +-4 +0 +0 +-1 +-5 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-16 +-23 +-26 +-26 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-26 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-29 +-29 +-13 +-5 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-27 +-16 +-10 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-22 +-26 +-26 +-10 +-1 +2 +2 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +1 +0 +-7 +-14 +-23 +-28 +-28 +-12 +-5 +0 +1 +0 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-22 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-24 +-10 +-2 +3 +2 +1 +-5 +-13 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-21 +-26 +-16 +-12 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-12 +-20 +-26 +-16 +-10 +-8 +-7 +-9 +-17 +-23 +-28 +-17 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-9 +-1 +3 +3 +1 +-4 +-13 +-22 +-27 +-28 +-12 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-14 +-5 +-1 +-1 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-23 +-26 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-13 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-15 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +0 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-4 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-23 +-27 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +0 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-26 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-27 +-13 +-5 +-1 +1 +-1 +-6 +-15 +-24 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-26 +-15 +-9 +-4 +-5 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-24 +-26 +-25 +-10 +-2 +3 +2 +2 +-5 +-13 +-22 +-27 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +-1 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-8 +-11 +-18 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-9 +-2 +3 +3 +1 +-5 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-21 +-27 +-17 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-10 +-6 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-2 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-11 +-6 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-3 +-13 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-13 +-7 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-24 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-9 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-9 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-7 +-7 +-11 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +-1 +-6 +-14 +-24 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-24 +-28 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-25 +-24 +-9 +0 +2 +4 +1 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-23 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +1 +0 +-1 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-27 +-17 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-4 +-9 +-15 +-22 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-5 +-5 +-8 +-16 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-20 +-25 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +3 +3 +1 +-4 +-14 +-21 +-27 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-24 +-13 +-7 +-3 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-7 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-4 +-8 +-15 +-22 +-25 +-24 +-9 +-1 +3 +2 +1 +-5 +-13 +-22 +-26 +-27 +-12 +-3 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-8 +-11 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-24 +-10 +-1 +3 +4 +1 +-3 +-14 +-21 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +0 +-1 +-5 +-15 +-22 +-28 +-27 +-14 +-4 +0 +0 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-16 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-16 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-6 +-1 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-4 +-12 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-27 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-16 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +1 +-3 +-12 +-19 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-14 +-3 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-17 +-22 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-12 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-24 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-24 +-9 +-1 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-14 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-15 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +1 +-4 +-13 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-5 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +-3 +-13 +-20 +-27 +-17 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +3 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-7 +-11 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-9 +-4 +-4 +-7 +-14 diff --git a/traces/Paradox-96_40426-APJN08.pm3 b/traces/Paradox-96_40426-APJN08.pm3 new file mode 100644 index 00000000..c24bee37 --- /dev/null +++ b/traces/Paradox-96_40426-APJN08.pm3 @@ -0,0 +1,16000 @@ +-4 +-41 +-72 +-98 +-46 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-120 +-85 +34 +78 +75 +26 +-16 +-51 +-80 +-104 +-125 +-80 +41 +86 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +52 +97 +96 +44 +-1 +-38 +-69 +-94 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-68 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-46 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +72 +72 +23 +-19 +-53 +-82 +-106 +-126 +-81 +39 +83 +84 +32 +-11 +-46 +-76 +-101 +-121 +-74 +46 +90 +89 +37 +-6 +-42 +-73 +-98 +-119 +-71 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-118 +-69 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +86 +35 +-9 +-45 +-75 +-99 +-120 +-73 +47 +92 +92 +40 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-65 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +85 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +31 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-94 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +66 +94 +41 +-3 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +99 +97 +44 +-1 +-38 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +53 +7 +-31 +-63 +-90 +-35 +74 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +95 +79 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +75 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +84 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-72 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +63 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-47 +64 +93 +40 +-5 +-42 +-73 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-1 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +97 +97 +44 +0 +-38 +-69 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +99 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +1 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +45 +1 +-37 +-68 +-94 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +83 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +87 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-29 +-61 +-88 +-31 +79 +107 +53 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-25 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +74 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-78 +-103 +-124 +-89 +31 +74 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-96 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-95 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-40 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +79 +29 +-14 +-49 +-79 +-103 +-124 +-89 +29 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +84 +85 +33 +-10 +-46 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-22 +90 +119 +63 +15 +-24 +-58 +-86 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +80 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +87 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +51 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +80 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +71 +99 +45 +0 +-38 +-69 +-96 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +35 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +107 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-89 +30 +74 +73 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +64 +17 +-23 +-56 +-85 +-25 +83 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-63 +-90 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-119 +-85 +34 +78 +75 +25 +-16 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +107 +53 +6 +-32 +-64 +-91 +-36 +74 +103 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +95 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +75 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +119 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +49 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +-1 +-38 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +41 +-3 +-40 +-71 +-97 +-119 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-95 +-116 +-67 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +75 +102 +48 +3 +-35 +-67 +-94 +-40 +71 +99 +46 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-72 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +90 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-80 +-104 +-124 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +53 +99 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +12 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +46 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-80 +-104 +-125 +-89 +30 +74 +73 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-116 +-67 +52 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +107 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +43 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-2 +-39 +-70 +-96 +-117 +-67 +52 +96 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-72 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +99 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-79 +-103 +-124 +-88 +31 +74 +74 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +93 +92 +40 +-4 +-41 +-71 +-97 +-118 +-69 +50 +95 +95 +42 +-2 +-40 +-70 +-96 +-117 +-68 +51 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +82 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +104 +49 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +96 +43 +-1 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-119 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +40 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +49 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-95 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-95 +-24 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-69 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +77 +27 +-15 +-51 +-80 +-105 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-39 +-69 +-95 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +45 +1 +-36 +-68 +-94 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +83 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-44 +65 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +33 +77 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +44 +-1 +-38 +-68 +-95 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +87 +115 +59 +12 +-27 +-60 +-87 +-29 +81 +110 +54 +8 +-31 +-63 +-90 +-35 +74 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +77 +27 +-16 +-51 +-80 +-105 +-125 +-90 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +92 +40 +-4 +-41 +-71 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +45 +1 +-36 +-67 +-93 +-20 +92 +121 +65 +17 +-23 +-57 +-84 +-26 +84 +111 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-92 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +43 +-2 +-39 +-70 +-97 +-118 +-82 +37 +81 +79 +29 +-14 +-49 +-79 +-103 +-123 +-78 +42 +87 +86 +35 +-9 +-45 +-75 +-100 +-120 +-72 +48 +93 +91 +39 +-4 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-27 +84 +113 +58 +11 +-29 +-61 +-88 +-31 +78 +106 +52 +6 +-33 +-65 +-92 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-40 +-71 +-97 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-122 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +82 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +29 +-14 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-70 +-97 +-44 +66 +94 +41 +-3 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +92 +91 +39 +-6 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +30 +74 +74 +24 +-18 +-53 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +77 +26 +-16 +-51 +-80 +-105 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-117 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-67 +53 +96 +95 +42 +-2 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-19 +92 +121 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +43 +-2 +-39 +-70 +-96 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-67 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +39 +-5 +-41 +-72 +-97 +-118 +-70 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-27 +84 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +103 +48 +3 +-35 +-67 +-93 +-40 +70 +98 +44 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-89 +30 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +0 +-37 +-68 +-94 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +81 +30 +-13 +-49 +-78 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-51 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-22 +90 +121 +64 +16 +-24 +-57 +-85 +-26 +83 +112 +56 +9 +-29 +-62 +-89 +-33 +77 +105 +51 +4 +-34 +-65 +-92 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +70 +98 +44 +-1 +-38 +-69 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-72 +48 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +103 +49 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +87 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +51 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +30 +75 +74 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +55 +9 +-30 +-63 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +30 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-118 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-62 +-90 +-34 +76 +104 +50 +4 +-35 +-66 +-93 +-38 +72 +99 +46 +0 +-37 +-69 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +76 +26 +-16 +-51 +-80 +-104 +-124 +-79 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +10 +-29 +-61 +-89 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-35 +73 +101 +47 +2 +-36 +-68 +-94 +-40 +70 +98 +45 +-1 +-38 +-69 +-95 +-42 +67 +95 +42 +-2 +-39 +-71 +-97 +-43 +67 +95 +41 +-3 +-40 +-71 +-97 +-119 +-84 +35 +79 +77 +27 +-15 +-51 +-79 +-104 +-124 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +90 +39 +-5 +-42 +-72 +-97 +-118 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-51 +-81 +-104 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-65 +55 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +75 +24 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +99 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-120 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +93 +78 +28 +-15 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-101 +-121 +-73 +47 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-14 +-49 +-79 +-103 +-124 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +91 +119 +63 +15 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-117 +-67 +53 +98 +96 +44 +-1 +-38 +-68 +-95 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +85 +114 +59 +12 +-27 +-60 +-88 +-29 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +103 +48 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-40 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +77 +27 +-16 +-51 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-68 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-92 +-38 +72 +99 +46 +0 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +39 +-5 +-42 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-28 +-60 +-88 +-30 +80 +109 +53 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-84 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-97 +-45 +65 +93 +78 +28 +-15 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-125 +-80 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-120 +-85 +34 +77 +75 +25 +-17 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-98 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +46 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +30 +74 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +41 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +103 +49 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-99 +-45 +64 +93 +40 +-5 +-42 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-118 +-70 +49 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +98 +45 +0 +-38 +-69 +-95 +-41 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +121 +64 +17 +-23 +-56 +-84 +-25 +84 +113 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +70 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +77 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +46 +91 +90 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-24 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +29 +74 +73 +23 +-18 +-53 +-81 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +52 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +16 +-24 +-57 +-85 +-25 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +67 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +44 +-1 +-37 +-68 +-94 +-21 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +84 +111 +56 +9 +-30 +-62 +-90 +-33 +77 +105 +51 +4 +-34 +-66 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +81 +30 +-13 +-48 +-78 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-64 +56 +100 +99 +46 +1 +-36 +-67 +-93 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +65 +17 +-23 +-57 +-84 +-26 +84 +111 +56 +9 +-29 +-62 +-89 +-34 +77 +105 +50 +4 +-34 +-65 +-92 +-38 +72 +99 +45 +0 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-120 +-84 +35 +79 +76 +27 +-15 +-50 +-80 +-104 +-124 +-79 +40 +85 +85 +33 +-9 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-95 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-66 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +69 +96 +43 +-2 +-39 +-70 +-96 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-80 +-104 +-125 +-90 +30 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +84 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +90 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-37 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +43 +-2 +-39 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 +6 +-32 +-64 +-91 +-35 +74 +103 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +35 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-15 +-50 +-80 +-104 +-125 +-89 +30 +74 +73 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-37 +73 +101 +47 +1 +-36 +-68 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +81 +30 +-13 +-48 +-78 +-103 +-123 +-88 +32 +76 +75 +25 +-16 +-51 +-80 +-104 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +49 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-70 +-96 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-69 +51 +96 +95 +42 +-2 +-39 +-70 +-95 +-27 +83 +112 +57 +10 +-29 +-62 +-89 +-31 +79 +107 +52 +6 +-33 +-65 +-92 +-36 +73 +102 +48 +2 +-36 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +41 +-3 +-40 +-71 +-97 +-119 +-84 +36 +79 +76 +26 +-16 +-50 +-80 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +93 +78 +28 +-14 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +24 +-18 +-52 +-81 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-92 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +76 +27 +-15 +-50 +-80 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +42 +-2 +-39 +-69 +-95 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-37 +73 +101 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +91 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +92 +90 +38 +-6 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +10 +-29 +-61 +-89 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +43 +-1 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-90 +29 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +77 +105 +50 +4 +-34 +-66 +-93 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +70 +98 +45 +-1 +-38 +-69 +-96 +-42 +68 +96 +81 +30 +-12 +-48 +-78 +-103 +-123 +-88 +32 +75 +75 +25 +-16 +-51 +-81 +-105 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-71 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-69 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-26 +83 +112 +57 +10 +-29 +-62 +-89 +-31 +79 +107 +52 +6 +-32 +-65 +-92 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +69 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-29 +81 +108 +53 +7 +-31 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +29 +74 +73 +24 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-39 +-69 +-95 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +45 +0 +-37 +-68 +-94 +-24 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-40 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-69 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-40 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +74 +73 +24 +-18 +-52 +-81 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-37 +-68 +-94 +-20 +92 +121 +64 +17 +-23 +-56 +-84 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +42 +-2 +-39 +-70 +-95 +-117 +-67 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-69 +-94 +-116 +-65 +54 +99 +97 +44 +-1 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-28 +-60 +-88 +-29 +80 +107 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-83 +37 +80 +79 +28 +-14 +-49 +-79 +-103 +-123 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +42 +-2 +-39 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +41 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-72 +48 +92 +92 +39 +-4 +-41 +-71 +-97 +-118 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +30 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-2 +-39 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-20 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-44 +66 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +63 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +63 +93 +40 +-5 +-42 +-73 +-98 +-119 +-85 +33 +77 +75 +25 +-17 +-51 +-81 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-118 +-69 +51 +96 +94 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +43 +-1 +-38 +-68 +-95 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +84 +84 +32 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-71 +49 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-69 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-19 +92 +121 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-93 +-38 +72 +101 +47 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-39 +-70 +-96 +-42 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-72 +-98 +-45 +66 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +33 +77 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-66 +-93 +-38 +71 +99 +45 +0 +-37 +-68 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-46 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +77 +27 +-16 +-51 +-80 +-105 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +122 +64 +17 +-23 +-56 +-84 +-25 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +4 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +84 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +81 +30 +-13 +-49 +-78 +-103 +-124 +-88 +32 +76 +75 +25 +-17 +-51 +-81 +-105 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-25 +84 +111 +56 +9 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-120 +-85 +34 +77 +75 +25 +-17 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-101 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-71 +49 +94 +93 +41 +-3 +-40 +-71 +-96 +-118 +-68 +51 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +53 +98 +97 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +12 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +79 +29 +-14 +-49 +-79 +-103 +-124 +-89 +30 +74 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +78 +27 +-15 +-51 +-80 +-105 +-125 +-90 +29 +73 +73 +24 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-1 +-39 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-69 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-25 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 diff --git a/traces/README.txt b/traces/README.txt index 50b14aae..95b09761 100644 --- a/traces/README.txt +++ b/traces/README.txt @@ -15,3 +15,12 @@ Transit999-best.pm3: Transit 999 format (UID 99531670) The files 'modulation-'... are all encoded with identical data (hex 00 01 02 03 04 05 06 07 08 09 0A 0B) for the purpose of recognition and testing of demodulation schemes. They were created by writing Q5 tags appropriately configured. The raw data is in 'modulation-data.dat'. + +ata5577-HIDemu-FC1-C9.pm3: ata5577 in hid prox 26 bit emulation facility code:1 card#:9 +casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29) +EM4102-Fob.pm3: (ID: 0400193cbe) +ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name +ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name +indala-504278295.pm3: PSK 26 bit indala +AWID-15-259.pm3: AWID FSK RF/50 FC: 15 Card: 259 +HID-weak-fob-11647.pm3: HID 32bit Prox Card#: 11647. very weak tag/read but just readable. \ No newline at end of file diff --git a/traces/modulation-ask-biph-50.pm3 b/traces/modulation-ask-biph-50.pm3 new file mode 100644 index 00000000..389860de --- /dev/null +++ b/traces/modulation-ask-biph-50.pm3 @@ -0,0 +1,20000 @@ +61 +58 +53 +49 +44 +42 +38 +35 +31 +30 +26 +25 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +78 +72 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +16 +13 +12 +11 +11 +8 +8 +7 +7 +5 +5 +4 +3 +3 +3 +-24 +-45 +-63 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-60 +-55 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +5 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +84 +79 +71 +68 +62 +28 +-2 +-25 +-46 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +82 +78 +71 +66 +60 +57 +52 +48 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +72 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-56 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +23 +21 +18 +18 +15 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +79 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +45 +42 +38 +36 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +32 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +43 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +67 +61 +57 +52 +50 +44 +42 +37 +36 +32 +30 +27 +25 +23 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +23 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +77 +71 +67 +60 +27 +-3 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +9 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-44 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +50 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-72 +-69 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +70 +63 +59 +53 +51 +45 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +9 +9 +7 +6 +5 +5 +4 +3 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +77 +70 +66 +60 +57 +52 +48 +43 +42 +37 +34 +4 +-22 +-44 +-61 +-77 +-89 +-100 +-109 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +57 +52 +50 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +83 +79 +71 +66 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +70 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +13 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +32 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-43 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +73 +70 +63 +59 +54 +51 +46 +43 +39 +9 +-18 +-39 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +41 +37 +7 +-20 +-41 +-60 +-75 +-88 +-98 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +90 +82 +77 +70 +66 +60 +57 +51 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +4 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +79 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +-23 +-44 +-63 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-52 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +27 +26 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +31 +27 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +19 +17 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +83 +79 +72 +67 +62 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +73 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +25 +24 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +6 +7 +5 +5 +4 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-102 +-95 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +29 +26 +25 +22 +22 +18 +18 +15 +14 +13 +11 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +30 +27 +26 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-75 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +22 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +38 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +7 +8 +6 +6 +4 +4 +3 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +57 +52 +49 +43 +42 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +83 +79 +72 +68 +61 +57 +53 +50 +43 +42 +38 +35 +32 +30 +27 +25 +23 +22 +19 +18 +16 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +14 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-36 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +106 +97 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +73 +69 +63 +59 +54 +50 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +95 +91 +83 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +11 +9 +10 +8 +7 +6 +6 +4 +5 +4 +3 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +58 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-67 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +44 +42 +37 +36 +32 +30 +27 +26 +22 +21 +18 +18 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +90 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +92 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +34 +32 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +9 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-56 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +27 +26 +24 +22 +19 +19 +16 +15 +13 +13 +11 +10 +9 +8 +6 +6 +5 +5 +4 +4 +3 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-67 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +78 +72 +68 +61 +57 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +48 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +14 +12 +12 +9 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +90 +83 +79 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +62 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +7 +-20 +-41 +-60 +-75 +-88 +-99 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +105 +96 +91 +82 +77 +70 +66 +61 +56 +51 +48 +44 +41 +36 +35 +31 +29 +26 +25 +21 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +90 +83 +79 +70 +67 +61 +57 +52 +49 +44 +41 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +74 +69 +63 +60 +54 +50 +45 +43 +38 +36 +33 +31 +28 +27 +23 +22 +20 +19 +15 +15 +13 +12 +10 +10 +8 +9 +7 +6 +5 +5 +4 +3 +3 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +7 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +12 +11 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +78 +72 +67 +61 +58 +52 +50 +44 +42 +38 +35 +32 +30 +26 +25 +22 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +7 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +50 +44 +42 +38 +35 +31 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +84 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +108 +98 +91 +84 +79 +71 +67 +61 +28 +-2 +-25 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +62 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +21 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +4 +5 +4 +3 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +36 +32 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +83 +79 +72 +68 +61 +28 +-2 +-25 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +42 +37 +34 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +13 +12 +10 +10 +8 +8 +6 +7 +5 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +32 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +51 +49 +44 +41 +36 +35 +32 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +7 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +24 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +9 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-79 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +26 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +67 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +41 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +36 +32 +29 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +70 +67 +61 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +50 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-43 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +49 +44 +42 +38 +36 +31 +30 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +84 +78 +71 +67 +60 +57 +52 +48 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +82 +78 +71 +67 +61 +57 +52 +49 +45 +41 +37 +35 +32 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-108 +-102 +-95 +-89 +-83 +-79 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +92 +84 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +60 +53 +50 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +11 +11 +8 +8 +7 +7 +5 +5 +4 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +49 +44 +42 +38 +36 +31 +29 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +95 +90 +83 +78 +70 +66 +60 +57 +52 +48 +43 +42 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +4 +4 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +21 +21 +19 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +27 +-3 +-27 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +38 +8 +-19 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +60 +57 +51 +48 +44 +41 +37 +7 +-19 +-41 +-60 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +91 +82 +78 +71 +66 +60 +57 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +66 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +7 +5 +5 +3 +4 +3 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +78 +70 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +56 +52 +49 +43 +41 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-43 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +78 +71 +67 +61 +58 +52 +49 +45 +42 +38 +35 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +22 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +92 +83 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +72 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +7 +5 +5 +4 +3 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-109 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +38 +8 +-19 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-55 +-53 +-49 +-46 +-42 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +23 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +51 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +14 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +66 +60 +57 +51 +49 +44 +41 +37 +36 +32 +30 +27 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-111 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-107 +-101 +-94 +-89 +-82 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +90 +83 +79 +71 +67 +61 +57 +52 +49 +44 +41 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +62 +58 +52 +49 +44 +42 +38 +35 +31 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +19 +18 +16 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +60 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +22 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +30 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +10 +9 +8 +8 +6 +6 +4 +5 +3 +4 +2 +1 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-95 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +106 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +7 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +57 +52 +49 +43 +42 +38 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +9 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +37 +33 +30 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +91 +83 +77 +71 +67 +60 +57 +51 +49 +43 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +61 +58 +53 +49 +44 +42 +38 +35 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +38 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +7 +8 +6 +6 +4 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +34 +32 +30 +27 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +73 +70 +63 +59 +53 +51 +45 +43 +38 +8 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +7 +-20 +-41 +-60 +-75 +-88 +-98 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +95 +90 +82 +77 +70 +65 +59 +57 +52 +48 +43 +41 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +7 +6 +6 +5 +4 +3 +4 +2 +3 +-23 +-45 +-63 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-56 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +53 +50 +45 +43 +38 +36 +33 +31 +28 +26 +23 +22 +20 +18 +16 +15 +13 +13 +10 +11 +8 +8 +7 +7 +5 +5 +4 +4 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-70 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +36 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +36 +31 +30 +27 +25 +22 +22 +19 +18 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +83 +79 +72 +68 +62 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +36 +4 +-21 +-43 +-60 +-76 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +36 +33 +31 +28 +25 +23 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +6 +7 +5 +5 +4 +4 +3 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +82 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-99 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +90 +83 +78 +71 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-100.pm3 b/traces/modulation-ask-man-100.pm3 new file mode 100644 index 00000000..5a84b549 --- /dev/null +++ b/traces/modulation-ask-man-100.pm3 @@ -0,0 +1,20000 @@ +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +47 +45 +41 +39 +34 +32 +29 +28 +25 +23 +20 +20 +17 +15 +14 +13 +11 +11 +10 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +17 +14 +14 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +8 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +33 +28 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-45 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +67 +62 +56 +54 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +74 +66 +61 +56 +53 +47 +45 +41 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +46 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +74 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +13 +14 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +22 +20 +19 +16 +16 +14 +13 +12 +11 +9 +8 +7 +7 +5 +5 +4 +3 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +80 +72 +67 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-109 +-102 +-96 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +74 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +67 +63 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +20 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +25 +22 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +41 +38 +34 +33 +29 +28 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +86 +77 +73 +66 +62 +57 +53 +47 +46 +41 +38 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +54 +48 +46 +41 +38 +35 +33 +28 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-19 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +41 +39 +35 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +3 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-72 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +14 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-109 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +45 +41 +38 +35 +33 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +41 +39 +34 +33 +29 +27 +24 +23 +21 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +33 +32 +29 +28 +24 +23 +21 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +9 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +39 +35 +33 +29 +27 +24 +23 +21 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +91 +85 +77 +73 +66 +63 +56 +53 +47 +45 +41 +39 +34 +32 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +41 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +30 +27 +25 +22 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +39 +35 +33 +29 +27 +25 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +25 +23 +20 +19 +17 +16 +13 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +40 +38 +35 +33 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +25 +23 +21 +19 +17 +17 +13 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +90 +85 +77 +72 +66 +62 +56 +53 +47 +45 +41 +38 +34 +32 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-97 +-90 +-84 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +99 +89 +85 +77 +73 +65 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +24 +21 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +80 +73 +69 +62 +58 +53 +50 +44 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +116 +106 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +38 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +66 +62 +57 +54 +48 +46 +40 +38 +35 +33 +28 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +3 +3 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +72 +69 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +27 +26 +23 +22 +19 +19 +15 +14 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +28 +24 +23 +20 +19 +17 +17 +14 +13 +11 +11 +10 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +89 +85 +77 +73 +66 +63 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +76 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +2 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +67 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +21 +20 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +28 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +4 +3 +2 +3 +1 +2 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +31 +26 +26 +23 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +33 +28 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +61 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +40 +38 +35 +33 +29 +27 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-26 +-25 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +79 +72 +69 +62 +59 +52 +50 +45 +42 +38 +36 +31 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +6 +5 +5 +4 +4 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-4 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +72 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +8 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +92 +85 +80 +72 +69 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-20 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-110 +-102 +-96 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +40 +38 +35 +32 +29 +27 +24 +24 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +61 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +29 +28 +25 +22 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-59 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +65 +63 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-19 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +61 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +63 +56 +53 +48 +46 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +41 +38 +34 +33 +29 +27 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +6 +7 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +-1 +-1 +0 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-72 +-67 +-62 +-59 +-54 +-52 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +61 +58 +53 +50 +45 +42 +38 +36 +32 +30 +26 +26 +23 +21 +19 +18 +16 +15 +13 +13 +10 +11 +8 +7 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +47 +45 +41 +39 +35 +32 +29 +27 +25 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +55 +53 +48 +46 +40 +39 +35 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +5 +5 +3 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-1 +-1 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-22 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +79 +72 +68 +61 +59 +53 +49 +45 +43 +38 +36 +32 +31 +27 +26 +22 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +14 +14 +12 +11 +9 +8 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +25 +23 +21 +20 +16 +16 +14 +13 +12 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +46 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +17 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +33 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +46 +40 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +10 +9 +6 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-55 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-10 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +28 +24 +24 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +40 +38 +35 +33 +29 +27 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +10 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +14 +11 +11 +9 +9 +7 +7 +6 +5 +3 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-51 +-67 +-83 +-95 +-106 +-97 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +69 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +21 +19 +18 +16 +15 +13 +12 +11 +11 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +52 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +17 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +38 +35 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +15 +14 +14 +11 +11 +9 +8 +7 +7 +6 +5 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +35 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +3 +3 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +61 +59 +53 +49 +45 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-109 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +67 +62 +56 +53 +48 +46 +40 +38 +34 +33 +29 +27 +24 +24 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +27 +24 +24 +21 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +63 +57 +53 +48 +46 +41 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +40 +38 +34 +33 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +47 +44 +40 +38 +34 +32 +29 +28 +24 +24 +20 +19 +17 +16 +13 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +39 +34 +33 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +40 +38 +35 +32 +29 +28 +25 +24 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +61 +56 +53 +48 +45 +40 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +28 +25 +24 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +93 +84 +80 +72 +69 +62 +58 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +17 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-59 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +39 +35 +32 +29 +27 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-2 +-1 +-2 +-2 +-2 +-2 +-4 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-4 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-40 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +92 +85 +79 +72 +69 +62 +58 +52 +50 +45 +42 +38 +35 +32 +31 +28 +26 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +10 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +47 +45 +41 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +35 +32 +29 +27 +24 +23 +20 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-35 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-110 +-103 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +33 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +35 +31 +30 +27 +26 +23 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +47 +45 +41 +39 +34 +32 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-35 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +98 +92 +84 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +27 +26 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +7 +6 +6 +5 +5 +3 +4 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +35 +33 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +13 +14 +12 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +25 +23 +20 +20 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +6 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +33 +29 +27 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +84 +79 +72 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +4 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +89 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +41 +39 +35 +32 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +89 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +6 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +13 +13 +11 +10 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +21 +20 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +40 +39 +35 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +98 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +27 +24 +23 +21 +19 +17 +16 +14 +14 +12 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +25 +24 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +38 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 diff --git a/traces/modulation-ask-man-128.pm3 b/traces/modulation-ask-man-128.pm3 new file mode 100644 index 00000000..1d0e8469 --- /dev/null +++ b/traces/modulation-ask-man-128.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +2 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +33 +29 +29 +26 +24 +21 +20 +18 +17 +14 +14 +11 +11 +10 +8 +8 +8 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +70 +66 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +24 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +6 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +0 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +15 +13 +12 +12 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-100 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +8 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +65 +59 +55 +50 +47 +42 +39 +36 +34 +31 +29 +25 +24 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +93 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +7 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +59 +55 +50 +47 +43 +40 +35 +34 +30 +29 +26 +24 +21 +21 +18 +16 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +93 +87 +79 +76 +69 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +101 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-6 +-5 +-5 +-4 +-6 +-30 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +4 +4 +4 +4 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +0 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-13 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +41 +37 +34 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +2 +3 +2 +1 +1 +1 +0 +1 +0 +-1 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +5 +5 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +30 +28 +26 +25 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +17 +17 +15 +14 +12 +12 +9 +10 +8 +8 +6 +6 +5 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +56 +50 +47 +42 +40 +36 +33 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +5 +4 +5 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-72 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +68 +65 +58 +54 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +14 +14 +12 +11 +9 +9 +8 +8 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +22 +21 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +56 +50 +47 +42 +40 +35 +34 +30 +29 +26 +25 +22 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +46 +42 +40 +36 +34 +30 +29 +25 +25 +21 +19 +18 +17 +14 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +3 +3 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +59 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +17 +17 +15 +14 +11 +11 +10 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +1 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +30 +29 +26 +25 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +13 +12 +9 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +68 +64 +58 +56 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +35 +34 +31 +29 +25 +24 +22 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +10 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +-1 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +6 +4 +4 +3 +4 +2 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +21 +18 +16 +15 +14 +11 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +48 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +49 +47 +43 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +3 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-8 +-7 +-8 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +2 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +41 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +11 +10 +10 +8 +7 +6 +6 +5 +5 +3 +4 +3 +2 +1 +1 +0 +1 +0 +0 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +3 +2 +0 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +1 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +56 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +42 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +7 +5 +4 +3 +4 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +79 +75 +69 +64 +59 +55 +50 +47 +43 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +68 +64 +59 +55 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-16 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +76 +68 +64 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +16 +15 +14 +11 +11 +10 +9 +8 +8 +6 +6 +5 +5 +2 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +69 +65 +59 +55 +49 +47 +42 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-65 +-61 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +49 +47 +42 +40 +36 +33 +30 +28 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +25 +22 +20 +18 +17 +14 +14 +11 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +10 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +1 +3 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +103 +93 +87 +80 +76 +69 +65 +58 +55 +50 +47 +41 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +15 +13 +12 +11 +9 +9 +7 +8 +6 +6 +4 +4 +4 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +12 +10 +9 +8 +8 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +-1 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +59 +55 +50 +47 +43 +40 +35 +34 +30 +28 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +41 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +5 +5 +3 +4 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +69 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +25 +21 +19 +17 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +31 +28 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +97 +91 +83 +78 +71 +67 +61 +56 +51 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +87 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +12 +9 +9 +8 +7 +5 +6 +4 +4 +3 +4 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +4 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +43 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +1 +1 +2 +0 +0 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +7 +6 +6 +5 +4 +3 +4 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +17 +17 +15 +15 +12 +11 +9 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +-1 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +6 +6 +5 +5 +3 +3 +2 +1 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +11 +12 +10 +9 +7 +8 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +1 +-1 +-1 +-2 +-1 +-1 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +36 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +5 +5 +5 +3 +3 +2 +3 +1 +2 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +43 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +42 +40 +35 +34 +31 +28 +25 +24 +21 +20 +18 +16 +14 +14 +12 +11 +9 +10 +8 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +2 +1 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +56 +50 +47 +43 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +8 +7 +6 +5 +3 +5 +3 +3 +1 +2 +1 +1 +1 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +0 +0 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-2 +-3 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-4 +-5 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +43 +41 +38 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +9 +8 +8 +6 +6 +5 +4 +3 +4 +2 +2 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +64 +59 +55 +49 +47 +42 +40 +35 +34 +30 +29 +26 +25 +21 +21 +18 +16 +15 +14 +11 +11 +9 +9 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +43 +40 +35 +34 +30 +29 +25 +24 +21 +21 +18 +16 +14 +14 +12 +12 +9 +9 +7 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +-1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +1 +-1 +0 +-1 +-1 +-1 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-38 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +41 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +11 +11 +10 +10 +8 +7 +6 +6 +5 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +0 +0 +1 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +13 +12 +11 +10 +9 +8 +7 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +103 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +23 +21 +20 +17 +17 +14 +14 +12 +12 +10 +9 +8 +8 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +5 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +61 +57 +52 +48 +43 +42 +37 +35 +31 +29 +27 +25 +21 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +1 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +101 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +43 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +31 +29 +25 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +2 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +77 +71 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +4 +3 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +14 +13 +12 +11 +10 +10 +8 +7 +6 +6 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +34 +30 +29 +25 +23 +21 +21 +17 +17 +14 +14 +12 +12 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +59 +56 +50 +47 +42 +40 +36 +34 +29 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +64 +58 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +2 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +50 +47 +43 +40 +36 +33 +30 +29 +24 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +6 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +67 +60 +56 +51 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +6 +4 +3 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +87 +80 +76 +68 +64 +59 +55 +50 +47 +42 +40 +36 +33 +29 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +-1 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-6 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +5 +4 +2 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-4 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-3 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +82 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +9 +7 +8 +6 +6 +5 +5 +4 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 diff --git a/traces/modulation-ask-man-16.pm3 b/traces/modulation-ask-man-16.pm3 new file mode 100644 index 00000000..aca260b2 --- /dev/null +++ b/traces/modulation-ask-man-16.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-104 +-97 +-23 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-50 +-84 +-111 +-127 +-127 +-112 +-51 +85 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +48 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +45 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +67 +127 +127 +127 +115 +79 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-69 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +11 +15 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-78 +60 +127 +127 +127 +109 +72 +37 +-3 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-73 +64 +127 +127 +127 +112 +76 +40 +0 +-42 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-22 +115 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-83 +-110 +-127 +-127 +-111 +-50 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +117 +80 +45 +21 +8 +4 +5 +11 +15 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-107 +-100 +-26 +112 +127 +127 +127 +127 +120 +81 +35 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +13 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-63 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-73 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +116 +79 +45 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +43 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +5 +3 +4 +10 +14 +18 +18 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-84 +-112 +-127 +-127 +-127 +-52 +84 +127 +127 +127 +127 +92 +56 +31 +16 +13 +14 +18 +22 +25 +24 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-98 +-24 +113 +127 +127 +127 +127 +120 +82 +37 +-11 +-50 +-84 +-111 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-73 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +45 +21 +7 +5 +5 +11 +15 +19 +19 +-1 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-26 +112 +127 +127 +127 +127 +119 +81 +54 +37 +31 +30 +33 +36 +39 +37 +17 +-28 +-65 +-96 +-106 +-127 +-127 +-127 +-127 +-127 +-107 +-103 +-97 +-108 +-100 +-94 +-20 +117 +127 +127 +127 +127 +122 +84 +39 +-10 +-49 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +93 +57 +15 +-30 +-66 +-97 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +121 +83 +48 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +117 +80 +45 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +19 +6 +3 +5 +10 +14 +18 +18 +-1 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +54 +36 +31 +30 +33 +36 +39 +37 +16 +-28 +-65 +-97 +-106 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +117 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-105 +-99 +-109 +-101 +-95 +-21 +116 +127 +127 +127 +127 +123 +83 +38 +-10 +-49 +-82 +-110 +-127 +-127 +-111 +-50 +86 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +116 +80 +45 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +44 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +2 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +66 +127 +127 +127 +115 +78 +42 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +42 +20 +6 +3 +5 +11 +14 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-101 +-27 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-85 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-38 +-73 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +10 +13 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-84 +-112 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +72 +127 +127 +127 +120 +83 +48 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +45 +4 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +116 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +2 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +11 +14 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-98 +-23 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-50 +-83 +-111 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +44 +20 +6 +3 +5 +11 +14 +18 +18 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-101 +-26 +112 +127 +127 +127 +127 +120 +81 +36 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +80 +45 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +13 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-101 +-27 +111 +127 +127 +127 +127 +119 +80 +53 +36 +31 +31 +35 +36 +38 +37 +16 +-28 +-65 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-108 +-104 +-98 +-108 +-101 +-95 +-20 +117 +127 +127 +127 +127 +124 +85 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +80 +44 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +20 +7 +3 +5 +11 +14 +18 +19 +-2 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-105 +-98 +-22 +115 +127 +127 +127 +127 +121 +83 +37 +-11 +-50 +-83 +-110 +-127 +-127 +-112 +-50 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +117 +80 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +42 +19 +6 +3 +5 +11 +15 +18 +18 +-2 +-43 +-78 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +76 +40 +0 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-22 +116 +127 +127 +127 +127 +122 +83 +38 +-10 +-49 +-82 +-110 +-127 +-127 +-112 +-50 +86 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +44 +21 +7 +5 +6 +12 +16 +18 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-102 +-27 +112 +127 +127 +127 +127 +119 +81 +36 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +56 +13 +-32 +-67 +-99 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +4 +10 +14 +18 +19 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +80 +35 +-13 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +31 +16 +13 +14 +19 +22 +26 +25 +4 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-25 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +20 +7 +5 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +81 +55 +37 +32 +31 +34 +36 +39 +38 +16 +-28 +-65 +-96 +-106 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-98 +-108 +-101 +-95 +-20 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +45 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +20 +6 +4 +4 +11 +15 +18 +19 +-2 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +80 +54 +36 +31 +31 +34 +37 +40 +38 +17 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +117 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-21 +117 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-51 +86 +127 +127 +127 +127 +93 +57 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +77 +42 +1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +6 +3 +5 +11 +15 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +92 +55 +12 +-32 +-68 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +116 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +20 +7 +4 +6 +11 +14 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-101 +-27 +112 +127 +127 +127 +127 +120 +81 +36 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +42 +19 +6 +3 +5 +11 +14 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-79 +61 +127 +127 +127 +108 +72 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-98 +-23 +115 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-97 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +20 +7 +4 +6 +12 +15 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +112 +127 +127 +127 +127 +120 +80 +36 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +14 +18 +18 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +112 +127 +127 +127 +127 +119 +79 +54 +37 +32 +31 +35 +37 +40 +38 +17 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-127 +-127 +-109 +-105 +-99 +-109 +-101 +-96 +-21 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-50 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +121 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +42 +20 +7 +3 +5 +11 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +61 +127 +127 +127 +108 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-105 +-98 +-23 +116 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-127 +-51 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +15 +18 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +108 +71 +36 +-4 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +75 +40 +-1 +-42 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +-104 +-97 +-22 +117 +127 +127 +127 +127 +122 +83 +38 +-9 +-48 +-82 +-109 +-127 +-127 +-112 +-52 +86 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +43 +21 +8 +5 +6 +12 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-26 +112 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +73 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +43 +20 +6 +4 +5 +11 +15 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +81 +35 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +91 +54 +30 +15 +13 +14 +20 +23 +27 +26 +5 +-38 +-73 +-103 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-106 +-100 +-25 +114 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +20 +7 +5 +6 +13 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +113 +127 +127 +127 +127 +119 +81 +54 +37 +32 +32 +36 +38 +40 +38 +16 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-99 +-110 +-102 +-96 +-20 +118 +127 +127 +127 +127 +124 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +20 +7 +5 +6 +11 +15 +19 +18 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +54 +36 +32 +31 +35 +37 +40 +38 +17 +-27 +-64 +-95 +-105 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-96 +-21 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-112 +-51 +87 +127 +127 +127 +127 +93 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +114 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +3 +5 +11 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-102 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +3 +6 +11 +16 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +46 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +4 +5 +11 +15 +18 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +71 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-99 +-23 +116 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +92 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +19 +6 +4 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +46 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +19 +6 +4 +6 +11 +15 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-26 +113 +127 +127 +127 +127 +119 +80 +54 +37 +32 +31 +35 +38 +40 +39 +17 +-27 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-20 +119 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +6 +4 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +108 +71 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-23 +116 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +1 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +77 +42 +20 +7 +4 +5 +11 +16 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +71 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +75 +40 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-104 +-98 +-22 +118 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-112 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +5 +7 +13 +16 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-103 +-26 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +41 +19 +6 +4 +6 +12 +16 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +16 +13 +14 +19 +23 +26 +26 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-25 +115 +127 +127 +127 +127 +120 +81 +36 +-11 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +117 +79 +43 +21 +8 +5 +7 +13 +16 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +80 +54 +37 +33 +33 +36 +38 +41 +39 +17 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-100 +-110 +-103 +-96 +-21 +119 +127 +127 +127 +127 +123 +84 +40 +-9 +-47 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +83 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +42 +2 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +20 +7 +5 +6 +12 +16 +20 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +81 +55 +37 +32 +31 +35 +38 +40 +39 +17 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +1 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-103 +-97 +-20 +119 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-82 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +48 +6 +-37 +-71 +-102 +-110 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +6 +3 +6 +12 +15 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +6 +12 +15 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +20 +7 +4 +6 +12 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +70 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-98 +-107 +-99 +-23 +118 +127 +127 +127 +127 +121 +83 +37 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +56 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +7 +4 +6 +12 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +113 +127 +127 +127 +127 +120 +80 +54 +38 +33 +31 +36 +38 +40 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-20 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +19 +6 +5 +6 +12 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +108 +70 +36 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-23 +117 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +5 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-75 +65 +127 +127 +127 +112 +75 +39 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-99 +-22 +119 +127 +127 +127 +127 +122 +83 +38 +-10 +-48 +-82 +-109 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +13 +17 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +19 +6 +5 +6 +12 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +16 +14 +16 +20 +23 +27 +26 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-101 +-24 +116 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +13 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-103 +-27 +115 +127 +127 +127 +127 +119 +80 +54 +37 +33 +32 +36 +38 +41 +40 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +19 +6 +5 +7 +12 +16 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +55 +37 +33 +33 +36 +38 +41 +39 +16 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +19 +-3 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-73 +-103 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +20 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +117 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +4 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +108 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-23 +117 +127 +127 +127 +127 +122 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +7 +5 +7 +13 +16 +19 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +79 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +43 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +6 +3 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +55 +38 +33 +32 +37 +39 +41 +39 +17 +-27 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-104 +-97 +-21 +120 +127 +127 +127 +127 +124 +85 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +83 +46 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +20 +7 +6 +6 +12 +16 +20 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-100 +-23 +118 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +117 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +6 +5 +6 +13 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-75 +65 +127 +127 +127 +112 +75 +39 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-99 +-22 +119 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +21 +8 +6 +8 +14 +18 +20 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +6 +5 +6 +12 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +17 +15 +16 +21 +24 +27 +26 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-25 +116 +127 +127 +127 +127 +121 +82 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +14 +18 +21 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-105 +-27 +115 +127 +127 +127 +127 +120 +81 +55 +38 +33 +33 +36 +39 +41 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +19 +7 +5 +7 +13 +16 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +55 +38 +33 +33 +37 +39 +42 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-105 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +115 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +19 +6 +5 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +19 +6 +4 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +19 +6 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +108 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-23 +118 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +20 +7 +5 +7 +13 +16 +20 +19 +-3 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +81 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +78 +43 +3 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +115 +77 +41 +19 +6 +4 +6 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +54 +38 +33 +33 +37 +40 +42 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-104 +-98 +-21 +120 +127 +127 +127 +127 +124 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +20 +8 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +107 +69 +34 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-23 +119 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +78 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +7 +4 +7 +13 +16 +20 +19 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +70 +35 +-5 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-76 +64 +127 +127 +127 +112 +75 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-98 +-106 +-99 +-22 +120 +127 +127 +127 +127 +123 +83 +38 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +42 +20 +8 +6 +8 +14 +18 +21 +21 +-1 +-42 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +36 +-12 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +20 +7 +5 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +90 +54 +31 +16 +15 +16 +22 +25 +28 +26 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-109 +-102 +-25 +117 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +92 +55 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +20 +8 +6 +8 +14 +18 +21 +21 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-105 +-28 +115 +127 +127 +127 +127 +119 +81 +55 +37 +33 +33 +37 +39 +42 +40 +16 +-28 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +121 +127 +127 +127 +127 +124 +85 +39 +-8 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-103 +-111 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +8 +6 +7 +13 +17 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +55 +38 +33 +33 +37 +39 +42 +40 +17 +-27 +-63 +-94 +-104 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-105 +-98 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-42 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +0 +-42 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-97 +-105 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +20 +7 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-105 +-27 +115 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +118 +81 +45 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +7 +13 +17 +19 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-101 +-24 +119 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +41 +19 +7 +5 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-112 +-105 +-27 +115 +127 +127 +127 +127 +120 +81 +36 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +118 +81 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +6 +13 +17 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-97 +-105 +-27 +115 +127 +127 +127 +127 +119 +80 +54 +38 +33 +33 +38 +40 +42 +40 +18 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-104 +-98 +-21 +121 +127 +127 +127 +127 +124 +85 +39 +-8 +-47 +-81 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +19 +7 +6 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-24 +119 +127 +127 +127 +127 +121 +83 +37 +-10 +-48 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +5 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +106 +69 +34 +-5 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-76 +65 +127 +127 +127 +112 +74 +39 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-99 +-22 +120 +127 +127 +127 +127 +123 +84 +38 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +7 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +19 +7 +5 +7 +13 +17 +20 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-105 +-28 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +31 +17 +14 +16 +21 +25 +28 +27 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-110 +-103 +-25 +117 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +6 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-27 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +34 +38 +40 +42 +40 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-98 +-21 +122 +127 +127 +127 +127 +124 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +114 +77 +42 +20 +7 +6 +8 +13 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +33 +37 +39 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +42 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-105 +-98 +-21 +121 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +93 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +76 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +7 +13 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +17 +21 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +8 +13 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +34 +-5 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-101 +-23 +119 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +19 +7 +5 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-97 +-106 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +20 +7 +5 +8 +14 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +120 +80 +54 +38 +34 +33 +38 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-99 +-21 +122 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +41 +19 +7 +6 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-108 +-102 +-24 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-48 +-82 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +42 +19 +7 +6 +7 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-106 +-100 +-22 +121 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +21 +8 +7 +8 +15 +18 +21 +20 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +117 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +18 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +90 +54 +31 +17 +15 +16 +21 +25 +28 +26 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-104 +-25 +118 +127 +127 +127 +127 +120 +81 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +55 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +7 +8 +14 +18 +21 +21 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +34 +38 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-98 +-21 +122 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +38 +35 +34 +38 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-98 +-106 +-99 +-21 +123 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-81 +-107 +-127 +-127 +-127 +-51 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +40 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +16 +20 +20 +-3 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +34 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +82 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +3 +-39 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +17 +21 +20 +-3 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +19 +8 +5 +8 +14 +16 +20 +19 +-2 +-44 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +106 +68 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-101 +-109 +-102 +-23 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-39 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +20 +7 +5 +8 +14 +16 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +79 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +18 +21 +21 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +39 +34 +34 +39 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-21 +123 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +91 +56 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +19 +7 +6 +8 +14 +17 +20 +20 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +106 +69 +34 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-109 +-102 +-24 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +107 +68 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-76 +66 +127 +127 +127 +111 +74 +38 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-22 +122 +127 +127 +127 +127 +122 +83 +38 +-9 +-47 +-81 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +21 +9 +8 +9 +15 +19 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +87 +127 +127 +127 +127 +89 +54 +31 +18 +16 +17 +23 +25 +28 +27 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-26 +119 +127 +127 +127 +127 +121 +81 +37 +-10 +-49 +-82 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +78 +43 +21 +9 +7 +9 +15 +18 +22 +21 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-107 +-27 +117 +127 +127 +127 +127 +120 +80 +55 +38 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-99 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +14 +-30 +-66 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +19 +7 +6 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +34 +39 +41 +43 +40 +16 +-28 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +73 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-99 +-21 +123 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-65 +77 +127 +127 +127 +119 +82 +46 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +-1 +-42 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +40 +-1 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +40 +19 +7 +6 +9 +14 +18 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +11 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +118 +80 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +6 +8 +14 +18 +20 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-109 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +5 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +77 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +42 +20 +8 +7 +9 +15 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +11 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +118 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-100 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +80 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +20 +8 +7 +8 +15 +18 +21 +21 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +68 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-109 +-102 +-23 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +3 +-39 +-73 +-103 +-110 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +69 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-23 +122 +127 +127 +127 +127 +123 +83 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +21 +8 +7 +9 +16 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +31 +17 +16 +18 +23 +26 +29 +27 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-104 +-26 +119 +127 +127 +127 +127 +121 +81 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +43 +20 +8 +7 +10 +16 +19 +23 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +38 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +124 +127 +127 +127 +127 +124 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +42 +20 +8 +6 +9 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +55 +38 +35 +35 +40 +41 +44 +41 +18 +-26 +-62 +-93 +-103 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-100 +-22 +122 +127 +127 +127 +127 +123 +83 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +113 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +113 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +6 +8 +14 +18 +21 +21 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-32 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +20 +8 +6 +9 +15 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-32 +-67 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +5 +8 +14 +18 +21 +21 +-1 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +19 +22 +21 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +40 +19 +7 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +40 +17 +-27 +-62 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-101 +-22 +123 +127 +127 +127 +127 +124 +85 +40 +-8 +-46 +-80 +-106 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +19 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +38 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +19 +8 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +68 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-23 +122 +127 +127 +127 +127 +122 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +78 +43 +20 +9 +7 +9 +16 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +120 +81 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-72 +71 +127 +127 +127 +116 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +7 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-98 +-107 +-28 +118 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +31 +17 +16 +18 +23 +26 +29 +28 +5 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-26 +119 +127 +127 +127 +127 +120 +82 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +46 +5 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +42 +19 +8 +8 +10 +15 +19 +23 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +38 +35 +36 +39 +41 +43 +41 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-22 +124 +127 +127 +127 +127 +124 +85 +39 +-8 +-46 +-80 +-106 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +43 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +20 +8 +7 +10 +15 +19 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +35 +39 +41 +43 +41 +17 +-27 +-62 +-94 +-102 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +40 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +113 +76 +40 +19 +7 +5 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +80 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +19 +7 +5 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +68 +34 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-102 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +19 +8 +6 +9 +15 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +87 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +41 +18 +-26 +-62 +-93 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +124 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +19 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +67 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +38 +-9 +-48 +-81 +-107 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +40 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +18 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +105 +68 +33 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-78 +65 +127 +127 +127 +112 +74 +38 +-1 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-108 +-101 +-22 +123 +127 +127 +127 +127 +123 +83 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +79 +43 +21 +9 +8 +10 +15 +19 +22 +21 +-1 +-42 +-75 +-105 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-27 +118 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-72 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +15 +18 +22 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +31 +18 +16 +18 +23 +26 +29 +28 +5 +-37 +-72 +-101 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-104 +-25 +120 +127 +127 +127 +127 +121 +81 +36 +-11 +-49 +-82 +-108 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +20 +8 +7 +10 +15 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +55 +38 +35 +36 +40 +42 +44 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +123 +127 +127 +127 +127 +124 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +42 +20 +8 +7 +10 +15 +19 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-29 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +35 +39 +41 +43 +41 +17 +-26 +-62 +-94 +-102 +-127 +-127 +-127 +-72 +72 +127 +127 +127 +115 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-21 +124 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-39 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +40 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +75 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +75 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +77 +127 +127 +127 +119 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +75 +40 +19 +7 +6 +9 +15 +18 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-29 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +7 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +105 +68 +33 +-7 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-103 +-24 +122 +127 +127 +127 +127 +121 +83 +37 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +118 +127 +127 +127 +127 +120 +80 +55 +39 +35 +35 +39 +41 +43 +41 +18 +-26 +-62 +-93 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-101 +-21 +124 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +18 +21 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +105 +68 +33 +-6 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-103 +-24 +122 +127 +127 +127 +127 +121 +83 +38 +-9 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 diff --git a/traces/modulation-ask-man-32.pm3 b/traces/modulation-ask-man-32.pm3 new file mode 100644 index 00000000..b8dfed98 --- /dev/null +++ b/traces/modulation-ask-man-32.pm3 @@ -0,0 +1,20000 @@ +18 +15 +14 +-13 +-35 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +95 +90 +83 +78 +71 +66 +59 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +84 +80 +73 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +38 +36 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +105 +96 +91 +82 +78 +71 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +92 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +56 +51 +49 +44 +42 +37 +35 +31 +30 +25 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +100 +96 +89 +84 +76 +71 +65 +62 +56 +52 +47 +45 +13 +-13 +-36 +-54 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +114 +107 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +94 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +66 +61 +57 +52 +49 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +96 +91 +83 +77 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-81 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +15 +13 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +63 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +56 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +66 +61 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +44 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +68 +61 +57 +53 +50 +45 +42 +10 +-15 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +82 +78 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +84 +80 +73 +69 +63 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-112 +-102 +-107 +-109 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +72 +69 +62 +58 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +82 +78 +70 +66 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +106 +96 +91 +82 +77 +70 +67 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +79 +73 +69 +61 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +44 +42 +37 +35 +31 +29 +27 +25 +21 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +91 +84 +79 +72 +68 +62 +58 +51 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +96 +91 +83 +78 +71 +66 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +100 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +92 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-105 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +103 +94 +89 +81 +76 +69 +65 +59 +55 +50 +48 +15 +-11 +-35 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +58 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +26 +22 +21 +19 +18 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-27 +-48 +-64 +-78 +-88 +-98 +-105 +-113 +-101 +-106 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +72 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +14 +15 +13 +12 +-16 +-38 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-14 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +62 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +57 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +97 +91 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +69 +62 +58 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +61 +57 +51 +49 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +89 +83 +76 +72 +65 +61 +55 +52 +48 +45 +12 +-14 +-37 +-55 +-71 +-84 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +114 +106 +96 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +51 +48 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +82 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +24 +22 +21 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +73 +69 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +50 +44 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +100 +93 +84 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +72 +67 +60 +58 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-105 +-113 +-101 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +101 +94 +86 +81 +73 +69 +63 +59 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +57 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +97 +91 +83 +78 +70 +67 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +79 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +83 +79 +72 +67 +61 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +107 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +110 +95 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-15 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-11 +-35 +-53 +-70 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +59 +27 +-2 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +16 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +104 +96 +90 +82 +77 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +67 +62 +59 +52 +50 +16 +-10 +-33 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +67 +61 +57 +51 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +66 +60 +57 +51 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +90 +82 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +51 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +99 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-79 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +112 +102 +95 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +77 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +96 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +70 +63 +59 +53 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +101 +96 +88 +84 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-36 +-54 +-71 +-84 +-95 +-104 +-112 +-102 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +61 +57 +51 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +56 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +91 +82 +78 +70 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +66 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +72 +69 +62 +58 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-99 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +89 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +72 +69 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +67 +61 +57 +53 +50 +44 +42 +10 +-15 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +58 +25 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +58 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-99 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +90 +83 +77 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +-3 +-27 +-48 +-64 +-79 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +95 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +112 +106 +96 +91 +82 +78 +70 +67 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +68 +62 +58 +52 +49 +45 +42 +9 +-16 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +70 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +110 +95 +92 +84 +79 +72 +67 +62 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +64 +59 +56 +50 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +51 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +82 +79 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +32 +29 +27 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +70 +66 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +27 +26 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-105 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +106 +95 +90 +82 +78 +70 +66 +60 +56 +51 +48 +43 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +73 +69 +62 +59 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +103 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +97 +91 +82 +78 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +68 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-81 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +43 +42 +37 +34 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +88 +83 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-37 +-55 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +114 +107 +97 +91 +83 +77 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +82 +78 +70 +66 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +56 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +83 +78 +70 +66 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +79 +72 +68 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +90 +83 +77 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +62 +59 +53 +51 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +50 +44 +41 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +78 +71 +67 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +78 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +27 +25 +21 +21 +18 +17 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +81 +73 +69 +63 +60 +53 +51 +46 +43 +39 +36 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +79 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +12 +11 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +111 +95 +92 +84 +79 +72 +67 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +85 +79 +73 +69 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +66 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +32 +30 +26 +25 +22 +20 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-12 +-35 +-53 +-70 +-83 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +58 +26 +-2 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +95 +91 +82 +77 +71 +67 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +84 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +81 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +120 +112 +105 +96 +90 +82 +78 +70 +66 +60 +56 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +-14 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +55 +24 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +78 +70 +67 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +100 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +16 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +50 +45 +43 +39 +37 +32 +31 +28 +27 +-3 +-27 +-48 +-65 +-79 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +77 +70 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +81 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +70 +63 +59 +53 +51 +46 +43 +38 +36 +33 +31 +28 +25 +-4 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +101 +96 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-36 +-55 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +100 +94 +86 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +70 +66 +61 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-6 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +71 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +54 +22 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +90 +83 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +69 +62 +59 +52 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +61 +57 +51 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +22 +19 +17 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +85 +81 +74 +69 +63 +59 +53 +51 +46 +43 +38 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +101 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +91 +82 +78 +71 +67 +60 +57 +22 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +69 +62 +57 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +67 +62 +58 +52 +50 +44 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +44 +41 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +111 +95 +92 +84 +79 +72 +68 +61 +58 +52 +50 +45 +42 +10 +-15 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +106 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-11 +-35 +-53 +-70 +-82 +-94 +-103 +-111 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-99 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +86 +81 +72 +69 +63 +59 +52 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +44 +42 +38 +36 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +13 +11 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +66 +61 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-105 +-112 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +57 +52 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +90 +82 +77 +70 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +13 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +54 +50 +45 +43 +39 +36 +32 +31 +28 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +106 +96 +91 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +36 +32 +31 +28 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-55 +127 +127 +116 +101 +96 +88 +84 +76 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-71 +-84 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +90 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +83 +78 +71 +67 +60 +56 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +61 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +71 +66 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +51 +48 +43 +41 +38 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +61 +57 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +114 +106 +97 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-82 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +54 +23 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +63 +59 +52 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +104 +96 +91 +83 +77 +70 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +36 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +73 +69 +63 +60 +53 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +91 +83 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +79 +73 +69 +62 +58 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +42 +36 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-113 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +94 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +103 +94 +88 +80 +76 +69 +64 +59 +56 +50 +47 +14 +-12 +-35 +-53 +-70 +-83 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +59 +26 +-2 +-25 +-45 +-61 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +78 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +14 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +61 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +77 +71 +67 +60 +57 +52 +48 +44 +42 +37 +34 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-109 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +56 +51 +48 +44 +41 +37 +35 +31 +29 +25 +25 +22 +20 +18 +17 +15 +14 +-14 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +65 +59 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +23 +22 +18 +18 +15 +14 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-79 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-82 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +90 +83 +78 +70 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +24 +22 +22 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +51 +45 +43 +38 +37 +33 +31 +28 +25 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +89 +83 +76 +72 +65 +62 +55 +52 +47 +45 +13 +-13 +-36 +-54 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-2 +-25 +-45 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +96 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +94 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +65 +61 +57 +52 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +104 +96 +91 +82 +78 +71 +67 +60 +57 +51 +49 +43 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +111 +106 +96 +90 +82 +78 +71 +66 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +62 +59 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +54 +23 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +70 +67 +61 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +67 +62 +58 +52 +50 +45 +42 +10 +-16 +-39 +-56 +-72 +-85 +-96 +-105 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-40.pm3 b/traces/modulation-ask-man-40.pm3 new file mode 100644 index 00000000..8fdb2e6c --- /dev/null +++ b/traces/modulation-ask-man-40.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +98 +89 +84 +76 +72 +65 +61 +55 +53 +47 +44 +12 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +88 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +85 +77 +72 +65 +61 +55 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +66 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +24 +20 +19 +17 +16 +13 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +44 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +67 +61 +57 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +89 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +10 +9 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +64 +58 +56 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +91 +85 +77 +73 +66 +61 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +33 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +53 +47 +45 +40 +38 +34 +31 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +82 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +19 +16 +16 +-13 +-35 +-55 +-71 +-85 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-111 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +83 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +62 +57 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +63 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +33 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +10 +9 +9 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +112 +103 +96 +87 +83 +75 +71 +64 +61 +55 +52 +47 +44 +11 +-15 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +92 +84 +79 +72 +67 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +73 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +66 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +96 +88 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +49 +45 +42 +38 +36 +31 +30 +27 +26 +22 +21 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-100 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +97 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +88 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +48 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +116 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +19 +16 +16 +-12 +-35 +-55 +-71 +-85 +-96 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +56 +51 +49 +43 +41 +9 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-100 +-109 +-102 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +84 +76 +72 +65 +62 +56 +53 +47 +45 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +15 +13 +14 +12 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +97 +92 +84 +79 +72 +67 +61 +58 +52 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +24 +23 +20 +19 +17 +16 +13 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-84 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +62 +55 +52 +47 +45 +40 +38 +33 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +76 +69 +64 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-75 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-108 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +41 +38 +33 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +72 +67 +62 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +18 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +96 +88 +82 +44 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +66 +61 +55 +52 +48 +45 +40 +37 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +85 +77 +74 +66 +62 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +66 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +23 +23 +20 +19 +16 +16 +14 +13 +11 +10 +9 +9 +7 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +8 +-18 +-40 +-58 +-75 +-87 +-98 +-107 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +103 +96 +88 +83 +76 +71 +65 +61 +55 +52 +46 +45 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-99 +-107 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +71 +68 +62 +58 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +86 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +84 +79 +71 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +65 +63 +56 +53 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +71 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +11 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +48 +44 +11 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +65 +61 +56 +53 +46 +45 +40 +38 +34 +32 +28 +27 +25 +23 +19 +19 +16 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +93 +84 +79 +72 +68 +62 +58 +52 +49 +44 +42 +38 +35 +32 +31 +27 +26 +23 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-70 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +15 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +45 +44 +39 +37 +33 +31 +28 +26 +24 +22 +19 +19 +16 +15 +-13 +-36 +-56 +-72 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +68 +61 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +91 +82 +77 +70 +67 +61 +57 +51 +48 +43 +42 +9 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +11 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +73 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +57 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +28 +26 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +41 +38 +34 +32 +29 +27 +24 +23 +20 +20 +16 +15 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +64 +59 +56 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +97 +89 +84 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +73 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +82 +44 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +98 +92 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +61 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +12 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +20 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +112 +102 +96 +87 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +62 +57 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +65 +62 +57 +52 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +10 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +102 +96 +88 +83 +75 +71 +64 +61 +55 +51 +47 +45 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-90 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +93 +84 +80 +73 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-60 +-76 +-89 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +71 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +52 +48 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +67 +62 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-100 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +44 +40 +39 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +19 +16 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +85 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +77 +70 +65 +60 +57 +50 +48 +44 +41 +9 +-17 +-40 +-57 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-108 +-102 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +76 +72 +66 +62 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +66 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +84 +76 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +97 +92 +84 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +73 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +25 +23 +19 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-75 +-90 +-100 +-109 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +116 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +8 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +103 +94 +88 +80 +75 +68 +64 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-86 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-10 +-34 +-53 +-69 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +55 +52 +47 +45 +40 +38 +33 +32 +29 +27 +24 +23 +20 +18 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-82 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +52 +46 +43 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +17 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +87 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +90 +84 +77 +72 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-109 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +84 +79 +72 +68 +62 +59 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +13 +-13 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +103 +94 +87 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +102 +96 +88 +83 +75 +71 +65 +61 +55 +51 +46 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +79 +72 +67 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +62 +55 +52 +48 +45 +40 +38 +34 +32 +29 +27 +23 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +90 +84 +76 +72 +66 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +58 +53 +49 +44 +42 +38 +35 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-84 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +74 +66 +61 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +56 +53 +48 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +44 +40 +37 +33 +32 +28 +25 +23 +22 +20 +18 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +88 +83 +45 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +71 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +23 +22 +20 +19 +15 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-29 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +77 +70 +67 +61 +56 +51 +48 +44 +41 +9 +-17 +-40 +-57 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-100 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +55 +52 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +66 +62 +55 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +46 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +47 +44 +12 +-15 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +48 +45 +39 +38 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +68 +62 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +83 +44 +14 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +93 +88 +80 +75 +68 +64 +58 +56 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +98 +93 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +116 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +77 +72 +65 +61 +56 +53 +46 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +13 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +77 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +31 +28 +27 +24 +23 +20 +19 +17 +16 +14 +12 +11 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +70 +63 +60 +54 +51 +45 +44 +39 +37 +33 +31 +27 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +88 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +67 +61 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +93 +88 +80 +75 +69 +65 +59 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +104 +97 +88 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +124 +115 +108 +99 +92 +84 +79 +72 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +112 +102 +96 +87 +83 +75 +70 +64 +61 +55 +51 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-108 +-101 +-95 +-89 +-82 +-78 +-72 +-68 +-63 +118 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +99 +93 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +74 +66 +62 +57 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +16 +13 +13 +11 +11 +9 +8 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +67 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +96 +87 +82 +43 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +50 +45 +42 +37 +36 +32 +29 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +7 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-70 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +66 +62 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +47 +44 +39 +37 +33 +31 +28 +26 +23 +23 +20 +19 +16 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +95 +88 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +85 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +8 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +43 +40 +37 +33 +31 +28 +26 +24 +23 +19 +18 +16 +16 +-12 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +56 +51 +48 +44 +41 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +92 +84 +79 +72 +68 +62 +59 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +88 +84 +77 +71 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +98 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +22 +20 +19 +17 +15 +13 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +78 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +66 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +55 +52 +47 +45 +40 +38 +34 +32 +29 +27 +25 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-8.pm3 b/traces/modulation-ask-man-8.pm3 new file mode 100644 index 00000000..7aa4895b --- /dev/null +++ b/traces/modulation-ask-man-8.pm3 @@ -0,0 +1,20000 @@ +102 +120 +68 +19 +-23 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +72 +32 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +118 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-54 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-76 +-104 +-13 +70 +88 +39 +-6 +-45 +-76 +-104 +-14 +69 +88 +37 +-7 +-46 +-77 +-105 +-14 +70 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +37 +115 +127 +85 +34 +-11 +-46 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-6 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-64 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +95 +66 +27 +-12 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +86 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +70 +30 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-1 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +5 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-60 +-89 +16 +98 +115 +64 +15 +-27 +-61 +-90 +3 +86 +105 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +97 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-10 +-46 +-77 +28 +110 +127 +99 +58 +15 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-2 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +107 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-76 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-77 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-55 +-85 +11 +93 +111 +59 +12 +-30 +-63 +-93 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-22 +-56 +-86 +19 +102 +118 +66 +18 +-24 +-59 +-89 +6 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +67 +26 +-13 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +118 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +21 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +88 +107 +56 +9 +-33 +-66 +-95 +-1 +82 +100 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +43 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +98 +115 +64 +16 +-26 +-60 +-89 +15 +98 +116 +64 +15 +-26 +-60 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-3 +80 +97 +69 +29 +-10 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +113 +127 +76 +26 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +64 +16 +-26 +-60 +-90 +3 +87 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-26 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-63 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +47 +120 +127 +83 +33 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-4 +79 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +69 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-20 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-77 +28 +111 +127 +74 +24 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-63 +-92 +1 +84 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-58 +-88 +5 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +62 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-37 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +100 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +29 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +12 +95 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-96 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-45 +-77 +28 +109 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +47 +1 +-37 +-70 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +33 +-12 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-30 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +34 +-11 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +1 +-38 +-71 +-99 +-7 +75 +93 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +74 +25 +-19 +-54 +-84 +12 +95 +112 +60 +13 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-36 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +61 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +21 +102 +121 +68 +19 +-23 +-58 +-88 +6 +90 +107 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +71 +31 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +123 +71 +22 +-20 +-55 +-85 +19 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +93 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +63 +16 +-26 +-61 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +86 +102 +52 +5 +-35 +-68 +-97 +-4 +78 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-10 +-45 +-77 +28 +109 +127 +99 +57 +15 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +4 +88 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-29 +-63 +44 +125 +127 +88 +36 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +33 +-11 +-47 +-78 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +36 +-8 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +67 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +110 +59 +11 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-19 +-54 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +20 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-58 +-88 +5 +88 +106 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +26 +-18 +-53 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +4 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +89 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-85 +20 +102 +119 +68 +19 +-24 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +43 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +55 +8 +-32 +-65 +-94 +0 +82 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +15 +97 +115 +64 +15 +-27 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +26 +-18 +-53 +-83 +13 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +126 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +47 +1 +-36 +-69 +38 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-111 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-104 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +33 +-11 +-47 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-30 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +91 +64 +24 +-14 +-42 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +110 +127 +74 +25 +-19 +-54 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-4 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-43 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +121 +70 +21 +-22 +-56 +-86 +19 +101 +119 +67 +19 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +82 +98 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +66 +26 +-12 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-44 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +86 +36 +-9 +-46 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +90 +107 +55 +8 +-33 +-66 +-95 +-1 +81 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +19 +102 +119 +67 +18 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +64 +16 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +69 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +126 +98 +57 +15 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +48 +1 +-37 +-69 +38 +119 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-89 +5 +88 +105 +77 +36 +-3 +-32 +-63 +-92 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +45 +124 +127 +119 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-29 +-63 +44 +126 +127 +88 +37 +-8 +-45 +-77 +22 +104 +121 +68 +20 +-23 +-57 +-87 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +32 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +78 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-110 +-127 +-101 +47 +119 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-46 +-77 +-104 +-14 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +33 +-11 +-47 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-84 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +91 +64 +24 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-44 +-74 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +101 +118 +66 +18 +-25 +-59 +-89 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +65 +26 +-13 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +101 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +6 +-29 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-65 +-95 +-2 +82 +100 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +90 +107 +55 +8 +-32 +-65 +-95 +-1 +81 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +90 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +55 +8 +-32 +-65 +-94 +0 +82 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +114 +64 +16 +-26 +-60 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +87 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +113 +61 +13 +-29 +-62 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +35 +-10 +-46 +-77 +28 +110 +126 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-102 +53 +127 +127 +100 +47 +1 +-37 +-69 +38 +119 +127 +83 +32 +-12 +-48 +-80 +17 +100 +117 +64 +16 +-26 +-60 +-90 +5 +88 +104 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +104 +121 +68 +19 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-79 +-104 +-111 +-127 +-102 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +109 +127 +74 +25 +-18 +-53 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +39 +-5 +-44 +-75 +-103 +-13 +71 +89 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +93 +111 +59 +11 +-30 +-63 +-93 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +35 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +66 +18 +-25 +-59 +-89 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-6 +77 +93 +66 +26 +-13 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +112 +75 +34 +6 +-30 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-32 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +71 +31 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-3 +84 +107 +58 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +44 +-1 +-41 +-73 +-100 +-10 +73 +91 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +102 +51 +5 +-35 +-68 +-97 +-103 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +79 +97 +70 +29 +-9 +-37 +-68 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-75 +30 +112 +127 +75 +26 +-18 +-53 +-83 +12 +95 +112 +61 +13 +-29 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +119 +127 +83 +32 +-12 +-48 +-80 +17 +100 +116 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +119 +80 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +45 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +91 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +32 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-79 +-104 +-111 +-127 +-102 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +110 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-4 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +39 +-5 +-44 +-76 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +37 +-7 +-46 +-77 +-104 +-14 +70 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +85 +36 +-9 +-47 +-78 +-106 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-44 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-21 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +66 +26 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-9 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +18 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +70 +30 +-8 +-36 +-67 +-94 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-86 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +55 +8 +-32 +-65 +-95 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +98 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +16 +-26 +-61 +-90 +4 +87 +105 +53 +7 +-34 +-67 +-96 +-3 +80 +97 +69 +29 +-10 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-75 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-46 +-77 +29 +111 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +120 +127 +83 +32 +-12 +-48 +-80 +17 +99 +117 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +80 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +45 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +71 +31 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +41 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-79 +-104 +-111 +-127 +-102 +46 +119 +127 +83 +33 +-12 +-47 +-78 +29 +110 +127 +74 +25 +-19 +-53 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-4 +79 +96 +46 +0 +-39 +-71 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +71 +89 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +69 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +86 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +91 +41 +-4 +-43 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +19 +101 +118 +66 +18 +-25 +-59 +-89 +5 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-71 +-99 +-7 +77 +94 +66 +26 +-13 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-30 +-63 +-92 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +83 +107 +59 +11 +-30 +-64 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +71 +22 +-21 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +8 +-33 +-66 +-95 +-1 +82 +99 +48 +2 +-37 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +64 +16 +-26 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-75 +30 +112 +127 +76 +26 +-18 +-53 +-83 +13 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +18 +100 +117 +64 +16 +-26 +-60 +-90 +4 +88 +106 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +80 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +45 +125 +127 +88 +37 +-8 +-45 +-77 +22 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +109 +57 +9 +-31 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-104 +-111 +-127 +-102 +47 +120 +127 +83 +33 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-19 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +39 +-5 +-44 +-76 +-103 +-13 +69 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-45 +-77 +-104 +-15 +69 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +87 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-76 +29 +110 +127 +74 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-59 +-88 +6 +89 +106 +54 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-71 +-99 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +36 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +34 +7 +-30 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +123 +127 +87 +36 +-10 +-46 +-77 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +70 +30 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +106 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-43 +-72 +-100 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +87 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +29 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +97 +46 +0 +-39 +-71 +-99 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-45 +-77 +28 +110 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-70 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-76 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +107 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +78 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +91 +41 +-4 +-43 +-75 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-13 +70 +88 +37 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +125 +73 +24 +-20 +-55 +-85 +11 +94 +111 +59 +12 +-29 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +78 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +47 +1 +-38 +-71 +-99 +-7 +77 +94 +66 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +120 +127 +88 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-54 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +61 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +19 +102 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-33 +-66 +-95 +-1 +82 +100 +48 +2 +-38 +-70 +-98 +-7 +76 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +64 +16 +-26 +-59 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +27 +-17 +-52 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +73 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +17 +-26 +-60 +-89 +4 +87 +105 +76 +36 +-3 +-31 +-62 +-91 +-99 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +112 +57 +9 +-30 +-63 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +60 +12 +-30 +-63 +-93 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +64 +24 +-14 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-18 +-53 +-84 +11 +94 +111 +59 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +70 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +5 +88 +106 +54 +7 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +113 +75 +34 +6 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +70 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-95 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +100 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +15 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +30 +112 +127 +76 +27 +-17 +-52 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +118 +127 +87 +35 +-9 +-45 +-77 +27 +109 +127 +98 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +48 +1 +-37 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +59 +11 +-30 +-63 +-93 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +85 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-103 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +37 +-8 +-45 +-76 +28 +111 +127 +74 +24 +-19 +-54 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +121 +70 +21 +-22 +-56 +-86 +19 +101 +118 +66 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +93 +66 +27 +-12 +-40 +-70 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +89 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-30 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +86 +36 +-10 +-46 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-59 +-89 +15 +98 +116 +64 +16 +-26 +-60 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-44 +-75 +30 +112 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +28 +109 +127 +98 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +80 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +36 +-9 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-66 +-95 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +86 +37 +-7 +-46 +-78 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +69 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +115 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +1 +83 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +37 +-9 +-45 +-76 +28 +109 +127 +75 +25 +-19 +-54 +-84 +11 +95 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +70 +21 +-21 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-8 +76 +93 +65 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +112 +60 +13 +-29 +-62 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +125 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +18 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +100 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-3 +83 +107 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +103 +55 +8 +-32 +-66 +-95 +0 +82 +101 +51 +5 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +100 +115 +64 +16 +-26 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +111 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +35 +-9 +-45 +-77 +28 +110 +127 +99 +57 +15 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +119 +127 +82 +32 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +4 +88 +104 +77 +36 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-111 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +104 +121 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +100 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +78 +38 +10 +-27 +-60 +-90 +-97 +-127 +25 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +39 +-5 +-44 +-76 +-103 +-14 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +86 +34 +-10 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-63 +-92 +0 +84 +101 +50 +4 +-36 +-69 +-98 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-21 +-56 +-86 +18 +101 +119 +66 +18 +-25 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +93 +66 +27 +-13 +-40 +-70 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +2 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-4 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +95 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +55 +9 +-32 +-65 +-95 +0 +83 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +65 +17 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +3 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-43 +-75 +29 +111 +127 +75 +26 +-18 +-53 +-84 +13 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-46 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-12 +-48 +-80 +17 +99 +116 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +119 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +44 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +20 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +79 +38 +10 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-79 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +109 +127 +74 +25 +-18 +-54 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-76 +-104 +-13 +71 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +88 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +127 +74 +25 +-19 +-54 +-85 +11 +93 +110 +59 +11 +-30 +-63 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-89 +5 +89 +107 +56 +8 +-33 +-66 +-95 +-2 +80 +98 +48 +2 +-38 +-70 +-99 +-8 +76 +94 +66 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +85 +101 +51 +5 +-36 +-69 +-97 +-5 +78 +97 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +6 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +88 +36 +-9 +-45 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +72 +31 +-8 +-35 +-66 +-95 +-103 +-127 +-127 +-3 +84 +107 +60 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +123 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +48 +3 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +55 +8 +-32 +-66 +-95 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +87 +105 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-18 +-53 +-83 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-46 +-77 +28 +110 +127 +98 +57 +16 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +47 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +16 +99 +117 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +32 +-12 +-47 +-79 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +40 +-5 +-44 +-76 +-103 +-13 +71 +89 +39 +-5 +-44 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-84 +10 +93 +111 +59 +11 +-30 +-64 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-43 +-74 +-102 +-11 +72 +89 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +101 +118 +66 +17 +-25 +-59 +-89 +5 +88 +107 +56 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +67 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +28 +111 +127 +75 +26 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +35 +-10 +-46 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +71 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-4 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +88 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +3 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +65 +17 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-91 +3 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +79 +97 +69 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +30 +112 +127 +76 +26 +-18 +-53 +-84 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +36 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +17 +99 +116 +64 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +45 +124 +127 +119 +80 +40 +12 +-25 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +37 +-8 +-45 +-76 +20 +103 +120 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +46 +119 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +74 +25 +-19 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +39 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +10 +93 +110 +59 +11 +-30 +-64 +-93 +1 +83 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-42 +-73 +-100 +-107 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +100 +119 +67 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +41 +-4 +-43 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +6 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-86 +20 +102 +120 +68 +19 +-23 +-58 +-88 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +49 +3 +-37 +-70 +-98 +-8 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +64 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +98 +114 +64 +16 +-26 +-60 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +86 +105 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +29 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-71 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +27 +109 +127 +99 +58 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +17 +99 +116 +64 +16 +-26 +-60 +-90 +4 +88 +105 +77 +37 +-2 +-31 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-26 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +46 +120 +127 +83 +32 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-18 +-53 +-84 +10 +94 +112 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-10 +74 +91 +41 +-4 +-43 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +89 +39 +-6 +-45 +-76 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +37 +-7 +-46 +-77 +-105 +-15 +67 +86 +36 +-8 +-47 +-78 +-105 +-16 +68 +86 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +115 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-6 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +65 +25 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-18 +-53 +-84 +11 +93 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-72 +-100 +-107 +-127 +-127 +-10 +77 +101 +54 +7 +-33 +-67 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-21 +-56 +-86 +19 +101 +118 +66 +18 +-25 +-59 +-89 +5 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +67 +26 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +84 +102 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +56 +8 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +80 +98 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +83 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +19 +102 +120 +68 +19 +-23 +-58 +-88 +6 +88 +106 +56 +8 +-33 +-66 +-95 +-2 +82 +100 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +50 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +15 +-27 +-61 +-90 +3 +85 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +98 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +27 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-10 +74 +93 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +16 +99 +117 +65 +17 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-2 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +43 +125 +127 +88 +37 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +116 +79 +39 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-15 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +59 +19 +-18 +-45 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +91 +65 +25 +-14 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-30 +-63 +-92 +1 +84 +102 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-99 +-107 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-59 +-88 +5 +88 +105 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-8 +76 +94 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +74 +25 +-18 +-54 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +76 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +36 +-10 +-46 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +71 +22 +-20 +-55 +-85 +19 +101 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +50 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +97 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +77 +27 +-17 +-52 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +97 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +87 +36 +-9 +-45 +-77 +27 +109 +127 +99 +58 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +41 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +38 +-7 +-45 +-77 +-104 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +59 +19 +-18 +-46 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +108 +126 +73 +24 +-19 +-54 +-85 +10 +93 +111 +60 +12 +-30 +-63 +-92 +-1 +83 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +37 +-8 +-45 +-76 +28 +110 +127 +75 +25 +-19 +-54 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +62 +23 +-16 +-42 +-72 +-99 +-107 +-127 +-127 +-10 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +69 +21 +-22 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-88 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-71 +-99 +-8 +76 +93 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +84 +108 +59 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-54 +-85 +19 +102 +119 +67 +19 +-24 +-58 +-88 +6 +88 +106 +56 +9 +-33 +-66 +-95 +-2 +82 +99 +48 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +97 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +79 +97 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +29 +112 +127 +76 +26 +-17 +-52 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +24 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +87 +35 +-9 +-45 +-77 +27 +109 +126 +99 +57 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-63 +43 +125 +127 +88 +36 +-9 +-45 +-77 +21 +103 +120 +68 +20 +-23 +-57 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-77 +-105 +-16 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +67 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +108 +126 +73 +24 +-19 +-54 +-85 +10 +93 +111 +59 +12 +-30 +-63 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +65 +25 +-13 +-41 +-71 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-8 +-45 +-77 +27 +109 +127 +74 +25 +-18 +-54 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-22 +-56 +-86 +19 +100 +119 +67 +18 +-24 +-59 +-88 +5 +88 +106 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-8 +76 +93 +66 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +61 +13 +-28 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +35 +-9 +-46 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +8 +-33 +-66 +-95 +-3 +82 +99 +72 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +19 +102 +119 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +80 +99 +48 +3 +-37 +-70 +-98 +-8 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-59 +-89 +15 +97 +115 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +31 +-9 +-36 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-17 +-52 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +84 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +36 +-9 +-45 +-77 +27 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +52 +127 +127 +100 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +16 +99 +117 +65 +17 +-25 +-59 +-89 +4 +87 +104 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-94 +-3 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-16 +68 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +85 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-7 +-46 +-77 +-105 +-17 +68 +86 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +93 +111 +60 +12 +-29 +-63 +-92 +0 +84 +102 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +112 +61 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-10 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +22 +-21 +-56 +-86 +18 +101 +118 +66 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +75 +93 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +89 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +61 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +101 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +81 +99 +72 +32 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +84 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +72 +22 +-20 +-55 +-85 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +8 +-32 +-65 +-95 +-1 +83 +102 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +14 +98 +116 +64 +15 +-26 +-60 +-90 +3 +86 +104 +54 +7 +-34 +-67 +-96 +-5 +79 +97 +70 +30 +-9 +-36 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +29 +111 +127 +76 +26 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-62 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +46 +0 +-40 +-72 +-100 +-10 +75 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +87 +36 +-9 +-46 +-77 +27 +109 +127 +98 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-89 +4 +87 +105 +77 +37 +-2 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +58 +9 +-29 +-63 +43 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +69 +20 +-23 +-57 +-87 +6 +90 +107 +56 +9 +-32 +-66 +-95 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +27 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +89 +39 +-6 +-45 +-76 +-104 +-15 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-16 +69 +87 +37 +-7 +-46 +-77 +-104 +-16 +68 +87 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-16 +68 +85 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-85 +10 +93 +110 +59 +11 +-30 +-64 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +65 +25 +-14 +-41 +-71 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +27 +109 +127 +75 +25 +-19 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-21 +-56 +-86 +18 +100 +119 +67 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +49 +3 +-37 +-70 +-98 +-8 +76 +94 +66 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +28 +110 +127 +76 +26 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +79 +97 +46 +0 +-39 +-71 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-3 +81 +99 +71 +31 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +19 +102 +120 +68 +19 +-24 +-58 +-88 +5 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +45 +-1 +-41 +-73 +-101 +-11 +73 +90 +63 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-66 +-95 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +86 +105 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +90 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +61 +13 +-28 +-63 +-92 +1 +84 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +63 +23 +-16 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +87 +36 +-9 +-45 +-77 +27 +109 +127 +98 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-37 +-69 +37 +118 +127 +83 +32 +-13 +-49 +-80 +16 +98 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +102 +120 +68 +20 +-23 +-58 +-88 +6 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +100 +72 +31 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +118 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-79 +27 +109 +127 +75 +25 +-19 +-54 +-84 +11 +94 +111 +61 +13 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +77 +96 +46 +0 +-40 +-72 +-100 +-10 +74 +93 +43 +-3 +-42 +-74 +-102 +-12 +71 +90 +40 +-5 +-44 +-76 +-103 +-14 +70 +89 +39 +-6 +-45 +-77 +-104 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-16 +69 +87 +37 +-7 +-46 +-77 +-105 +-16 +67 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +37 +-7 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +35 +115 +127 +85 +34 +-11 +-46 +-78 +26 +109 +126 +74 +24 +-19 +-54 +-85 +10 +92 +111 +60 +12 +-30 +-63 +-92 +0 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-10 +74 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-21 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-89 +5 +88 +107 +56 +8 +-33 +-66 +-95 +-3 +80 +99 +48 +2 +-38 +-71 +-99 +-7 +76 +94 +67 +27 +-12 +-40 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +76 +26 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +101 +119 +68 +19 +-24 +-58 +-88 +6 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-102 +-127 +-127 +-4 +83 +107 +59 +12 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-86 +19 +102 +120 +68 +19 +-24 +-58 +-88 +5 +88 +106 +56 +9 +-33 +-66 +-95 +-3 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +45 +-1 +-41 +-73 +-101 +-11 +72 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +65 +17 +-25 +-59 +-89 +14 +97 +115 +64 +15 +-27 +-61 +-91 +3 +86 +104 +54 +7 +-34 +-67 +-96 +-5 +79 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +26 +-18 +-53 +-83 +11 +94 +112 +61 +13 +-28 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +97 +46 +0 +-39 +-72 +-100 +-10 +74 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-42 +-73 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +27 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-90 +3 +88 +106 +77 +37 +-2 +-30 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-109 +45 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +57 +9 +-32 +-65 +-94 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 diff --git a/traces/modulation-direct-32.pm3 b/traces/modulation-direct-32.pm3 new file mode 100644 index 00000000..8d72895a --- /dev/null +++ b/traces/modulation-direct-32.pm3 @@ -0,0 +1,20000 @@ +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-82 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +110 +105 +95 +89 +81 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +90 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-55 +-51 +-48 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-37 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-16 +-14 +-15 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-4 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-111 +-103 +-97 +-90 +-85 +-79 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-36 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-29 +-52 +-71 +-88 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +65 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-38 +-34 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-42 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +20 +17 +17 +15 +14 +11 +11 +9 +9 +7 +7 +6 +6 +4 +3 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +69 +65 +59 +55 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +86 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-103 +-98 +-91 +-85 +-80 +-75 +-70 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-13 +-11 +-11 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +82 +77 +69 +65 +59 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +20 +18 +16 +15 +14 +12 +11 +10 +10 +8 +7 +6 +5 +4 +4 +2 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +35 +31 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-5 +-5 +-5 +-5 +-31 +-55 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-82 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-12 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +50 +47 +42 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +89 +81 +77 +70 +65 +60 +56 +51 +47 +42 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +87 +80 +75 +68 +63 +58 +55 +49 +47 +42 +39 +35 +3 +-25 +-48 +-68 +-84 +-99 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +81 +77 +70 +66 +60 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +109 +100 +94 +85 +80 +72 +68 +63 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-66 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-36 +-34 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +26 +22 +21 +19 +18 +15 +14 +13 +13 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-29 +-52 +-72 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +69 +66 +60 +55 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +41 +37 +35 +30 +29 +26 +24 +22 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +-2 +-1 +-27 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +48 +42 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +47 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +110 +100 +93 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +35 +32 +31 +26 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-34 +-31 +-29 +-27 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-9 +-8 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-4 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +104 +95 +90 +82 +77 +70 +66 +60 +57 +51 +47 +43 +41 +35 +34 +31 +29 +26 +25 +22 +21 +18 +17 +14 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-108 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +69 +65 +60 +56 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-28 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +101 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-60 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +96 +90 +80 +77 +70 +66 +59 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-36 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +90 +82 +77 +69 +65 +60 +56 +51 +47 +42 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +9 +9 +8 +8 +6 +6 +4 +5 +4 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-29 +-52 +-71 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-57 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +81 +76 +70 +65 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-96 +-89 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +42 +41 +37 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +66 +60 +56 +51 +47 +42 +41 +36 +34 +30 +29 +26 +25 +22 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +81 +77 +70 +66 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-89 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +40 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +69 +63 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +-3 +-31 +-53 +-72 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-76 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-41 +-39 +-36 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +40 +36 +35 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +12 +10 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +96 +90 +82 +77 +69 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-4 +-3 +-3 +-4 +-4 +-3 +-4 +-3 +-5 +-4 +-5 +-3 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-30 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-88 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +96 +90 +81 +77 +70 +65 +60 +56 +51 +47 +43 +40 +35 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +109 +102 +93 +87 +79 +75 +69 +64 +58 +55 +48 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +103 +95 +90 +82 +77 +70 +66 +59 +56 +50 +47 +43 +41 +36 +4 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +37 +36 +32 +31 +27 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-39 +-35 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +65 +60 +56 +50 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +94 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-3 +-2 +-1 +-2 +-28 +-52 +-71 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +42 +40 +36 +5 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +81 +77 +69 +65 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +25 +23 +21 +21 +17 +17 +15 +14 +12 +12 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-98 +-92 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +69 +65 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-24 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +30 +29 +26 +25 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-106 +-99 +-92 +-86 +-82 +-76 +-72 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +81 +77 +70 +66 +59 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +6 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-88 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-6 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-55 +-52 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-55 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +101 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +65 +59 +55 +51 +48 +43 +41 +36 +4 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-72 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +76 +69 +66 +60 +55 +51 +48 +42 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +108 +100 +93 +85 +80 +73 +69 +62 +59 +53 +49 +45 +42 +37 +36 +32 +31 +27 +26 +22 +22 +19 +18 +14 +14 +13 +12 +10 +9 +7 +8 +6 +6 +4 +5 +4 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-28 +-52 +-71 +-88 +-101 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-107 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +81 +77 +69 +65 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +76 +70 +66 +60 +56 +51 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-38 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +69 +65 +60 +56 +51 +47 +42 +41 +36 +34 +30 +29 +26 +25 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +6 +4 +4 +2 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +42 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +100 +93 +85 +80 +73 +69 +62 +58 +53 +50 +44 +42 +38 +36 +32 +31 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-47 +-44 +-41 +-39 +-35 +-34 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +40 +37 +35 +30 +28 +25 +24 +21 +21 +18 +17 +15 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +90 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +35 +31 +28 +26 +25 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +7 +7 +5 +5 +3 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-4 +-2 +-3 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-108 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +63 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +66 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-51 +-47 +-44 +-41 +-39 +-36 +-34 +-31 +-30 +-28 +-26 +-24 +-23 +-22 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +0 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-29 +-52 +-71 +-88 +-102 +-114 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +4 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +8 +7 +7 +6 +5 +4 +4 +3 +4 +2 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-26 +-26 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +65 +59 +55 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-52 +-48 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +96 +89 +82 +77 +70 +65 +59 +56 +50 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +73 +69 +63 +59 +53 +50 +45 +43 +38 +35 +32 +30 +26 +-4 +-32 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-103 +-98 +-91 +-85 +-79 +-76 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-41 +-39 +-35 +-33 +-31 +-30 +-27 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +96 +90 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +36 +34 +31 +29 +26 +25 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +0 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +96 +90 +81 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +28 +26 +25 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +2 +1 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-59 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +89 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-89 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +3 +-25 +-48 +-68 +-84 +-99 +-110 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-89 +-83 +-77 +-73 +-68 +-64 +-60 +-56 +-52 +-49 +-45 +-43 +-40 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +76 +70 +66 +59 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +81 +73 +68 +62 +59 +53 +50 +45 +43 +38 +37 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +1 +2 +1 +0 +0 +1 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-28 +-52 +-71 +-88 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 diff --git a/traces/modulation-direct-40.pm3 b/traces/modulation-direct-40.pm3 new file mode 100644 index 00000000..f716de72 --- /dev/null +++ b/traces/modulation-direct-40.pm3 @@ -0,0 +1,20000 @@ +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +80 +74 +69 +62 +59 +53 +51 +45 +43 +38 +36 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-85 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +87 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-73 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +31 +29 +27 +26 +22 +21 +19 +18 +15 +-11 +-35 +-55 +-72 +-85 +-97 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +50 +44 +42 +38 +36 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +2 +2 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-74 +-69 +-64 +-61 +-57 +-53 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +60 +54 +50 +46 +43 +39 +37 +33 +31 +28 +27 +24 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +20 +18 +16 +15 +13 +12 +11 +11 +9 +8 +7 +7 +5 +5 +3 +3 +3 +3 +1 +2 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +59 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-9 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-73 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +22 +19 +18 +16 +-11 +-35 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +11 +8 +8 +7 +6 +4 +5 +4 +4 +2 +3 +2 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +-35 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +9 +8 +7 +6 +5 +5 +4 +3 +2 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +-8 +-33 +-53 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +28 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-7 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +85 +80 +73 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +62 +59 +54 +51 +46 +43 +38 +37 +33 +31 +27 +26 +23 +21 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-9 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-73 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +72 +67 +61 +58 +52 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-32 +-31 +-28 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +28 +26 +23 +22 +20 +19 +16 +15 +13 +13 +10 +10 +9 +8 +6 +7 +5 +5 +4 +4 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-97 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-57 +-53 +-49 +-46 +-43 +-41 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +50 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +-11 +-36 +-55 +-72 +-85 +-97 +-106 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-80 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +94 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +23 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +6 +5 +5 +3 +4 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-35 +-32 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +36 +33 +31 +28 +26 +24 +22 +19 +19 +16 +15 +13 +13 +10 +10 +9 +8 +7 +7 +5 +5 +4 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-104 +-97 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-54 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-32 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-79 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +86 +81 +73 +69 +62 +58 +53 +51 +45 +43 +38 +36 +33 +31 +28 +25 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +72 +67 +61 +58 +52 +49 +45 +42 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +79 +71 +67 +61 +57 +51 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +2 +0 +0 +0 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-97 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-57 +-53 +-49 +-46 +-43 +-41 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-114 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-25 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +44 +38 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +53 +50 +45 +43 +39 +37 +33 +31 +28 +26 +22 +22 +19 +18 +16 +15 +14 +12 +11 +11 +8 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-27 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +59 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +24 +23 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +83 +79 +71 +67 +61 +58 +52 +50 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +-11 +-36 +-55 +-72 +-85 +-97 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +27 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +11 +8 +8 +6 +7 +5 +5 +4 +4 +2 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-27 +-49 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +-36 +-33 +-31 +-28 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +8 +8 +7 +6 +5 +5 +4 +3 +2 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-65 +-61 +-57 +-54 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-23 +-22 +-21 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +32 +31 +28 +25 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +85 +80 +74 +69 +62 +59 +53 +50 +45 +43 +38 +36 +33 +30 +27 +26 +23 +21 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +87 +81 +74 +69 +63 +59 +54 +51 +46 +44 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +-11 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +72 +67 +61 +58 +52 +49 +44 +42 +37 +36 +31 +30 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +7 +6 +7 +5 +4 +4 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-14 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +44 +39 +37 +33 +31 +28 +26 +22 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +82 +74 +70 +63 +60 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +23 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-15 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +81 +73 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +10 +8 +8 +6 +7 +5 +5 +4 +4 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +23 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +23 +20 +18 +16 +15 +13 +13 +11 +10 +8 +9 +7 +7 +6 +5 +3 +4 +3 +2 +1 +1 +0 +1 +0 +0 +-1 +0 +-1 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +9 +8 +6 +6 +5 +5 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +43 +39 +36 +32 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +83 +79 +72 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-86 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +28 +25 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +58 +52 +49 +44 +41 +38 +35 +32 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +9 +9 +6 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +95 +86 +82 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-97 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +98 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +36 +32 +30 +27 +25 +22 +21 +18 +17 +16 +-11 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +44 +39 +36 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +14 +13 +10 +11 +9 +8 +7 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-74 +-69 +-65 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +82 +74 +69 +63 +60 +54 +50 +45 +43 +38 +37 +33 +31 +28 +27 +24 +22 +20 +19 +15 +15 +13 +12 +11 +10 +9 +8 +7 +7 +5 +5 +4 +4 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-104 +-96 +-91 +-84 +-79 +-74 +-70 +-65 +-61 +-57 +-54 +-49 +-47 +-43 +-40 +-38 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +38 +37 +33 +30 +28 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-97 +-90 +-84 +-78 +-74 +-68 +-64 +-59 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +73 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +84 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-69 +-64 +-60 +-57 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-23 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +79 +72 +68 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +23 +22 +18 +18 +16 +-11 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 diff --git a/traces/modulation-direct-50.pm3 b/traces/modulation-direct-50.pm3 new file mode 100644 index 00000000..a15d2e04 --- /dev/null +++ b/traces/modulation-direct-50.pm3 @@ -0,0 +1,20000 @@ +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +37 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +73 +69 +62 +59 +52 +49 +45 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +16 +15 +13 +12 +10 +11 +8 +8 +6 +-19 +-41 +-59 +-75 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +12 +11 +10 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +80 +72 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-86 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +33 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-89 +-82 +-77 +-72 +-68 +-63 +-59 +-54 +-51 +-48 +-45 +-42 +-40 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +63 +59 +53 +50 +45 +42 +38 +36 +32 +30 +28 +26 +22 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-5 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +73 +68 +62 +58 +53 +50 +44 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +14 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +39 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +4 +3 +2 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-100 +-93 +-89 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-20 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +25 +22 +22 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-42 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +5 +5 +4 +3 +3 +2 +1 +2 +1 +1 +0 +-1 +-1 +0 +-1 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-25 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +7 +5 +4 +3 +4 +3 +2 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-106 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-40 +-36 +-34 +-33 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +9 +9 +7 +-18 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +15 +15 +12 +13 +10 +10 +8 +8 +7 +-19 +-42 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +85 +79 +72 +69 +62 +59 +53 +49 +45 +42 +37 +36 +32 +30 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +11 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-80 +-74 +-69 +-65 +-60 +-58 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +98 +89 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-108 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +98 +93 +85 +79 +73 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-7 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +79 +72 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +19 +16 +15 +13 +13 +10 +9 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +21 +19 +18 +16 +15 +12 +12 +11 +10 +9 +8 +6 +7 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-67 +-63 +-59 +-54 +-51 +-47 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +73 +69 +62 +58 +52 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +79 +72 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +13 +10 +9 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +25 +24 +20 +19 +16 +16 +14 +14 +11 +10 +9 +9 +7 +8 +5 +-20 +-42 +-60 +-76 +-88 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +11 +11 +8 +8 +6 +6 +5 +5 +3 +3 +2 +3 +1 +1 +0 +1 +0 +0 +-2 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-67 +-62 +-59 +-54 +-52 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +33 +31 +27 +26 +23 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +6 +4 +5 +4 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-4 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-82 +-94 +-105 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +79 +73 +69 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +79 +72 +68 +62 +57 +53 +50 +45 +42 +38 +36 +31 +31 +27 +25 +22 +22 +19 +18 +16 +15 +13 +13 +10 +9 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +9 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +73 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +-19 +-41 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-54 +-51 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +61 +58 +52 +49 +45 +42 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +73 +68 +62 +59 +52 +50 +45 +43 +38 +36 +32 +30 +28 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-80 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-10 +-10 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +57 +53 +48 +46 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +6 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +4 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-28 +-49 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-107 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-59 +-54 +-52 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-25 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-8 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +92 +84 +80 +73 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +6 +6 +5 +5 +3 +4 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-107 +-101 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +98 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +22 +22 +18 +18 +16 +15 +13 +13 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +73 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +49 +45 +42 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +15 +14 +13 +12 +10 +10 +9 +8 +6 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +69 +62 +59 +53 +50 +45 +42 +37 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-41 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +45 +40 +38 +35 +33 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +8 +6 +-19 +-42 +-60 +-76 +-89 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-98 +-91 +-85 +-80 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +16 +15 +12 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +33 +29 +27 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-107 +-101 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-51 +-48 +-45 +-42 +-40 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +63 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +98 +93 +84 +79 +73 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +5 +5 +3 +4 +2 +2 +1 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-4 +-28 +-50 +-66 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-100 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-25 +-24 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +69 +62 +58 +52 +50 +45 +43 +38 +36 +33 +31 +27 +26 +23 +22 +19 +18 +15 +14 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +80 +73 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-109 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +11 +8 +8 +6 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-24 +-22 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +31 +28 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +7 +5 +5 +3 +4 +2 +2 +2 +2 +0 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-28 +-50 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-54 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +92 +84 +79 +72 +67 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +80 +73 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +65 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-70 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 diff --git a/traces/modulation-fsk1-50.pm3 b/traces/modulation-fsk1-50.pm3 new file mode 100644 index 00000000..01fb01c5 --- /dev/null +++ b/traces/modulation-fsk1-50.pm3 @@ -0,0 +1,20000 @@ +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-3 +-28 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +20 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +27 +0 +-16 +-39 +-59 +-75 +-89 +30 +55 +22 +-3 +-27 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +37 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +0 +-24 +43 +49 +14 +-13 +-37 +34 +40 +9 +-19 +-41 +29 +38 +6 +-20 +-43 +28 +34 +4 +-23 +-45 +26 +35 +3 +-23 +-46 +26 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-42 +-59 +52 +28 +-2 +-27 +-48 +51 +25 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +48 +22 +-6 +-31 +-51 +47 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +61 +28 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +33 +7 +-18 +-42 +-60 +-77 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-46 +25 +32 +2 +-25 +-46 +23 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-67 +-82 +30 +58 +26 +1 +-24 +-46 +-64 +-80 +35 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-76 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +37 +5 +-21 +-44 +28 +35 +5 +-22 +-44 +26 +34 +2 +-23 +-46 +25 +33 +3 +-24 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-49 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-6 +-31 +-51 +48 +24 +-7 +-31 +-51 +49 +22 +-7 +-31 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +7 +-18 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-41 +-59 +49 +27 +-3 +-28 +-49 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-6 +-30 +-51 +47 +21 +-7 +-32 +-51 +46 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +45 +20 +-9 +-33 +-53 +46 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +27 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +8 +-18 +-42 +-60 +-76 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +1 +-24 +43 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +29 +39 +6 +-20 +-43 +28 +36 +5 +-22 +-44 +26 +35 +3 +-23 +-45 +25 +32 +1 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +31 +0 +-26 +-48 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +24 +1 +-25 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +43 +69 +35 +8 +-17 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +46 +70 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-40 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +32 +1 +-24 +-47 +25 +33 +3 +-24 +-45 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-48 +22 +29 +0 +-27 +-47 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-48 +21 +30 +-2 +-27 +-49 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-1 +-16 +-39 +-59 +-75 +-89 +30 +56 +23 +-3 +-27 +-49 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +1 +-24 +42 +49 +15 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-45 +24 +32 +1 +-25 +-46 +23 +32 +1 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-4 +-28 +-50 +-67 +-82 +29 +58 +25 +0 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-19 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-52 +48 +22 +-7 +-31 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +-70 +37 +60 +27 +1 +-24 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +39 +66 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-30 +-50 +48 +24 +-7 +-31 +-51 +46 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-71 +40 +63 +29 +2 +-23 +-46 +-63 +-79 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +5 +-23 +-44 +24 +32 +0 +-25 +-47 +25 +33 +2 +-24 +-45 +23 +33 +1 +-24 +-47 +24 +32 +1 +-25 +-46 +23 +32 +0 +-25 +-48 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-41 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +23 +32 +1 +-25 +-47 +23 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-47 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-17 +-39 +-60 +-75 +-90 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +24 +1 +-24 +-47 +-65 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +28 +-3 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +28 +2 +-23 +-46 +-64 +-79 +33 +61 +28 +4 +-22 +-44 +-62 +-78 +38 +66 +32 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +36 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +34 +2 +-23 +43 +49 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +29 +38 +5 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +32 +0 +-25 +-47 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +23 +30 +0 +-27 +-47 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +27 +-3 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +20 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +28 +-3 +-28 +-50 +22 +29 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +28 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +26 +35 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +32 +0 +-25 +-47 +23 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +31 +1 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +1 +-25 +-47 +-64 +-80 +36 +63 +29 +5 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +68 +33 +8 +-18 +-42 +-59 +51 +28 +-3 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-6 +-30 +-51 +50 +23 +-6 +-31 +-50 +48 +24 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +23 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +48 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-71 +37 +60 +26 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +3 +-22 +-44 +-63 +-79 +38 +65 +31 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +46 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +45 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +25 +33 +1 +-24 +-46 +25 +33 +2 +-24 +-45 +24 +32 +1 +-24 +-47 +23 +31 +1 +-25 +-47 +23 +32 +0 +-25 +-47 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-49 +23 +30 +-1 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +26 +35 +3 +-23 +-46 +25 +33 +2 +-25 +-46 +23 +32 +1 +-25 +-47 +23 +31 +0 +-26 +-47 +22 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-47 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +28 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +25 +0 +-25 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +39 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-30 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +-70 +37 +61 +27 +1 +-24 +-46 +-64 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +38 +66 +32 +6 +-20 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-58 +50 +28 +-3 +-27 +-48 +51 +25 +-3 +-29 +-49 +50 +26 +-5 +-29 +-50 +50 +24 +-5 +-30 +-50 +48 +24 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-7 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +22 +-8 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +45 +19 +-9 +-34 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +61 +28 +2 +-24 +-46 +-64 +-80 +33 +62 +28 +3 +-22 +-45 +-63 +-79 +37 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +9 +-17 +-40 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +1 +-24 +44 +50 +16 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +25 +34 +2 +-23 +-46 +25 +33 +3 +-24 +-45 +24 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-4 +-28 +-50 +-67 +-82 +29 +57 +25 +0 +-25 +-47 +-65 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +68 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-40 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +9 +-17 +-41 +-59 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +2 +-23 +43 +49 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +30 +37 +5 +-21 +-44 +28 +35 +5 +-22 +-44 +24 +33 +2 +-23 +-46 +26 +33 +3 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-66 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +0 +-24 +43 +49 +15 +-13 +-37 +35 +41 +9 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +34 +4 +-23 +-45 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-18 +-42 +-59 +52 +28 +-3 +-27 +-48 +53 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-51 +49 +22 +-6 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +62 +28 +4 +-22 +-45 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-42 +-59 +50 +27 +-4 +-28 +-49 +53 +26 +-3 +-29 +-49 +49 +25 +-6 +-29 +-50 +50 +23 +-5 +-30 +-50 +48 +24 +-6 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-51 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +62 +28 +2 +-24 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +34 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +33 +1 +-23 +43 +49 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +29 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +34 +2 +-24 +-46 +25 +32 +1 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +32 +0 +-25 +-47 +21 +29 +1 +-15 +-38 +-59 +-74 +-89 +29 +56 +23 +-2 +-27 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +40 +66 +32 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +48 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +23 +33 +1 +-24 +-47 +24 +31 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-49 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +28 +54 +21 +-4 +-28 +-50 +-67 +-83 +30 +58 +26 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +51 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-23 +-46 +-63 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +46 +71 +36 +9 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-45 +25 +34 +2 +-24 +-46 +25 +32 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +21 +28 +-1 +-28 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-28 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-49 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-47 +21 +30 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +21 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +20 +27 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-66 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-41 +29 +38 +5 +-20 +-43 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +23 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-30 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-51 +48 +24 +-6 +-31 +-51 +48 +22 +-6 +-31 +-51 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-53 +46 +21 +-9 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +69 +34 +8 +-18 +-42 +-60 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +49 +15 +-12 +-36 +36 +42 +11 +-17 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +33 +1 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-46 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-2 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +20 +28 +0 +-16 +-38 +-59 +-75 +-89 +29 +54 +21 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +1 +-24 +43 +49 +15 +-13 +-36 +35 +40 +9 +-19 +-41 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +35 +3 +-23 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +57 +25 +1 +-24 +-47 +-65 +-80 +37 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +7 +-18 +-42 +-59 +52 +28 +-3 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-30 +-51 +49 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-23 +-46 +-64 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +50 +27 +-3 +-28 +-49 +52 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +24 +-5 +-30 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +44 +20 +-9 +-33 +-53 +47 +20 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-32 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-53 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +44 +20 +-9 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +34 +62 +28 +4 +-22 +-44 +-62 +-79 +38 +65 +31 +5 +-20 +-43 +-61 +-77 +42 +68 +34 +8 +-19 +-42 +-60 +-76 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +69 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +33 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +9 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +26 +34 +2 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +22 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +46 +70 +36 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +44 +70 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-45 +25 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-49 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-22 +-44 +-62 +-78 +40 +67 +32 +6 +-20 +-43 +-61 +-77 +39 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +30 +38 +6 +-20 +-43 +28 +35 +5 +-22 +-44 +26 +35 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +21 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-31 +-50 +48 +23 +-7 +-30 +-51 +48 +22 +-6 +-31 +-51 +47 +22 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +60 +26 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-45 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-52 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +27 +3 +-22 +-45 +-63 +-79 +39 +66 +32 +6 +-20 +-43 +-61 +-78 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +33 +1 +-24 +44 +50 +15 +-12 +-36 +35 +40 +9 +-19 +-41 +29 +38 +5 +-21 +-44 +27 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-46 +24 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-48 +21 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +23 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +0 +-24 +43 +49 +15 +-13 +-37 +35 +40 +9 +-19 +-41 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-46 +25 +33 +3 +-24 +-46 +24 +33 +1 +-25 +-47 +24 +31 +0 +-26 +-47 +22 +31 +0 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +23 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +0 +-17 +-39 +-59 +-75 +-90 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-25 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-6 +-31 +-50 +48 +24 +-6 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +23 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +34 +63 +29 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-13 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +24 +33 +1 +-24 +-46 +25 +33 +3 +-24 +-46 +24 +32 +1 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +23 +29 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +20 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +22 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +31 +0 +-25 +43 +49 +15 +-12 +-37 +35 +41 +10 +-18 +-41 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +32 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-46 +-64 +-80 +37 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-61 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +48 +22 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +20 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +28 +4 +-22 +-45 +-63 +-78 +38 +66 +32 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +31 +0 +-25 +-48 +21 +28 +-1 +-27 +-48 +22 +31 +0 +-25 +-47 +23 +29 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-27 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +37 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +33 +2 +-24 +-46 +25 +33 +3 +-24 +-45 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +22 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +28 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +0 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-31 +-50 +48 +24 +-7 +-31 +-51 +49 +22 +-7 +-32 +-51 +47 +23 +-8 +-31 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +2 +-23 +-46 +-64 +-80 +34 +62 +29 +4 +-22 +-44 +-62 +-79 +39 +66 +32 +7 +-19 +-42 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +49 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +49 +26 +-5 +-29 +-50 +50 +24 +-5 +-31 +-50 +48 +24 +-6 +-31 +-51 +47 +21 +-8 +-32 +-52 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-31 +-52 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-52 +45 +19 +-9 +-34 +-53 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +44 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-32 +-52 +45 +22 +-8 +-32 +-53 +48 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +40 +62 +28 +2 +-23 +-46 +-63 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +69 +34 +9 +-17 +-40 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +1 +-24 +43 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +26 +35 +3 +-22 +-45 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +23 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +66 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +46 +71 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +34 +8 +-18 +-42 +-60 +-76 +42 +69 +35 +8 +-17 +-41 +-59 +-76 +44 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-46 +24 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-48 +22 +29 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +29 +57 +24 +1 +-24 +-46 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +33 +2 +-25 +-46 +23 +32 +0 +-25 +-47 +24 +31 +0 +-26 +-47 +22 +31 +0 +-25 +-47 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-5 +-30 +-50 +49 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-51 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +67 +33 +7 +-18 +-42 +-60 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-28 +-49 +51 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-30 +-51 +46 +21 +-7 +-32 +-52 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +44 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +20 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +44 +20 +-9 +-33 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-34 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +39 +66 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +69 +33 +2 +-23 +43 +49 +14 +-13 +-37 +36 +42 +10 +-18 +-40 +30 +37 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-47 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +25 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +22 +29 +1 +-15 +-38 +-58 +-74 +-88 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +27 +35 +5 +-22 +-44 +25 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +23 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-46 +22 +31 +-1 +-26 +-48 +23 +31 +1 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +57 +25 +1 +-25 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-18 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-51 +50 +24 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-31 +-51 +47 +22 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +34 +62 +28 +4 +-22 +-44 +-62 +-79 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-20 +-43 +27 +35 +4 +-23 +-44 +25 +34 +2 +-23 +-46 +26 +33 +2 +-24 +-45 +24 +32 +0 +-25 +-47 +24 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +23 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +20 +28 +-1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-19 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +34 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-43 +27 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-45 +25 +32 +2 +-24 +-46 +23 +32 +0 +-25 +-47 +24 +31 +1 +-25 +-47 +22 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +30 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +21 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +0 +-25 +-47 +-64 +-80 +36 +63 +30 +5 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-6 +-29 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-51 +49 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 diff --git a/traces/modulation-fsk1a-50.pm3 b/traces/modulation-fsk1a-50.pm3 new file mode 100644 index 00000000..01153d4c --- /dev/null +++ b/traces/modulation-fsk1a-50.pm3 @@ -0,0 +1,20000 @@ +45 +-7 +-49 +-85 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-87 +11 +71 +90 +34 +-16 +-56 +-91 +-90 +10 +68 +88 +33 +-17 +-57 +-92 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +85 +31 +-19 +-59 +-94 +-91 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +85 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-91 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-53 +-6 +-37 +-74 +-106 +-37 +16 +-12 +-54 +-88 +-24 +26 +-6 +-48 +-83 +-19 +30 +-1 +-45 +-79 +-14 +36 +3 +-39 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +45 +103 +122 +63 +9 +-35 +-74 +-64 +32 +91 +109 +52 +-1 +-44 +-81 +-75 +22 +81 +100 +43 +-8 +-50 +-86 +-82 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +72 +91 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +85 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +32 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-53 +-5 +-36 +-73 +-105 +-36 +16 +-13 +-55 +-88 +-25 +26 +-6 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +44 +11 +-33 +-71 +-5 +43 +13 +-33 +-69 +-6 +44 +11 +-33 +-70 +-4 +44 +12 +-33 +-69 +-4 +46 +12 +-32 +-70 +-3 +45 +14 +-32 +-69 +-4 +46 +13 +-32 +-69 +-3 +44 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +45 +14 +-32 +-69 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-47 +47 +105 +124 +65 +10 +-34 +-73 +-64 +33 +91 +109 +52 +-1 +-43 +-81 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-88 +10 +70 +90 +35 +-16 +-56 +-92 +-91 +8 +68 +87 +32 +-17 +-58 +-93 +-90 +8 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +32 +-18 +-58 +-93 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-58 +-53 +-6 +-37 +-74 +-106 +-37 +16 +-12 +-54 +-88 +-25 +26 +-6 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-15 +35 +3 +-40 +-76 +-11 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-36 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +12 +-34 +-70 +-103 +-48 +46 +104 +123 +63 +9 +-35 +-74 +-64 +32 +91 +109 +51 +-1 +-44 +-81 +-76 +22 +82 +100 +44 +-7 +-49 +-86 +-83 +15 +74 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +91 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +30 +-19 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +85 +31 +-19 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +65 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-36 +16 +-13 +-54 +-88 +-26 +25 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +4 +-40 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-36 +-71 +-7 +44 +10 +-34 +-71 +-4 +43 +13 +-33 +-70 +-102 +-48 +45 +104 +122 +63 +9 +-35 +-73 +-65 +32 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +80 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +37 +-14 +-55 +-90 +-88 +10 +70 +89 +34 +-16 +-57 +-51 +-4 +-35 +-72 +-104 +-35 +18 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-17 +31 +0 +-44 +-78 +-14 +36 +3 +-39 +-76 +-10 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +11 +-33 +-70 +-5 +44 +12 +-34 +-71 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-64 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +82 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +72 +91 +36 +-14 +-55 +-91 +-88 +11 +70 +90 +35 +-15 +-56 +-92 +-90 +9 +69 +88 +32 +-17 +-57 +-93 +-91 +9 +68 +88 +33 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-91 +8 +67 +88 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +6 +45 +-6 +-48 +-50 +-1 +8 +-36 +-74 +-66 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +28 +-20 +-59 +-46 +13 +29 +-17 +-58 +-44 +14 +33 +-16 +-56 +-43 +17 +33 +-14 +-55 +-40 +17 +35 +-13 +-54 +-41 +18 +34 +-13 +-54 +-39 +18 +36 +-13 +-53 +-39 +20 +36 +-11 +-53 +-39 +18 +37 +-12 +-53 +-39 +20 +37 +-11 +-52 +-39 +19 +38 +-11 +-52 +-39 +19 +36 +-11 +-53 +-38 +20 +38 +-11 +-51 +-38 +20 +36 +-11 +-53 +-38 +20 +39 +-11 +-51 +-38 +21 +37 +-11 +-52 +-38 +19 +58 +73 +22 +-25 +-64 +-98 +-63 +36 +96 +116 +57 +3 +-40 +-78 +-73 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +39 +-12 +-53 +-89 +-85 +13 +72 +92 +37 +-14 +-54 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-89 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +66 +85 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-37 +15 +-13 +-54 +-88 +-25 +26 +-6 +-48 +-83 +-18 +30 +0 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +7 +-36 +-73 +-8 +41 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-5 +45 +11 +-33 +-70 +-4 +45 +13 +-33 +-69 +-4 +45 +12 +-33 +-70 +-3 +45 +13 +-33 +-69 +-3 +46 +13 +-32 +-69 +-3 +44 +12 +-33 +-69 +-3 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +46 +15 +-31 +-67 +-3 +46 +12 +-32 +-70 +-4 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-47 +48 +106 +124 +64 +10 +-35 +-73 +-64 +33 +91 +110 +53 +0 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-50 +-86 +-82 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +8 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +69 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-37 +16 +-13 +-54 +-88 +-25 +25 +-7 +-49 +-84 +-19 +31 +0 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-7 +43 +10 +-33 +-71 +-5 +44 +12 +-33 +-70 +-103 +-49 +46 +104 +122 +63 +9 +-35 +-74 +-64 +32 +90 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-90 +9 +69 +87 +32 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +65 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +46 +-5 +-47 +-50 +-2 +7 +-37 +-75 +-67 +-5 +17 +-29 +-67 +-53 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-60 +-47 +13 +30 +-17 +-58 +-44 +14 +32 +-16 +-56 +-43 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-40 +18 +58 +73 +22 +-26 +-64 +-98 +-64 +35 +95 +114 +56 +2 +-41 +-78 +-74 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +40 +-11 +-53 +-88 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-17 +-58 +-93 +-91 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-87 +-24 +27 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +6 +-39 +-74 +-9 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +45 +104 +123 +64 +9 +-35 +-73 +-64 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +70 +89 +33 +-16 +-57 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +65 +85 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-6 +-37 +-74 +-106 +-37 +15 +-12 +-54 +-87 +-25 +26 +-7 +-49 +-84 +-19 +30 +0 +-44 +-78 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +45 +11 +-33 +-71 +-5 +44 +12 +-34 +-71 +-103 +-48 +45 +104 +123 +64 +9 +-35 +-73 +-65 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +94 +38 +-13 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +46 +-4 +-47 +-49 +0 +9 +-35 +-74 +-65 +-3 +18 +-28 +-67 +-53 +6 +23 +-22 +-63 +-49 +10 +28 +-19 +-59 +-46 +13 +29 +-17 +-58 +-44 +14 +33 +-16 +-55 +-42 +17 +34 +-13 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +36 +-12 +-54 +-38 +18 +57 +72 +21 +-26 +-64 +-98 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +77 +96 +40 +-11 +-53 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +85 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +46 +-5 +-47 +-50 +-2 +7 +-36 +-75 +-67 +-5 +17 +-29 +-67 +-54 +5 +22 +-23 +-63 +-50 +8 +28 +-20 +-59 +-47 +12 +30 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +33 +-13 +-55 +-42 +16 +35 +-14 +-54 +-41 +18 +35 +-12 +-54 +-39 +18 +58 +73 +22 +-25 +-64 +-98 +-64 +35 +95 +115 +56 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +40 +-11 +-52 +-88 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-91 +-90 +9 +69 +89 +33 +-17 +-57 +-52 +-4 +-35 +-72 +-104 +-36 +16 +-12 +-54 +-87 +-25 +27 +-6 +-47 +-83 +-18 +31 +0 +-44 +-79 +-15 +36 +4 +-39 +-76 +-10 +38 +7 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-6 +45 +11 +-33 +-70 +-4 +45 +12 +-33 +-69 +-4 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-68 +-4 +46 +13 +-31 +-69 +-3 +44 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +47 +105 +124 +64 +10 +-34 +-72 +-64 +33 +92 +109 +52 +-1 +-43 +-80 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-85 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +10 +70 +90 +34 +-16 +-56 +-91 +-91 +8 +68 +87 +32 +-17 +-58 +-93 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-19 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +66 +85 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +5 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +6 +65 +85 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +5 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +46 +-5 +-47 +-50 +-2 +6 +-38 +-76 +-68 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +30 +-17 +-58 +-44 +13 +33 +-16 +-56 +-43 +17 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-40 +19 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-26 +-64 +-98 +-63 +36 +95 +115 +57 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-82 +17 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +89 +33 +-16 +-57 +-92 +-90 +10 +69 +88 +33 +-16 +-57 +-92 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +85 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-54 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-26 +25 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +42 +8 +-36 +-73 +-7 +41 +9 +-36 +-72 +-7 +45 +10 +-34 +-71 +-4 +43 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +10 +-35 +-73 +-65 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +81 +101 +44 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-13 +-53 +-89 +-86 +14 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-91 +-90 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-26 +26 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +36 +5 +-39 +-74 +-10 +42 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-5 +43 +10 +-34 +-71 +-4 +44 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +13 +-31 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +12 +-32 +-69 +-3 +45 +15 +-31 +-69 +-101 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +32 +-17 +-57 +-93 +-91 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +32 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-6 +-38 +-75 +-106 +-37 +16 +-13 +-54 +-88 +-25 +26 +-7 +-48 +-84 +-19 +29 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +76 +94 +38 +-13 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-54 +-5 +-37 +-74 +-106 +-38 +15 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +6 +-38 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-102 +-49 +46 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-49 +-86 +-84 +16 +76 +94 +39 +-12 +-53 +-89 +-87 +13 +72 +91 +35 +-15 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-52 +-5 +-36 +-73 +-105 +-35 +17 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-18 +31 +0 +-43 +-78 +-14 +37 +4 +-39 +-76 +-10 +37 +6 +-38 +-74 +-10 +42 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-33 +-71 +-4 +43 +12 +-33 +-70 +-102 +-48 +45 +104 +123 +63 +9 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +85 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +46 +-5 +-48 +-51 +-2 +7 +-36 +-75 +-68 +-5 +17 +-29 +-67 +-55 +5 +22 +-23 +-63 +-50 +8 +28 +-20 +-59 +-47 +12 +29 +-17 +-58 +-45 +14 +33 +-16 +-55 +-43 +16 +33 +-14 +-55 +-42 +17 +35 +-14 +-54 +-41 +19 +36 +-12 +-53 +-39 +18 +36 +-13 +-53 +-40 +19 +36 +-11 +-53 +-39 +19 +37 +-12 +-52 +-39 +20 +36 +-11 +-53 +-39 +20 +38 +-11 +-51 +-38 +20 +36 +-11 +-53 +-39 +19 +37 +-12 +-52 +-39 +21 +37 +-11 +-52 +-38 +20 +37 +-12 +-52 +-40 +20 +37 +-10 +-52 +-37 +20 +58 +74 +23 +-25 +-63 +-97 +-63 +37 +97 +116 +57 +4 +-39 +-77 +-74 +25 +83 +102 +45 +-7 +-48 +-85 +-81 +18 +78 +97 +40 +-11 +-52 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +11 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +65 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +5 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +85 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-12 +37 +5 +-39 +-75 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +12 +-33 +-69 +-4 +46 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-68 +-3 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +12 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +14 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +48 +106 +125 +65 +10 +-34 +-72 +-64 +34 +92 +110 +53 +0 +-43 +-80 +-76 +23 +83 +101 +45 +-7 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +91 +35 +-14 +-55 +-91 +-89 +10 +70 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-14 +-55 +-88 +-26 +26 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +4 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +47 +104 +123 +63 +9 +-35 +-73 +-65 +33 +92 +110 +52 +0 +-43 +-80 +-76 +22 +82 +100 +44 +-7 +-49 +-86 +-83 +16 +76 +95 +38 +-12 +-53 +-89 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +89 +34 +-16 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-57 +-93 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-92 +9 +69 +88 +32 +-17 +-57 +-92 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +46 +-4 +-47 +-51 +-3 +6 +-37 +-75 +-69 +-6 +16 +-30 +-68 +-55 +5 +23 +-22 +-63 +-51 +8 +27 +-20 +-59 +-48 +12 +30 +-17 +-57 +-45 +14 +33 +-16 +-55 +-44 +16 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-41 +18 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-25 +-64 +-97 +-63 +35 +96 +115 +57 +3 +-40 +-77 +-74 +24 +84 +102 +45 +-6 +-48 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-91 +-89 +11 +70 +90 +34 +-16 +-56 +-91 +-90 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +87 +32 +-17 +-58 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +9 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +32 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-38 +16 +-13 +-54 +-88 +-25 +26 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +38 +6 +-39 +-74 +-9 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +43 +12 +-33 +-70 +-102 +-49 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-77 +23 +83 +101 +44 +-7 +-49 +-85 +-84 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +35 +-15 +-56 +-91 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-55 +-7 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-87 +-25 +26 +-8 +-49 +-84 +-20 +30 +0 +-44 +-79 +-15 +37 +3 +-39 +-76 +-12 +37 +5 +-39 +-75 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-49 +46 +105 +123 +63 +9 +-35 +-73 +-64 +33 +92 +111 +53 +0 +-43 +-80 +-77 +22 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +9 +47 +-4 +-46 +-50 +-1 +7 +-36 +-74 +-67 +-4 +18 +-28 +-66 +-54 +7 +23 +-22 +-62 +-50 +8 +28 +-20 +-59 +-47 +13 +30 +-17 +-58 +-44 +14 +33 +-15 +-55 +-43 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-39 +17 +57 +73 +22 +-26 +-64 +-97 +-63 +37 +96 +115 +57 +3 +-40 +-77 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +18 +77 +95 +40 +-11 +-53 +-88 +-86 +13 +74 +93 +37 +-14 +-54 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-16 +-57 +-92 +-93 +8 +69 +88 +32 +-17 +-57 +-92 +-92 +9 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +46 +-5 +-47 +-51 +-3 +6 +-37 +-75 +-68 +-5 +16 +-29 +-67 +-54 +5 +23 +-23 +-63 +-51 +8 +27 +-21 +-60 +-48 +12 +30 +-17 +-58 +-44 +14 +32 +-16 +-56 +-44 +16 +33 +-14 +-55 +-41 +17 +35 +-13 +-53 +-42 +18 +35 +-12 +-54 +-40 +18 +57 +74 +23 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-87 +14 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-16 +-57 +-54 +-4 +-35 +-72 +-104 +-36 +17 +-12 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-19 +31 +0 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +6 +-38 +-74 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-6 +44 +10 +-34 +-71 +-4 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-5 +45 +13 +-33 +-69 +-3 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-68 +-4 +46 +13 +-32 +-69 +-3 +46 +15 +-31 +-68 +-101 +-47 +48 +106 +123 +64 +9 +-34 +-73 +-64 +34 +93 +111 +54 +0 +-42 +-80 +-76 +23 +82 +101 +44 +-7 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +12 +71 +89 +34 +-16 +-56 +-92 +-92 +9 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +85 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-95 +6 +65 +85 +30 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +30 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-19 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +46 +-5 +-47 +-52 +-3 +6 +-37 +-75 +-68 +-5 +16 +-30 +-67 +-55 +5 +22 +-23 +-63 +-51 +8 +28 +-20 +-59 +-48 +13 +30 +-17 +-57 +-45 +14 +32 +-16 +-56 +-43 +16 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-42 +18 +35 +-12 +-53 +-40 +18 +58 +74 +23 +-25 +-64 +-97 +-64 +35 +96 +116 +57 +3 +-40 +-77 +-73 +25 +84 +101 +45 +-7 +-49 +-85 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-91 +10 +70 +89 +33 +-17 +-57 +-92 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-39 +-76 +-107 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-49 +-84 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +5 +-39 +-74 +-10 +41 +8 +-35 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +46 +105 +124 +64 +9 +-35 +-73 +-65 +34 +93 +111 +53 +0 +-43 +-80 +-76 +23 +82 +100 +43 +-8 +-49 +-86 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-87 +12 +73 +92 +37 +-14 +-54 +-90 +-90 +11 +71 +89 +33 +-16 +-56 +-92 +-91 +9 +69 +89 +33 +-16 +-56 +-92 +-92 +9 +69 +87 +31 +-18 +-58 +-93 +-92 +9 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-17 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +8 +68 +87 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-14 +-55 +-88 +-26 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-12 +38 +6 +-38 +-74 +-10 +40 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +45 +12 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-33 +-69 +-5 +46 +13 +-32 +-69 +-4 +45 +12 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +125 +65 +11 +-33 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-76 +24 +82 +101 +45 +-7 +-49 +-85 +-84 +15 +75 +95 +38 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +88 +33 +-17 +-57 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-55 +-6 +-38 +-75 +-107 +-38 +16 +-13 +-55 +-88 +-26 +26 +-7 +-49 +-84 +-20 +30 +-1 +-44 +-79 +-15 +35 +2 +-40 +-77 +-11 +38 +5 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +45 +11 +-33 +-70 +-5 +44 +12 +-34 +-71 +-103 +-48 +47 +105 +124 +64 +10 +-34 +-72 +-65 +33 +92 +109 +52 +0 +-43 +-80 +-76 +23 +83 +101 +44 +-8 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-90 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +66 +86 +31 +-18 +-59 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +88 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-14 +-55 +-89 +-26 +25 +-8 +-49 +-84 +-19 +31 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-12 +37 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-8 +41 +9 +-35 +-71 +-7 +43 +10 +-33 +-71 +-5 +43 +12 +-34 +-71 +-103 +-49 +47 +106 +124 +64 +10 +-34 +-73 +-64 +33 +92 +110 +52 +0 +-43 +-80 +-76 +23 +83 +101 +44 +-7 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-87 +14 +74 +93 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-52 +-5 +-37 +-73 +-105 +-37 +17 +-12 +-54 +-87 +-24 +27 +-6 +-47 +-83 +-19 +31 +0 +-44 +-78 +-15 +35 +3 +-40 +-76 +-10 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +47 +106 +124 +64 +10 +-34 +-72 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +83 +101 +44 +-8 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-90 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +10 +69 +88 +32 +-17 +-57 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +46 +-6 +-47 +-52 +-3 +7 +-37 +-75 +-68 +-5 +17 +-29 +-67 +-55 +5 +22 +-23 +-63 +-51 +8 +27 +-20 +-59 +-47 +12 +29 +-17 +-58 +-45 +14 +32 +-16 +-56 +-44 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-54 +-42 +18 +35 +-12 +-54 +-39 +18 +37 +-12 +-53 +-40 +20 +37 +-11 +-53 +-39 +18 +37 +-12 +-52 +-40 +20 +37 +-10 +-52 +-39 +18 +37 +-12 +-52 +-39 +21 +37 +-11 +-52 +-38 +19 +38 +-11 +-51 +-40 +20 +37 +-10 +-52 +-38 +19 +38 +-11 +-51 +-39 +20 +36 +-11 +-53 +-38 +19 +59 +75 +23 +-24 +-63 +-97 +-63 +37 +97 +116 +57 +3 +-40 +-77 +-74 +25 +84 +103 +46 +-6 +-48 +-84 +-82 +18 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +73 +93 +37 +-14 +-55 +-90 +-89 +12 +71 +90 +34 +-16 +-56 +-91 +-91 +10 +69 +89 +33 +-17 +-57 +-92 +-92 +8 +69 +88 +33 +-17 +-57 +-92 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-38 +16 +-14 +-55 +-89 +-26 +25 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +9 +-36 +-71 +-6 +45 +10 +-33 +-71 +-5 +44 +13 +-33 +-69 +-6 +45 +11 +-33 +-70 +-4 +44 +12 +-33 +-69 +-5 +46 +12 +-32 +-70 +-4 +45 +14 +-32 +-68 +-4 +47 +13 +-31 +-69 +-4 +44 +12 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +15 +-31 +-67 +-4 +46 +12 +-32 +-70 +-3 +45 +14 +-32 +-68 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +12 +-32 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-75 +23 +82 +101 +44 +-7 +-49 +-85 +-83 +16 +77 +95 +39 +-11 +-53 +-88 +-86 +13 +73 +93 +36 +-14 +-54 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-92 +9 +68 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-58 +-93 +-92 +9 +69 +88 +33 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +9 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-13 +-55 +-88 +-26 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +2 +-40 +-77 +-11 +37 +6 +-38 +-74 +-9 +42 +7 +-36 +-73 +-8 +41 +9 +-36 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-102 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +101 +45 +-7 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +92 +37 +-14 +-54 +-90 +-90 +11 +71 +90 +34 +-16 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-17 +-58 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +45 +-5 +-47 +-52 +-3 +6 +-38 +-76 +-68 +-5 +16 +-29 +-67 +-56 +5 +23 +-23 +-63 +-51 +8 +27 +-20 +-60 +-48 +13 +30 +-17 +-58 +-45 +14 +32 +-16 +-56 +-44 +17 +34 +-13 +-55 +-41 +17 +35 +-14 +-54 +-42 +18 +35 +-13 +-54 +-40 +18 +58 +74 +23 +-25 +-64 +-97 +-64 +36 +96 +115 +57 +3 +-40 +-78 +-73 +25 +84 +102 +45 +-6 +-48 +-85 +-82 +18 +77 +95 +40 +-11 +-52 +-88 +-87 +14 +73 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-56 +-8 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-20 +31 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +38 +6 +-39 +-74 +-10 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +34 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +89 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +9 +69 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-7 +-38 +-75 +-107 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-16 +35 +3 +-40 +-77 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +9 +-36 +-72 +-7 +45 +11 +-33 +-71 +-5 +43 +12 +-33 +-70 +-103 +-48 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +76 +95 +39 +-12 +-53 +-88 +-87 +14 +73 +91 +35 +-15 +-55 +-91 +-89 +11 +71 +90 +35 +-16 +-56 +-91 +-92 +9 +47 +-4 +-46 +-50 +0 +8 +-35 +-74 +-66 +-4 +18 +-28 +-66 +-54 +6 +23 +-22 +-62 +-50 +9 +29 +-19 +-59 +-46 +12 +29 +-17 +-58 +-45 +14 +33 +-16 +-55 +-42 +17 +34 +-13 +-54 +-42 +16 +35 +-13 +-54 +-41 +18 +36 +-11 +-53 +-39 +18 +57 +72 +21 +-26 +-64 +-98 +-64 +36 +97 +116 +57 +3 +-40 +-77 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +46 +-5 +-47 +-51 +-2 +6 +-37 +-75 +-67 +-5 +17 +-29 +-67 +-55 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +29 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-41 +19 +36 +-12 +-53 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +57 +4 +-40 +-78 +-74 +25 +83 +102 +45 +-6 +-48 +-85 +-82 +18 +78 +95 +39 +-12 +-53 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-92 +-90 +10 +70 +89 +34 +-16 +-56 +-54 +-4 +-36 +-73 +-104 +-37 +16 +-12 +-54 +-87 +-24 +27 +-6 +-48 +-83 +-20 +31 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-5 +45 +11 +-33 +-70 +-4 +45 +13 +-33 +-69 +-5 +46 +12 +-32 +-70 +-3 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-102 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +33 +92 +111 +53 +0 +-43 +-80 +-75 +23 +83 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +66 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-95 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +46 +-5 +-47 +-52 +-3 +6 +-37 +-76 +-68 +-5 +16 +-29 +-67 +-55 +6 +23 +-22 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +30 +-17 +-57 +-44 +13 +32 +-16 +-56 +-44 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-42 +18 +35 +-12 +-54 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +17 +76 +94 +38 +-12 +-53 +-89 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +70 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +33 +-17 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-88 +-24 +26 +-7 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-16 +35 +2 +-40 +-76 +-11 +38 +5 +-39 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +9 +-36 +-72 +-7 +44 +10 +-33 +-71 +-5 +44 +11 +-34 +-71 +-103 +-48 +47 +104 +123 +64 +9 +-35 +-73 +-65 +32 +91 +109 +52 +-1 +-44 +-80 +-76 +23 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +35 +-14 +-55 +-91 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-91 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +65 +85 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-26 +25 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +35 +3 +-39 +-76 +-11 +36 +5 +-39 +-74 +-10 +42 +8 +-36 +-72 +-7 +41 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-6 +45 +11 +-33 +-71 +-4 +45 +13 +-32 +-69 +-4 +47 +12 +-32 +-70 +-4 +45 +13 +-32 +-69 +-4 +47 +13 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-7 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +33 +-17 +-58 +-92 +-91 +8 +69 +88 +33 +-17 +-57 +-93 +-92 +9 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-20 +31 +0 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-75 +-10 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-64 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-88 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-70 +-102 +-48 +47 +105 +123 +63 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +44 +-7 +-49 +-85 +-84 +16 +76 +95 +38 +-12 +-53 +-89 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-52 +-5 +-36 +-73 +-105 +-36 +18 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-19 +31 +0 +-44 +-78 +-14 +37 +4 +-39 +-76 +-10 +38 +5 +-39 +-74 +-9 +41 +8 +-35 +-72 +-6 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-4 +44 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-75 +23 +82 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +45 +-5 +-47 +-51 +-2 +6 +-37 +-75 +-67 +-6 +16 +-30 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-47 +12 +29 +-18 +-58 +-44 +14 +33 +-15 +-55 +-43 +16 +33 +-14 +-55 +-42 +16 +36 +-13 +-53 +-40 +19 +35 +-12 +-54 +-39 +18 +36 +-13 +-53 +-40 +20 +37 +-11 +-53 +-39 +19 +37 +-12 +-53 +-40 +19 +36 +-11 +-53 +-38 +20 +38 +-11 +-51 +-38 +20 +36 +-12 +-53 +-39 +19 +38 +-11 +-52 +-38 +21 +37 +-10 +-52 +-39 +19 +38 +-11 +-52 +-39 +20 +37 +-10 +-52 +-38 +19 +59 +73 +22 +-26 +-64 +-98 +-63 +37 +97 +116 +58 +4 +-39 +-77 +-74 +25 +84 +102 +45 +-7 +-49 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +74 +93 +37 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +86 +30 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-13 +-55 +-88 +-26 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +5 +-39 +-74 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +13 +-33 +-69 +-5 +45 +10 +-33 +-71 +-4 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-70 +-4 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +12 +-32 +-69 +-3 +45 +15 +-31 +-68 +-3 +46 +12 +-32 +-69 +-3 +45 +14 +-32 +-69 +-3 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-46 +48 +107 +125 +65 +11 +-34 +-72 +-64 +33 +92 +110 +52 +-1 +-43 +-80 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-92 +-91 +8 +67 +87 +32 +-17 +-58 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-12 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +37 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +8 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +87 +32 +-17 +-58 +-93 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +46 +-4 +-47 +-51 +-2 +6 +-37 +-75 +-68 +-6 +16 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +27 +-20 +-60 +-48 +13 +30 +-17 +-58 +-45 +14 +33 +-16 +-56 +-43 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-12 +-53 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +24 +83 +102 +45 +-7 +-48 +-85 +-82 +18 +77 +95 +39 +-12 +-53 +-88 +-86 +13 +73 +93 +37 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-6 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-88 +-24 +26 +-7 +-48 +-83 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +8 +-35 +-72 +-7 +41 +10 +-35 +-71 +-6 +45 +10 +-34 +-71 +-5 +43 +12 +-34 +-70 +-103 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +33 +91 +109 +51 +-1 +-44 +-81 +-75 +22 +82 +100 +44 +-8 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +68 +88 +32 +-17 +-57 +-92 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-55 +-7 +-38 +-74 +-106 +-37 +16 +-12 +-54 +-87 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +5 +-39 +-74 +-10 +42 +9 +-35 +-72 +-6 +41 +10 +-35 +-71 +-7 +44 +9 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +45 +104 +123 +63 +9 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +93 +37 +-13 +-54 +-90 +-89 +11 +71 +89 +33 +-16 +-56 +-92 +-91 +9 +47 +-4 +-46 +-49 +-1 +8 +-35 +-74 +-66 +-4 +17 +-28 +-67 +-53 +7 +24 +-22 +-62 +-50 +9 +27 +-20 +-59 +-46 +13 +30 +-17 +-58 +-44 +14 +33 +-15 +-55 +-43 +16 +33 +-14 +-55 +-40 +17 +36 +-13 +-53 +-41 +19 +35 +-12 +-53 +-39 +18 +57 +73 +22 +-25 +-64 +-97 +-63 +36 +96 +115 +57 +3 +-40 +-78 +-73 +25 +83 +102 +45 +-6 +-48 +-85 +-82 +17 +76 +95 +39 +-12 +-53 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +8 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +46 +-5 +-47 +-51 +-2 +5 +-38 +-76 +-68 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +27 +-20 +-59 +-47 +13 +30 +-17 +-57 +-44 +13 +32 +-16 +-56 +-43 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-40 +18 +58 +73 +22 +-25 +-64 +-97 +-64 +34 +95 +115 +56 +2 +-41 +-78 +-74 +25 +84 +102 +45 +-7 +-48 +-85 +-82 +17 +76 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-90 +10 +69 +89 +33 +-17 +-57 +-53 +-4 +-35 +-72 +-104 +-36 +17 +-12 +-54 +-87 +-25 +26 +-6 +-48 +-83 +-19 +31 +0 +-43 +-78 +-15 +36 +3 +-39 +-76 +-11 +38 +6 +-39 +-74 +-9 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-6 +45 +11 +-33 +-71 +-4 +45 +14 +-32 +-69 +-4 +47 +12 +-32 +-70 +-3 +45 +13 +-33 +-69 +-4 +47 +14 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-68 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-31 +-69 +-101 +-47 +47 +105 +124 +64 +9 +-35 +-73 +-64 +34 +93 +110 +52 +-1 +-43 +-80 +-76 +22 +81 +101 +45 +-7 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +93 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-92 +8 +68 +88 +32 +-17 +-57 +-93 +-91 +9 +68 +88 +33 +-17 +-57 +-93 +-92 +9 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +5 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +45 +-5 +-47 +-51 +-2 +6 +-38 +-76 +-67 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +28 +-20 +-59 +-47 +13 +30 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +34 +-13 +-54 +-42 +16 +35 +-14 +-54 +-41 +19 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-25 +-64 +-98 +-64 +35 +95 +115 +56 +3 +-40 +-78 +-73 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-94 +7 +66 +86 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-55 +-7 +-38 +-74 +-106 +-37 +16 +-12 +-54 +-87 +-25 +26 +-7 +-49 +-84 +-19 +29 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +42 +8 +-35 +-72 +-7 +41 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +46 +104 +123 +63 +9 +-35 +-73 +-64 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-91 +8 +68 +88 +33 +-17 +-57 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-25 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +44 +12 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-68 +-4 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +92 +109 +52 +-1 diff --git a/traces/modulation-fsk2-50.pm3 b/traces/modulation-fsk2-50.pm3 new file mode 100644 index 00000000..667ab674 --- /dev/null +++ b/traces/modulation-fsk2-50.pm3 @@ -0,0 +1,20000 @@ +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-17 +-38 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-25 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +41 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-43 +-62 +-76 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +39 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +37 +7 +-19 +-41 +-59 +-74 +77 +62 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-24 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +4 +-20 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-59 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-22 +-43 +-61 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +27 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-77 +-89 +79 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +79 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +69 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +66 +38 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +81 +68 +42 +34 +5 +-22 +-42 +-61 +-75 +-88 +83 +68 +43 +34 +4 +-22 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +26 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +66 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +6 +-21 +-41 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-88 +78 +67 +39 +33 +3 +-22 +-44 +-61 +-76 +-88 +79 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +62 +35 +5 +-21 +-42 +-61 +-75 +76 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +65 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +62 +34 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +27 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +41 +33 +3 +-22 +-44 +-61 +-76 +-87 +80 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +34 +3 +-21 +-43 +-61 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-23 +-44 +-62 +-77 +-89 +78 +63 +37 +30 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +82 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +7 +-20 +-40 +-60 +-74 +77 +62 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-4 +-28 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +83 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-59 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +7 +-19 +-40 +-60 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +63 +36 +6 +-20 +-41 +-60 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +74 +59 +32 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +58 +31 +26 +-4 +-27 +-49 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +80 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +76 +63 +35 +6 +-21 +-41 +-60 +-74 +75 +61 +33 +3 +-22 +-43 +-62 +-76 +75 +60 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +3 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +1 +-24 +-45 +-63 +-77 +72 +59 +31 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-23 +-44 +-62 +-77 +-89 +78 +63 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-23 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +44 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +37 +7 +-20 +-41 +-59 +-74 +77 +62 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +1 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +76 +63 +35 +6 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +6 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +-89 +79 +64 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-74 +77 +64 +36 +7 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-22 +-42 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +77 +63 +36 +7 +-20 +-41 +-60 +-74 +77 +63 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +75 +64 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +27 +-3 +-27 +-48 +-65 +-80 +-90 +75 +65 +37 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +39 +32 +1 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +78 +64 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-22 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +63 +38 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +31 +2 +-24 +-44 +-62 +-77 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +82 +69 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +6 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +37 +7 +-20 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +60 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +75 +64 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +69 +40 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +61 +32 +3 +-22 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +77 +65 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +79 +68 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +79 +66 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-60 +-75 +76 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +65 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +67 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +68 +42 +33 +5 +-22 +-42 +-61 +-75 +-88 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +27 +-3 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +32 +1 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +33 +2 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-90 +75 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-76 +-87 +79 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +7 +-20 +-40 +-59 +-74 +77 +63 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +74 +59 +31 +25 +-4 +-28 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +5 +-20 +-43 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +37 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +7 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +34 +3 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +60 +33 +3 +-22 +-43 +-61 +-76 +75 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +2 +-23 +-43 +-62 +-76 +73 +60 +32 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +11 +-16 +-38 +-57 +-71 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +79 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +33 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +7 +-20 +-41 +-59 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +41 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +2 +-23 +-44 +-62 +-76 +73 +58 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +69 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-76 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +10 +-17 +-38 +-57 +-72 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-20 +-41 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +31 +0 +-24 +-45 +-63 +-78 +-88 +78 +67 +39 +32 +2 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +80 +66 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +76 +62 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +27 +-3 +-27 +-48 +-65 +-79 +-90 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +69 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-56 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +29 +0 +-25 +-45 +-63 +-77 +-89 +79 +66 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +7 +-19 +-41 +-60 +-74 +76 +62 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-25 +-46 +-63 +-78 +-89 +79 +68 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +41 +11 +-16 +-38 +-57 +-72 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +60 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +31 +1 +-24 +-45 +-62 +-77 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-38 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +67 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +78 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +58 +31 +26 +-4 +-28 +-48 +-65 +-80 +-91 +75 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-87 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +83 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +36 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +12 +-16 +-37 +-56 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +6 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +58 +31 +1 +-24 +-44 +-63 +-77 +-89 +78 +64 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +63 +36 +7 +-20 +-41 +-60 +-74 +76 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +36 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +34 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +12 +-16 +-37 +-57 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-62 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +76 +62 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-44 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +77 +63 +35 +6 +-20 +-41 +-60 +-74 +76 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-88 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-76 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-59 +-75 +-86 +82 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-59 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-72 +80 +66 +38 +8 +-19 +-40 +-59 +-73 +76 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +61 +33 +3 +-23 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +27 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-20 +-40 +-59 +-74 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +72 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +58 +31 +1 +-24 +-44 +-63 +-77 +72 +59 +31 +3 +-23 +-44 +-62 +-76 +-89 +77 +63 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +69 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +6 +-20 +-41 +-60 +-74 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +3 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +72 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +32 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +58 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +64 +38 +29 +0 +-25 +-45 +-63 +-77 +-89 +80 +67 +41 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +60 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-78 +-89 +78 +67 +38 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +68 +40 +33 +3 +-21 +-44 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +80 +65 +36 +7 +-20 +-40 +-59 +-74 +77 +63 +35 +6 +-20 +-41 +-60 +-74 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +69 +41 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +79 +64 +38 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +67 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +65 +37 +7 +-19 +-40 +-59 +-74 +76 +62 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +73 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +75 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +32 +1 +-23 +-45 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 diff --git a/traces/modulation-fsk2a-40.pm3 b/traces/modulation-fsk2a-40.pm3 new file mode 100644 index 00000000..aa83baca --- /dev/null +++ b/traces/modulation-fsk2a-40.pm3 @@ -0,0 +1,20000 @@ +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-72 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +36 +26 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +79 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-65 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +65 +37 +5 +-20 +-43 +-61 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +22 +-6 +-31 +-50 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-86 +83 +70 +42 +32 +3 +-23 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-26 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +71 +44 +11 +-15 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-83 +85 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +45 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-26 +-46 +-65 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +84 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +84 +71 +42 +10 +-17 +-40 +-58 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-73 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +59 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +28 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +6 +-19 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +62 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +22 +-6 +-31 +-51 +-69 +-82 +-91 +78 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +72 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-84 +85 +72 +45 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +57 +30 +-1 +-26 +-48 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-86 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +84 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-26 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-52 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +85 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +0 +-24 +-46 +-63 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-26 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +29 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +31 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +38 +27 +-2 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +1 +-24 +-45 +-64 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-92 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +83 +71 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-76 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +80 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +4 +-23 +-43 +-63 +-77 +-84 +85 +71 +43 +33 +4 +-22 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +45 +34 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-23 +-46 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +3 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-45 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +67 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +85 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-82 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-26 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-85 +84 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +84 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +1 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +76 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-25 +-46 +-65 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +4 +-22 +-44 +-63 +-77 +-84 +84 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +83 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +71 +44 +11 +-15 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-52 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +38 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +80 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-1 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +3 +-23 +-43 +-63 +-77 +-85 +84 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-84 +84 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +21 +-7 +-32 +-52 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-5 +-31 +-50 +-68 +-82 +-91 +77 +64 +37 +28 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-24 +-44 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +88 +66 +37 +6 +-20 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +63 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-84 +85 +71 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-78 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-84 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +36 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-62 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +65 +37 +26 +-3 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +3 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-23 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +84 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-76 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +78 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +41 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-40 +-58 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +90 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +84 +61 +32 +22 +-6 +-31 +-51 +-69 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +85 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-26 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-26 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-1 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +85 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-63 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +89 +66 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +1 +-26 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +57 +29 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-6 +-31 +-51 +-69 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-26 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +83 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +32 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-85 +84 +70 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +86 +72 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +43 +33 +4 +-23 +-43 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +34 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +43 +10 +-16 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +67 +39 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-6 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-26 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +21 +-6 +-31 +-51 +-69 +-82 +-91 +78 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +32 +1 +-24 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-44 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-69 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +87 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +83 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +39 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-3 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +33 +1 +-24 +-45 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +43 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +43 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +39 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-20 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-23 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +63 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-76 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +79 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +81 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-1 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +3 +-24 +-44 +-63 +-77 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-24 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +57 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +3 +-24 +-45 +-63 +-77 +-86 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-5 +-31 +-50 +-68 +-82 +-91 +77 +65 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +81 +67 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +80 +67 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +83 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +33 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +45 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-82 +-92 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-44 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +76 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-25 +-46 +-65 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +85 +72 +43 +10 +-16 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +84 +61 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-23 +-45 +-63 +-75 +84 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 diff --git a/traces/modulation-fsk2a-50.pm3 b/traces/modulation-fsk2a-50.pm3 new file mode 100644 index 00000000..3fd2d18b --- /dev/null +++ b/traces/modulation-fsk2a-50.pm3 @@ -0,0 +1,20000 @@ +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +71 +64 +38 +29 +-1 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +30 +1 +-25 +-45 +-63 +-78 +-90 +78 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-89 +79 +71 +44 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +12 +-15 +-38 +-56 +-72 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-57 +-72 +85 +66 +38 +6 +-19 +-41 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +42 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +60 +31 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +37 +5 +-20 +-42 +-60 +-75 +81 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-62 +-78 +-89 +77 +72 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +2 +-22 +-44 +-62 +-77 +81 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +60 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +60 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +71 +64 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +75 +67 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +73 +65 +38 +29 +0 +-26 +-46 +-64 +-78 +-91 +76 +68 +41 +32 +2 +-24 +-44 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +67 +39 +7 +-19 +-41 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +84 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-77 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +71 +41 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +80 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +86 +67 +39 +7 +-18 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-64 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +72 +42 +33 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +29 +-1 +-26 +-46 +-65 +-78 +-91 +76 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +40 +33 +2 +-23 +-45 +-62 +-77 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +35 +3 +-21 +-44 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +3 +-21 +-44 +-61 +-77 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +73 +44 +36 +5 +-20 +-43 +-61 +-76 +-87 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +74 +44 +36 +4 +-21 +-43 +-61 +-75 +83 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-76 +82 +61 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +33 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-24 +-45 +-63 +-77 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +65 +38 +27 +-1 +-27 +-47 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +4 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +73 +46 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +85 +67 +39 +6 +-19 +-42 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +70 +44 +11 +-15 +-38 +-56 +-72 +86 +66 +39 +6 +-19 +-41 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +63 +38 +28 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-89 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +-90 +72 +66 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-44 +-62 +-77 +81 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +63 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +78 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-41 +-59 +-74 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +82 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +24 +-4 +-30 +-49 +-67 +-81 +-93 +72 +65 +39 +29 +0 +-26 +-46 +-64 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +71 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +46 +12 +-14 +-37 +-56 +-71 +86 +67 +39 +7 +-18 +-41 +-59 +-74 +81 +63 +36 +5 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-23 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +70 +43 +32 +3 +-23 +-44 +-62 +-77 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +86 +67 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +65 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +23 +-5 +-31 +-50 +-68 +-81 +-93 +73 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +32 +3 +-24 +-44 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +43 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +80 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +-90 +71 +65 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-77 +-89 +76 +70 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +83 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +76 +68 +41 +31 +1 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-46 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +67 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +75 +70 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-60 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-60 +-75 +85 +66 +38 +6 +-20 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +32 +1 +-24 +-45 +-63 +-78 +80 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +65 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +42 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +5 +-22 +-43 +-62 +-76 +-89 +78 +71 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +71 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +86 +67 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +45 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +5 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +72 +45 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +7 +-19 +-42 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +73 +43 +34 +3 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +83 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-21 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-76 +81 +61 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-94 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +83 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +72 +65 +39 +29 +0 +-26 +-46 +-65 +-78 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +71 +44 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +66 +39 +6 +-19 +-41 +-59 +-75 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +82 +62 +35 +3 +-22 +-44 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-76 +-88 +77 +74 +44 +35 +3 +-21 +-44 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-89 +79 +72 +44 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-2 +-26 +-48 +-65 +-80 +-91 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +43 +35 +3 +-22 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-77 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +6 +-19 +-41 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +33 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +76 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +3 +-22 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-45 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-21 +-44 +-61 +-76 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +77 +74 +45 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-75 +85 +66 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +33 +2 +-22 +-44 +-62 +-77 +81 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +78 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +46 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +73 +45 +12 +-14 +-37 +-56 +-72 +85 +66 +39 +6 +-19 +-41 +-59 +-75 +83 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +35 +3 +-22 +-44 +-62 +-76 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +22 +-6 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +37 +28 +0 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-88 +78 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +82 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +76 +70 +41 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +77 +71 +42 +33 +3 +-22 +-44 +-62 +-77 +-89 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +71 +63 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +78 +70 +44 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-22 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +60 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +73 +65 +38 +29 +0 +-26 +-46 +-64 +-78 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +81 +59 +31 +22 +-6 +-31 +-50 +-68 +-81 +-94 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-61 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-77 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-77 +-89 +76 +71 +41 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +70 +40 +33 +2 +-23 +-45 +-62 +-77 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-75 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +3 +-21 +-44 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +72 +42 +33 +2 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +73 +44 +36 +5 +-20 +-43 +-60 +-75 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +81 +61 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +22 +-5 +-30 +-50 +-68 +-81 +-93 +73 +65 +38 +28 +0 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +32 +3 +-23 +-44 +-62 +-77 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-61 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +1 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-77 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +12 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +65 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +73 +43 +35 +3 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-45 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 diff --git a/traces/modulation-psk1-32-4.pm3 b/traces/modulation-psk1-32-4.pm3 new file mode 100644 index 00000000..504c305f --- /dev/null +++ b/traces/modulation-psk1-32-4.pm3 @@ -0,0 +1,20000 @@ +8 +52 +65 +26 +-13 +-46 +-6 +17 +-20 +-52 +1 +14 +-23 +-54 +3 +17 +-20 +-52 +5 +19 +-18 +-50 +5 +20 +-18 +-50 +6 +21 +-16 +-49 +8 +22 +-16 +-49 +-75 +-98 +55 +101 +51 +7 +11 +11 +-25 +-57 +5 +24 +-14 +-47 +6 +21 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +21 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +22 +-15 +-48 +8 +23 +-14 +-47 +9 +23 +-15 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +8 +23 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-14 +-46 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-47 +9 +23 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +28 +-10 +-44 +-4 +18 +-19 +-51 +3 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-49 +7 +21 +-16 +-49 +7 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +23 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +-74 +-98 +56 +102 +52 +8 +12 +12 +-24 +-56 +6 +25 +-14 +-47 +8 +22 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +8 +23 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-46 +10 +23 +-15 +-47 +9 +23 +-15 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +54 +67 +28 +-10 +-44 +-5 +18 +-19 +-51 +2 +15 +-21 +-53 +4 +18 +-19 +-51 +5 +19 +-18 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +7 +22 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-14 +-47 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +-74 +-97 +55 +102 +52 +8 +12 +13 +-23 +-55 +6 +25 +-13 +-46 +8 +22 +-16 +-49 +8 +21 +-16 +-49 +7 +22 +-16 +-48 +8 +22 +-15 +-48 +9 +23 +-15 +-48 +9 +21 +-17 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +29 +-10 +-44 +-4 +18 +-19 +-51 +2 +15 +-22 +-53 +3 +18 +-19 +-51 +5 +19 +-18 +-50 +6 +20 +-17 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-75 +-98 +54 +100 +50 +6 +11 +12 +-25 +-56 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-13 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-13 +-46 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +25 +-13 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +54 +67 +28 +-10 +-44 +-4 +18 +-19 +-51 +3 +16 +-21 +-53 +3 +18 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-48 +-75 +-99 +54 +101 +51 +7 +11 +11 +-25 +-57 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +53 +67 +29 +-10 +-44 +-5 +17 +-20 +-52 +1 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +5 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +-75 +-99 +53 +100 +51 +6 +11 +12 +-25 +-56 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +29 +-10 +-44 +-5 +18 +-19 +-51 +2 +16 +-21 +-53 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +-75 +-99 +53 +101 +51 +7 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +6 +21 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +52 +65 +27 +-12 +-46 +-6 +16 +-21 +-53 +1 +14 +-23 +-54 +2 +17 +-20 +-52 +4 +19 +-18 +-51 +5 +20 +-18 +-50 +7 +20 +-17 +-50 +6 +21 +-17 +-49 +-76 +-99 +53 +100 +51 +6 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +7 +21 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +54 +67 +28 +-11 +-44 +-5 +18 +-19 +-52 +2 +16 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-17 +-50 +6 +20 +-18 +-50 +6 +21 +-16 +-49 +7 +22 +-15 +-48 +-75 +-99 +53 +101 +51 +7 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +7 +22 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +9 +52 +65 +27 +-12 +-46 +-6 +17 +-20 +-52 +1 +14 +-23 +-55 +1 +17 +-20 +-52 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +7 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +-74 +-98 +54 +101 +51 +7 +13 +13 +-24 +-55 +6 +24 +-14 +-47 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +8 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +54 +68 +29 +-10 +-44 +-5 +18 +-20 +-52 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +6 +20 +-18 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-49 +7 +22 +-16 +-49 +-75 +-99 +52 +100 +50 +6 +11 +13 +-24 +-56 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +7 +21 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +21 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +54 +67 +29 +-10 +-44 +-5 +17 +-20 +-52 +2 +16 +-21 +-53 +4 +19 +-18 +-51 +5 +19 +-18 +-50 +4 +20 +-18 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +-75 +-99 +51 +100 +50 +6 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +22 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +8 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +54 +68 +30 +-10 +-44 +-5 +17 +-20 +-52 +2 +16 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-18 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +-75 +-98 +53 +101 +51 +7 +13 +13 +-24 +-56 +5 +25 +-13 +-47 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +54 +68 +30 +-10 +-44 +-5 +17 +-20 +-52 +1 +16 +-21 +-53 +4 +19 +-18 +-51 +6 +20 +-17 +-50 +5 +20 +-18 +-50 +6 +22 +-16 +-49 +8 +22 +-15 +-48 +-75 +-99 +51 +100 +50 +6 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +21 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +21 +-17 +-49 +7 +22 +-16 +-49 +7 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +68 +30 +-9 +-44 +-5 +17 +-20 +-52 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +-76 +-99 +51 +100 +50 +6 +11 +12 +-24 +-56 +5 +25 +-13 +-47 +7 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +52 +66 +28 +-11 +-45 +-7 +16 +-21 +-53 +1 +14 +-22 +-54 +2 +18 +-20 +-52 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-49 +7 +22 +-16 +-49 +-76 +-99 +51 +100 +50 +6 +13 +12 +-24 +-56 +4 +24 +-15 +-48 +7 +22 +-17 +-49 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +53 +68 +30 +-9 +-44 +-5 +17 +-20 +-53 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +21 +-17 +-50 +6 +20 +-17 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +-75 +-98 +51 +101 +51 +6 +14 +14 +-23 +-55 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-48 +7 +23 +-16 +-48 +9 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +23 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +68 +30 +-9 +-44 +-5 +18 +-20 +-52 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +20 +-18 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-16 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +-75 +-98 +51 +101 +51 +6 +13 +14 +-23 +-55 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +53 +68 +30 +-9 +-43 +-6 +17 +-20 +-53 +3 +16 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +50 +99 +49 +5 +12 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +54 +67 +30 +-9 +-44 +-6 +17 +-21 +-53 +2 +16 +-21 +-53 +4 +18 +-19 +-51 +4 +20 +-18 +-50 +5 +21 +-17 +-50 +8 +22 +-16 +-49 +8 +21 +-17 +-50 +-76 +-100 +49 +100 +50 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +52 +67 +30 +-9 +-44 +-6 +17 +-20 +-53 +2 +16 +-21 +-53 +2 +18 +-19 +-52 +5 +20 +-18 +-50 +5 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-17 +-50 +-76 +-100 +50 +100 +50 +5 +13 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +54 +67 +31 +-9 +-44 +-6 +17 +-21 +-53 +3 +16 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +-76 +-100 +50 +100 +50 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +51 +66 +29 +-11 +-45 +-7 +16 +-22 +-54 +1 +14 +-23 +-55 +1 +18 +-20 +-52 +5 +19 +-18 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-50 +7 +22 +-16 +-49 +-76 +-100 +49 +99 +49 +5 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +22 +-16 +-49 +7 +22 +-17 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +54 +68 +31 +-9 +-43 +-7 +17 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +-76 +-99 +49 +99 +49 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +8 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +52 +66 +29 +-10 +-44 +-7 +16 +-21 +-54 +1 +14 +-23 +-55 +2 +18 +-20 +-52 +4 +19 +-18 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +-75 +-99 +50 +101 +51 +6 +15 +14 +-23 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +31 +-9 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +20 +-17 +-50 +6 +21 +-17 +-49 +7 +22 +-16 +-49 +-76 +-100 +48 +100 +49 +5 +14 +14 +-23 +-56 +4 +24 +-14 +-48 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +7 +21 +-17 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +31 +-9 +-43 +-7 +16 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +-76 +-100 +48 +99 +49 +5 +13 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +22 +-16 +-49 +6 +22 +-17 +-50 +8 +23 +-15 +-49 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-48 +8 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +53 +68 +31 +-8 +-43 +-6 +16 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +-75 +-99 +50 +100 +50 +6 +14 +14 +-23 +-55 +5 +25 +-13 +-47 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +52 +68 +31 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +20 +-18 +-50 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-76 +-100 +47 +99 +49 +5 +14 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-22 +-54 +3 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +4 +14 +14 +-23 +-56 +4 +24 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +52 +66 +30 +-10 +-44 +-8 +15 +-22 +-54 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +4 +14 +14 +-24 +-56 +4 +25 +-14 +-48 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-16 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +52 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +3 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +-75 +-99 +48 +100 +50 +5 +15 +14 +-24 +-56 +5 +26 +-13 +-47 +9 +23 +-15 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +8 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +-75 +-99 +48 +100 +49 +5 +15 +15 +-23 +-55 +5 +26 +-13 +-47 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +53 +68 +33 +-8 +-42 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-50 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-50 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +-76 +-100 +47 +99 +48 +4 +14 +13 +-24 +-57 +4 +25 +-14 +-48 +7 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +52 +68 +33 +-8 +-43 +-7 +15 +-23 +-55 +2 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-16 +-49 +7 +21 +-17 +-50 +-77 +-101 +46 +99 +48 +4 +15 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +53 +68 +32 +-8 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +-76 +-100 +46 +99 +48 +4 +14 +13 +-24 +-56 +5 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +51 +67 +30 +-10 +-44 +-8 +14 +-23 +-55 +1 +15 +-22 +-55 +1 +18 +-20 +-53 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +6 +22 +-17 +-50 +-77 +-101 +46 +98 +48 +4 +14 +14 +-24 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-49 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-16 +-49 +7 +23 +-16 +-49 +-77 +-100 +46 +98 +48 +4 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +51 +67 +30 +-10 +-44 +-8 +15 +-23 +-55 +1 +15 +-23 +-55 +1 +18 +-20 +-53 +4 +20 +-19 +-51 +5 +20 +-18 +-51 +7 +21 +-17 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +-76 +-100 +47 +100 +49 +5 +16 +15 +-23 +-55 +5 +26 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +33 +-7 +-42 +-7 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +21 +-17 +-50 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-100 +45 +98 +48 +4 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +53 +69 +33 +-8 +-43 +-8 +15 +-22 +-54 +3 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +45 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +33 +-8 +-43 +-8 +15 +-22 +-55 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +6 +22 +-17 +-50 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +-76 +-100 +46 +99 +48 +4 +16 +14 +-23 +-56 +4 +26 +-13 +-47 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-21 +-54 +4 +20 +-18 +-51 +6 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +-77 +-101 +45 +98 +48 +3 +15 +14 +-23 +-56 +4 +26 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +53 +69 +33 +-7 +-42 +-7 +15 +-23 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +6 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +44 +97 +47 +3 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +52 +67 +31 +-9 +-44 +-9 +15 +-23 +-55 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +15 +14 +-24 +-56 +4 +24 +-15 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +52 +69 +33 +-7 +-42 +-7 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-100 +45 +99 +49 +4 +17 +15 +-22 +-55 +4 +25 +-14 +-48 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +52 +69 +34 +-7 +-42 +-7 +15 +-22 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-49 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-15 +-48 +-76 +-100 +45 +99 +49 +4 +16 +15 +-22 +-55 +5 +26 +-13 +-47 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +68 +33 +-7 +-42 +-8 +15 +-23 +-55 +3 +16 +-22 +-54 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +26 +-14 +-48 +9 +24 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-23 +-55 +3 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-102 +44 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-50 +8 +24 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +51 +68 +33 +-7 +-43 +-8 +14 +-23 +-55 +2 +16 +-22 +-55 +3 +19 +-20 +-52 +5 +21 +-18 +-51 +6 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +44 +97 +47 +3 +15 +14 +-24 +-56 +3 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +53 +68 +33 +-8 +-43 +-8 +15 +-23 +-55 +3 +17 +-21 +-54 +4 +18 +-20 +-53 +5 +20 +-18 +-51 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +43 +98 +47 +3 +16 +14 +-23 +-56 +4 +25 +-15 +-48 +8 +23 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +51 +67 +32 +-9 +-44 +-9 +14 +-24 +-56 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +20 +-19 +-52 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +96 +46 +2 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +8 +22 +-16 +-50 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-50 +7 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +52 +69 +33 +-7 +-43 +-8 +15 +-23 +-55 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +51 +67 +32 +-8 +-43 +-9 +14 +-24 +-56 +1 +14 +-23 +-56 +2 +18 +-21 +-53 +4 +20 +-19 +-52 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +15 +-22 +-55 +4 +25 +-14 +-48 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +52 +69 +34 +-7 +-43 +-8 +14 +-23 +-56 +2 +17 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-50 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-49 +9 +53 +69 +34 +-7 +-42 +-9 +14 +-23 +-55 +2 +16 +-21 +-54 +4 +19 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +42 +97 +47 +2 +16 +15 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-17 +-50 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +23 +-16 +-49 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-24 +-56 +2 +16 +-22 +-54 +3 +20 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-19 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +52 +69 +33 +-7 +-42 +-8 +14 +-23 +-56 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +52 +68 +34 +-7 +-42 +-8 +14 +-24 +-56 +2 +16 +-22 +-54 +3 +19 +-20 +-53 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +22 +-17 +-50 +8 +22 +-16 +-50 +9 +24 +-15 +-49 +9 +52 +67 +32 +-8 +-43 +-10 +14 +-24 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-78 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-15 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +8 +23 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +52 +68 +33 +-7 +-42 +-8 +14 +-23 +-55 +3 +16 +-22 +-54 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-101 +44 +99 +48 +4 +17 +15 +-23 +-55 +5 +26 +-14 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-16 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-15 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +69 +34 +-7 +-42 +-8 +15 +-23 +-55 +2 +17 +-21 +-54 +3 +18 +-20 +-53 +4 +20 +-19 +-52 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +15 +-22 +-55 +5 +26 +-14 +-48 +9 +24 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +24 +-16 +-49 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +53 +69 +34 +-6 +-42 +-8 +14 +-23 +-56 +2 +16 +-22 +-55 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-24 +-56 +3 +25 +-15 +-48 +8 +22 +-16 +-50 +8 +23 +-16 +-50 +9 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +53 +69 +34 +-7 +-42 +-8 +15 +-23 +-56 +2 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-48 +8 +22 +-16 +-50 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-16 +-49 +8 +22 +-17 +-50 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +52 +69 +33 +-7 +-42 +-9 +14 +-23 +-56 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +4 +20 +-18 +-52 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +13 +-24 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-16 +-50 +9 +22 +-17 +-50 +8 +23 +-16 +-50 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +53 +69 +34 +-7 +-42 +-8 +15 +-23 +-56 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-49 +8 +22 +-16 +-50 +7 +22 +-16 +-50 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +51 +67 +32 +-9 +-44 +-8 +14 +-24 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +20 +-19 +-51 +5 +20 +-18 +-51 +7 +21 +-17 +-50 +7 +22 +-17 +-51 +-78 +-102 +43 +97 +47 +3 +16 +13 +-24 +-57 +3 +24 +-15 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-16 +-49 +10 +24 +-15 +-48 +9 +53 +69 +33 +-7 +-42 +-8 +14 +-23 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +51 +67 +32 +-9 +-44 +-9 +14 +-23 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +20 +-19 +-51 +4 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +-76 +-100 +44 +98 +48 +4 +17 +15 +-23 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-50 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +8 +23 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-16 +-49 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +52 +69 +34 +-7 +-42 +-8 +15 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +16 +15 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-17 +-50 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-101 +44 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +51 +67 +31 +-9 +-44 +-9 +14 +-23 +-55 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +19 +-19 +-52 +4 +20 +-19 +-52 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +13 +-24 +-57 +4 +24 +-15 +-49 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +52 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +49 +4 +17 +15 +-23 +-55 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-50 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +52 +68 +33 +-7 +-42 +-8 +15 +-22 +-55 +2 +16 +-21 +-54 +3 +18 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +-76 +-100 +45 +99 +49 +4 +16 +15 +-22 +-55 +5 +26 +-13 +-47 +9 +23 +-16 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +9 +52 +69 +33 +-8 +-43 +-8 +15 +-22 +-55 +3 +16 +-21 +-54 +2 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +45 +99 +48 +4 +15 +13 +-24 +-57 +3 +24 +-15 +-48 +7 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +68 +33 +-7 +-43 +-8 +15 +-22 +-55 +2 +16 +-22 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +4 +15 +14 +-24 +-56 +4 +24 +-15 +-48 +7 +22 +-16 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-22 +-54 +2 +15 +-22 +-54 +3 +18 +-20 +-52 +4 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +21 +-17 +-50 +8 +22 +-17 +-50 +-77 +-101 +45 +97 +47 +3 +15 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +53 +68 +32 +-8 +-43 +-8 +16 +-22 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +3 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +52 +67 +31 +-9 +-44 +-8 +14 +-23 +-56 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-51 +4 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +-77 +-101 +45 +97 +47 +3 +15 +14 +-23 +-56 +3 +24 +-14 +-48 +8 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +52 +68 +32 +-8 +-43 +-8 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +52 +67 +31 +-9 +-44 +-9 +14 +-23 +-55 +1 +15 +-23 +-55 +2 +17 +-21 +-53 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +21 +-17 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +-76 +-100 +46 +100 +49 +5 +15 +15 +-23 +-55 +4 +25 +-14 +-48 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +32 +-8 +-43 +-7 +15 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-50 +7 +21 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +46 +98 +48 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-8 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +19 +-19 +-51 +6 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +45 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +52 +69 +33 +-7 +-43 +-7 +15 +-22 +-54 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +19 +-19 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +-76 +-100 +47 +100 +50 +5 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-7 +15 +-22 +-54 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-100 +46 +98 +48 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +8 +23 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +52 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +6 +22 +-17 +-50 +-77 +-101 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +9 +23 +-15 +-49 +9 +52 +67 +30 +-10 +-45 +-9 +14 +-23 +-55 +1 +15 +-22 +-54 +2 +18 +-20 +-52 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +46 +99 +49 +4 +14 +13 +-24 +-56 +4 +24 +-15 +-49 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +52 +68 +31 +-9 +-43 +-7 +16 +-22 +-54 +2 +15 +-22 +-54 +3 +18 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +21 +-17 +-50 +7 +21 +-17 +-50 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +-75 +-99 +47 +99 +49 +4 +15 +15 +-23 +-55 +5 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +53 +68 +31 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +22 +-17 +-50 +7 +21 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +-75 +-100 +48 +100 +50 +5 +15 +14 +-23 +-56 +4 +25 +-14 +-47 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +53 +69 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-77 +-101 +47 +99 +49 +4 +14 +13 +-24 +-56 +3 +24 +-14 +-48 +7 +22 +-16 +-49 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +54 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-22 +-54 +4 +18 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +7 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +53 +68 +31 +-9 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +5 +14 +12 +-25 +-57 +3 +24 +-14 +-48 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +53 +69 +32 +-8 +-43 +-8 +16 +-22 +-54 +1 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +4 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +5 +24 +-15 +-48 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +51 +66 +30 +-10 +-45 +-8 +15 +-22 +-54 +1 +15 +-23 +-55 +2 +17 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +-77 +-101 +47 +98 +48 +4 +13 +12 +-25 +-57 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-15 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +53 +68 +31 +-9 +-43 +-7 +16 +-21 +-54 +1 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +13 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +52 +65 +29 +-10 +-45 +-8 +15 +-22 +-54 +1 +15 +-22 +-54 +2 +17 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +6 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +7 +23 +-15 +-49 +9 +24 +-14 +-48 +9 +24 diff --git a/traces/modulation-psk1-64-8.pm3 b/traces/modulation-psk1-64-8.pm3 new file mode 100644 index 00000000..f30b8fed --- /dev/null +++ b/traces/modulation-psk1-64-8.pm3 @@ -0,0 +1,20000 @@ +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +39 +5 +-21 +-44 +-63 +-79 +82 +68 +35 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-48 +-67 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-5 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +67 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +67 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +80 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-78 +81 +69 +36 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +3 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +13 +16 +15 +14 +-15 +-39 +-59 +-76 +-89 +75 +63 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-22 +-46 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-65 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +79 +68 +35 +2 +-24 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +67 +33 +15 +17 +16 +15 +-14 +-37 +-58 +-75 +-89 +75 +63 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-94 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +41 +7 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +14 +16 +16 +15 +-14 +-37 +-58 +-75 +-88 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +81 +69 +36 +4 +-22 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-47 +-65 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +65 +32 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-14 +-39 +-58 +-74 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-24 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-14 +-39 +-58 +-74 +87 +75 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +68 +36 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +34 +1 +-25 +-47 +-65 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-18 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +83 +70 +36 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +32 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +37 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +15 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +66 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +63 +31 +-1 +-27 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-23 +-45 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-94 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +79 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +83 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +94 +59 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +12 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-16 +-39 +-59 +-76 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-68 +93 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +15 +17 +16 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-59 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +65 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-44 +-63 +-79 +83 +70 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-24 +-47 +-65 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +15 +16 +16 +15 +-14 +-37 +-58 +-74 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-48 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +76 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +22 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-48 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-22 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +39 +6 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +24 +-5 +-31 +-51 +-69 +94 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-24 +-47 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +67 +34 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-74 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-24 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +16 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-103 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +74 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +65 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +81 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +63 +31 +-1 +-27 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-5 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +74 +41 +8 +-19 +-43 +-61 +-77 +83 +72 +39 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +79 +68 +35 +2 +-23 +-47 +-65 +-80 +80 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-16 +-39 +-60 +-76 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +66 +33 +1 +-24 +-47 +-66 +-81 +79 +66 +33 +14 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +75 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-44 +-63 +-79 +82 +70 +36 +3 +-23 +-46 +-64 +-80 +79 +67 +35 +2 +-24 +-47 +-65 +-81 +80 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +34 +15 +16 +16 +15 +-14 +-37 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-48 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-22 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +3 +-22 +-46 +-64 +-80 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +80 +47 +12 +-15 +-39 +-59 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +14 +17 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-59 +-75 +87 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +34 +1 +-24 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +16 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-24 +-47 +-66 +-81 +78 +65 +33 +0 diff --git a/traces/modulation-psk2-32-2.pm3 b/traces/modulation-psk2-32-2.pm3 new file mode 100644 index 00000000..eb9a2800 --- /dev/null +++ b/traces/modulation-psk2-32-2.pm3 @@ -0,0 +1,20000 @@ +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +12 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +7 +-19 +6 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +6 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +-42 +45 +12 +7 +-20 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +7 +-19 +7 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +22 +-8 +12 +-17 +4 +-23 +6 +-21 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +6 +-21 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-18 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +6 +-20 +8 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-17 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +10 +-17 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-20 +8 +-18 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +-40 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +6 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +6 +-21 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +22 +-8 +12 +-16 +5 +-23 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +22 +-8 +14 +-15 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +7 +-19 +6 +-21 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +7 +-21 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +5 +-21 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +23 +-8 +13 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +44 +12 +6 +-20 +11 +-17 +9 +-18 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +7 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +6 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-20 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-23 +6 +-21 +6 +-22 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +7 +-21 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-19 +9 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +7 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +10 +-18 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +5 +-22 +6 +-22 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +7 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +-41 +44 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +6 +-20 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +-42 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +12 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-21 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +7 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +4 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +10 +-17 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +22 +-8 +12 +-16 +5 +-23 +5 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +7 +-20 +6 +-20 +7 +-20 +7 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +6 +-21 +7 +-20 +8 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +22 +-8 +12 +-16 +5 +-22 +6 +-22 +6 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-20 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-20 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-18 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-23 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +6 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +5 +-21 +7 +-20 +6 +-20 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +10 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +10 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-21 +6 +-20 +7 +-20 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +6 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +6 +-21 +7 +-21 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +7 +-19 +5 +-21 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +23 +-8 +14 +-15 +5 +-23 +6 +-22 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +-42 +45 +12 +6 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +7 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +5 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +6 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-17 +8 +-19 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +7 +-21 +6 +-21 +6 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-20 +8 +-19 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +8 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-17 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-21 +7 +-19 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +6 +-21 +6 +-21 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-21 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +6 +-20 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +6 +-21 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +22 +-8 +12 +-17 +5 +-22 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +10 +-19 +9 +-18 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-21 +7 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-21 +7 +-21 +8 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-23 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +4 +-23 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-17 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +22 +-8 +12 +-16 +5 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +8 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +8 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +6 +-21 +7 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +44 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +6 +-20 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +22 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +7 +-19 +7 +-20 +6 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-23 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-42 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +7 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +23 +-8 +11 +-17 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 diff --git a/traces/modulation-psk3-32-8.pm3 b/traces/modulation-psk3-32-8.pm3 new file mode 100644 index 00000000..a3099397 --- /dev/null +++ b/traces/modulation-psk3-32-8.pm3 @@ -0,0 +1,20000 @@ +53 +95 +54 +5 +-38 +-73 +-104 +-53 +52 +94 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +93 +54 +4 +-39 +-73 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +5 +-39 +-74 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +93 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +4 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +5 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +93 +84 +49 +6 +-30 +-67 +-98 +-108 +-127 +-127 +-35 +72 +115 +73 +20 +-25 +-62 +-94 +-41 +63 +104 +62 +12 +-32 +-68 +-99 +-45 +58 +100 +59 +8 +-35 +-71 +-102 +-48 +56 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +56 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +78 +25 +-21 +-58 +-91 +-36 +67 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +12 +-32 +-68 +-100 +-46 +58 +100 +59 +9 +-35 +-70 +-101 +-48 +56 +97 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +56 +6 +-38 +-73 +-103 +-50 +54 +95 +55 +5 +-38 +-73 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +95 +55 +5 +-38 +-73 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-73 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +93 +52 +3 +-40 +-75 +-105 +-51 +52 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +5 +-39 +-73 +-104 +-53 +52 +94 +53 +3 +-40 +-75 +-105 +-52 +52 +93 +54 +4 +-39 +-74 +-105 +-53 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +84 +49 +7 +-29 +-67 +-97 +-108 +-127 +-127 +-37 +72 +115 +73 +21 +-25 +-62 +-94 +-41 +63 +103 +62 +11 +-33 +-68 +-100 +-45 +59 +100 +60 +9 +-35 +-70 +-101 +-48 +56 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +56 +6 +-37 +-73 +-103 +-50 +54 +95 +54 +4 +-38 +-74 +-104 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +113 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +78 +25 +-21 +-58 +-91 +-37 +68 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +13 +-32 +-68 +-99 +-46 +58 +100 +59 +9 +-35 +-71 +-101 +-48 +57 +98 +57 +7 +-36 +-72 +-102 +-50 +54 +96 +55 +6 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +5 +-38 +-73 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +54 +5 +-38 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +93 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +84 +49 +7 +-30 +-67 +-97 +-108 +-127 +-127 +-36 +71 +115 +73 +21 +-25 +-62 +-94 +-41 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +101 +60 +9 +-35 +-70 +-101 +-48 +56 +97 +56 +6 +-37 +-72 +-103 +-50 +56 +97 +55 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +3 +-40 +-75 +-105 +-51 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +69 +18 +-27 +-64 +-95 +-25 +79 +120 +79 +26 +-20 +-58 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-32 +-68 +-99 +-47 +58 +99 +58 +8 +-35 +-71 +-102 +-48 +56 +97 +57 +7 +-36 +-72 +-103 +-50 +54 +96 +56 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +5 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +93 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +5 +-38 +-73 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +52 +93 +52 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +4 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +52 +93 +83 +48 +5 +-30 +-67 +-98 +-108 +-127 +-127 +-35 +72 +114 +72 +21 +-25 +-62 +-94 +-41 +63 +104 +63 +12 +-32 +-68 +-99 +-46 +59 +100 +59 +8 +-35 +-71 +-102 +-47 +57 +98 +57 +7 +-36 +-72 +-103 +-49 +56 +96 +55 +6 +-38 +-73 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-51 +54 +96 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +93 +52 +3 +-40 +-75 +-106 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +17 +-27 +-64 +-95 +-25 +78 +119 +78 +25 +-21 +-59 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-41 +62 +104 +63 +12 +-32 +-68 +-99 +-47 +58 +100 +58 +8 +-35 +-71 +-102 +-48 +57 +98 +58 +7 +-36 +-72 +-102 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +83 +48 +6 +-30 +-67 +-97 +-108 +-127 +-127 +-35 +72 +115 +73 +21 +-25 +-62 +-94 +-41 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +59 +8 +-35 +-71 +-102 +-48 +57 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +96 +56 +6 +-38 +-73 +-104 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +53 +3 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +112 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +77 +25 +-21 +-59 +-91 +-36 +69 +110 +68 +16 +-29 +-65 +-97 +-42 +62 +103 +63 +12 +-32 +-68 +-99 +-46 +58 +100 +58 +8 +-35 +-71 +-102 +-48 +57 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +96 +85 +50 +7 +-29 +-66 +-97 +-107 +-127 +-127 +-35 +73 +116 +74 +22 +-24 +-61 +-93 +-41 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +59 +9 +-35 +-70 +-102 +-48 +57 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-52 +53 +93 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +112 +69 +18 +-27 +-63 +-95 +-26 +79 +120 +78 +25 +-21 +-59 +-91 +-36 +68 +110 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +59 +8 +-35 +-71 +-102 +-49 +56 +98 +58 +7 +-36 +-72 +-103 +-50 +55 +95 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +86 +50 +7 +-29 +-66 +-97 +-108 +-127 +-127 +-35 +73 +115 +74 +22 +-24 +-61 +-94 +-41 +63 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +60 +9 +-35 +-70 +-101 +-49 +56 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +56 +6 +-38 +-73 +-103 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +52 +93 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +93 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-75 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +80 +112 +69 +17 +-27 +-64 +-95 +-25 +79 +119 +77 +25 +-21 +-59 +-92 +-36 +68 +110 +68 +16 +-29 +-65 +-97 +-42 +62 +104 +62 +11 +-33 +-68 +-100 +-46 +58 +100 +58 +8 +-36 +-71 +-102 +-48 +57 +99 +58 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +55 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-105 +-53 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +84 +49 +6 +-30 +-67 +-98 +-109 +-127 +-127 +-36 +72 +115 +73 +20 +-25 +-62 +-95 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +60 +9 +-35 +-70 +-102 +-48 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +56 +5 +-38 +-73 +-104 +-50 +54 +95 +54 +4 +-39 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +52 +93 +52 +3 +-40 +-75 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-127 +-127 +-127 +-127 +-4 +81 +112 +69 +17 +-27 +-64 +-95 +-25 +80 +120 +78 +25 +-21 +-59 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +62 +12 +-33 +-69 +-100 +-46 +59 +100 +58 +8 +-35 +-71 +-102 +-48 +56 +97 +57 +7 +-37 +-72 +-103 +-50 +56 +96 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-53 +52 +94 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +84 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-36 +72 +115 +73 +21 +-25 +-62 +-94 +-40 +64 +104 +63 +12 +-32 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-48 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +52 +3 +-40 +-75 +-106 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-52 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-27 +-64 +-95 +-26 +79 +119 +77 +24 +-22 +-59 +-92 +-35 +69 +110 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-32 +-68 +-99 +-46 +59 +99 +58 +8 +-36 +-71 +-102 +-47 +57 +99 +58 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +96 +85 +49 +6 +-30 +-67 +-98 +-108 +-127 +-127 +-34 +73 +115 +73 +21 +-25 +-62 +-94 +-40 +63 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +57 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +97 +56 +5 +-38 +-73 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +17 +-28 +-64 +-96 +-25 +79 +120 +77 +25 +-21 +-59 +-92 +-35 +69 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +58 +7 +-36 +-72 +-103 +-47 +57 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +55 +6 +-38 +-73 +-104 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-105 +-52 +54 +95 +52 +2 +-40 +-75 +-106 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +83 +47 +5 +-31 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +73 +21 +-25 +-62 +-94 +-41 +64 +105 +63 +12 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +57 +99 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +54 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +55 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-96 +-24 +79 +120 +78 +25 +-21 +-59 +-92 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-41 +63 +104 +63 +12 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +57 +97 +57 +6 +-37 +-72 +-103 +-50 +55 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +54 +4 +-39 +-74 +-105 +-51 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +84 +48 +5 +-31 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-26 +-63 +-94 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-35 +-71 +-102 +-47 +57 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +5 +-38 +-74 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +68 +17 +-28 +-64 +-96 +-24 +79 +120 +77 +25 +-21 +-59 +-92 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-36 +-71 +-102 +-47 +58 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-74 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +4 +-39 +-74 +-105 +-51 +55 +95 +54 +5 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +84 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-40 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-73 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-92 +-35 +70 +110 +68 +16 +-29 +-65 +-97 +-40 +64 +105 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +57 +7 +-36 +-72 +-102 +-47 +58 +98 +57 +7 +-37 +-72 +-103 +-50 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-106 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +84 +48 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-35 +73 +116 +72 +20 +-26 +-62 +-94 +-40 +64 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +57 +97 +56 +6 +-37 +-73 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-27 +-64 +-96 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-32 +-68 +-100 +-46 +59 +100 +58 +8 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +55 +96 +54 +5 +-38 +-74 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-106 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +83 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +53 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +25 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +96 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-39 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +83 +47 +4 +-32 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +58 +8 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-91 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-110 +-127 +-127 +-35 +72 +115 +72 +20 +-26 +-63 +-95 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +8 +-36 +-71 +-102 +-46 +58 +97 +55 +5 +-38 +-73 +-104 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +68 +16 +-28 +-65 +-96 +-23 +81 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +83 +47 +5 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +116 +73 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-47 +57 +97 +56 +5 +-38 +-72 +-103 +-47 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +78 +25 +-21 +-59 +-91 +-35 +70 +110 +66 +14 +-30 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +83 +46 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +19 +-26 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +59 +99 +55 +5 +-38 +-73 +-103 +-48 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-105 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +103 +61 +11 +-33 +-69 +-100 +-45 +59 +100 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +56 +7 +-37 +-72 +-103 +-48 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +83 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-26 +-62 +-95 +-39 +65 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +100 +58 +8 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +99 +57 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +83 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-33 +74 +116 +73 +21 +-24 +-62 +-94 +-39 +65 +105 +61 +10 +-33 +-69 +-100 +-43 +61 +101 +59 +8 +-35 +-71 +-101 +-46 +58 +99 +56 +5 +-38 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +66 +15 +-29 +-65 +-96 +-24 +79 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +60 +99 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +84 +48 +5 +-31 +-68 +-98 +-108 +-127 +-127 +-33 +74 +116 +73 +21 +-25 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +53 +93 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-68 +-100 +-44 +60 +100 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +57 +7 +-37 +-72 +-102 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +19 +-26 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +8 +-35 +-71 +-101 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +79 +110 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-58 +-91 +-35 +70 +109 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +82 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +71 +19 +-26 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-68 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-95 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +99 +56 +7 +-36 +-72 +-102 +-46 +58 +98 +57 +7 +-36 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +84 +47 +4 +-31 +-68 +-98 +-109 +-127 +-127 +-34 +74 +116 +72 +20 +-25 +-62 +-94 +-38 +65 +105 +63 +12 +-32 +-68 +-99 +-43 +61 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +4 +-38 +-73 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +54 +94 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +110 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-68 +-99 +-45 +60 +99 +56 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-48 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +83 +46 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-68 +-99 +-43 +61 +100 +58 +7 +-35 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +110 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +103 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +83 +46 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +57 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +24 +-21 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +63 +103 +61 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-102 +-49 +56 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +102 +58 +8 +-35 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-95 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +66 +15 +-29 +-66 +-97 +-39 +64 +104 +62 +11 +-33 +-68 +-99 +-46 +59 +100 +57 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +56 +95 +53 +4 +-39 +-74 +-104 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +3 +-33 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +71 +19 +-26 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +9 +-35 +-70 +-101 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-103 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-64 +-95 +-23 +81 +121 +78 +25 +-21 +-58 +-90 +-35 +69 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +104 +62 +12 +-32 +-68 +-99 +-46 +60 +100 +58 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +7 +-36 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-52 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +59 +9 +-35 +-70 +-101 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +96 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-95 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +69 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-68 +-100 +-45 +60 +100 +57 +7 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-50 +55 +96 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-35 +72 +115 +72 +20 +-25 +-62 +-94 +-39 +66 +105 +62 +11 +-33 +-68 +-99 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-103 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-35 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-68 +-99 +-45 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +99 +55 +6 +-37 +-73 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +73 +21 +-25 +-62 +-94 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-50 +55 +96 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-91 +-35 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +56 +96 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +56 +96 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +82 +47 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-26 +-62 +-94 +-39 +65 +106 +62 +11 +-33 +-68 +-99 +-44 +62 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-50 +56 +96 +53 +4 +-39 +-74 +-105 +-50 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +81 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +65 +104 +62 +11 +-32 +-68 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +59 +9 +-35 +-71 +-102 +-46 +59 +99 +55 +5 +-38 +-73 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-96 +-24 +81 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +111 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +57 +7 +-36 +-71 +-102 +-47 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +83 +47 +4 +-31 +-68 +-99 +-109 +-127 +-127 +-33 +74 +116 +72 +21 +-25 +-62 +-94 +-39 +66 +106 +62 +11 +-33 +-68 +-99 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +97 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +16 +-28 +-64 +-95 +-24 +80 +121 +77 +25 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +57 +7 +-36 +-72 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-39 +-74 +-104 +-48 +56 +96 +84 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-33 +74 +116 +73 +21 +-25 +-62 +-94 +-39 +66 +106 +62 +11 +-33 +-68 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-39 +-74 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +81 +121 +77 +24 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +57 +7 +-36 +-72 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +56 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +116 +72 +19 +-26 +-63 +-95 +-39 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +102 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +1 +-41 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-65 +-96 +-23 +81 +121 +77 +24 +-22 +-59 +-91 +-34 +70 +111 +67 +16 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-72 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +56 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +51 +1 +-41 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +5 +-38 +-73 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +52 +3 +-40 +-75 +-105 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +56 +95 +53 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +80 +121 +77 +24 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +61 +100 +57 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +84 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +75 +117 +72 +20 +-25 +-62 +-94 +-37 +66 +106 +62 +12 +-33 +-68 +-99 +-43 +62 +102 +57 +7 +-36 +-71 +-102 +-45 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +58 +97 +54 +5 +-38 +-73 +-104 +-48 +57 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +109 +66 +15 +-30 +-66 +-97 +-39 +64 +105 +63 +12 +-32 +-68 +-100 +-45 +60 +101 +57 +7 +-37 +-72 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-52 +54 +93 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-26 +-63 +-95 +-38 +66 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +59 +98 +55 +5 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-106 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +66 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-92 +-34 +70 +111 +67 +15 +-29 +-66 +-97 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +83 +46 +3 +-33 +-70 +-100 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-95 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +55 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-92 +-34 +71 +111 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +57 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-39 +-74 +-104 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-105 +-49 +55 +94 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +74 +115 +72 +20 +-25 +-62 +-94 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-36 +-71 +-102 +-45 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +3 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-29 +-65 +-96 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-49 +56 +95 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +98 +56 +6 +-38 +-73 +-103 +-47 +58 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-22 +81 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +105 +62 +11 +-33 +-68 +-99 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +83 +47 +4 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-38 +66 +105 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +55 +5 +-38 +-73 +-103 +-48 +56 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-106 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +121 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-44 +61 +100 +57 +7 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-49 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-26 +-62 +-94 +-38 +66 +106 +62 +11 +-33 +-68 +-100 +-43 +61 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +55 +5 +-38 +-73 +-104 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +76 +23 +-22 +-59 +-92 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +3 +-40 +-75 +-105 +-50 +55 +95 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +99 +55 +5 +-38 +-73 +-103 +-47 +57 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-29 +-65 +-96 +-22 +81 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +93 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-49 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-99 +-44 +60 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +55 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +3 +-40 +-74 +-104 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +83 +46 +3 +-32 +-68 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +100 +58 +8 +-36 +-71 +-101 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2