--- /dev/null
+//-----------------------------------------------------------------------------
+// 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 <stdint.h>
+#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;
+}
--- /dev/null
+//-----------------------------------------------------------------------------
+// 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 */
#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 \
$(SRC_CRAPTO1) \
$(SRC_CRC) \
legic_prng.c \
- iclass.c
+ iclass.c \
+ BigBuf.c \
# stdint.h provided locally until GCC 4.5 becomes C99 compliant
// 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;
ToSendBit++;
- if(ToSendMax >= sizeof(ToSend)) {
+ if(ToSendMax >= sizeof(ToSend)) {
ToSendBit = 0;
DbpString("ToSendStuffBit overflowed!");
}
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;
p = 0;
i++;
- if(i >= FREE_BUFFER_SIZE) {
+ if(i >= HF_14B_SNOOP_BUFFER_SIZE) {
break;
}
}
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;
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
break;
case CMD_BUFF_CLEAR:
- BufferClear();
+ BigBuf_Clear();
break;
case CMD_MEASURE_ANTENNA_TUNING:
case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K:
LED_B_ON();
+ uint8_t *BigBuf = BigBuf_get_addr();
for(size_t i=0; i<c->arg[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;
#include <sys/types.h>
#include <string.h>
#include <strings.h>
-
-#include "../include/common.h"
-#include "../include/hitag2.h"
-#include "../include/mifare.h"
-
-//#include <openssl/des.h>
-//#include <openssl/aes.h>
-//#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;
extern int ToSendMax;
extern uint8_t ToSend[];
-extern uint32_t BigBuf[];
/// fpga.h
void FpgaSendCommand(uint16_t cmd, uint16_t v);
#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)
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);
-// 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
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) {
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;
},
};
-//#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.
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();
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];
LED_A_OFF();
}
+
static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len)
{
// Send the content of the frame
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;
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;
}
-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;
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;
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;
return true;
}
+
void SnoopHitag(uint32_t type) {
int frame_count;
int response;
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();
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,
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();
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;
Dbhexdump(8,NrAr,false);
bQuiet = false;
bCrypto = false;
- bAuthenticating = false;
+ bAuthenticating = false;
bQuitTraceFull = true;
} break;
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;
else {
modulation = bit & Demod.syncBit;
modulation |= ((bit << 1) ^ ((Demod.buffer & 0x08) >> 3)) & Demod.syncBit;
-
+
Demod.samples += 4;
if(Demod.posCount==0) {
// 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;
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;
(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;
}
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);
}
Demod.state = DEMOD_UNSYNCD;
LED_B_OFF();
Uart.byteCnt = 0;
+ }else{
+ time_start = (GetCountSspClk()-time_0) << 4;
}
decbyter = 0;
}
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;
}
}
+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++;
}
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.
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
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
}
}
*/
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));
// 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;
LED_A_ON();
bool buttonPressed = false;
- /** Hack for testing
- memcpy(reader_mac_buf,csn,8);
- exitLoop = true;
- end hack **/
-
while(!exitLoop) {
LED_B_OFF();
// 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"
}
} 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
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) {
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();
}
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");
//Dbprintf("%x", cmdsRecvd);
LED_A_OFF();
LED_B_OFF();
+ LED_C_OFF();
+
if(buttonPressed)
{
DbpString("Button pressed");
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();
AT91C_BASE_SSC->SSC_THR = b;
}
- if (i > respLen +4) break;
+// if (i > respLen +4) break;
+ if (i > respLen +1) break;
}
return 0;
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!
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);
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;
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;
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;
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);
}
//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();
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;
}
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;
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();
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;
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;
// 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);
(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;
}
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;
}
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);
// 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
}
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;
}
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;
// 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;
{
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;
}
// 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);
// 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;
}
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) {
} 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;
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;
}
}
}
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();
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;
}
}
}
}
- }
+ }
return FALSE; // not finished yet, need more data
}
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;
}
}
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();
}
// 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
// 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;
// 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);
// 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;
}
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();
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;
//-----------------------------------------------------------------------------
// 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();
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
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;
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
// ----------- +
// 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);
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;
//-----------------------------------------------------------------------------
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).
}
// 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);
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
.modulation_n = 0
};
- // Reset the offset pointer of the free buffer
- reset_free_buffer();
-
+ BigBuf_free_keep_EM();
+
+ // allocate buffers:
+ uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE);
+ uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE);
+ free_buffer_pointer = BigBuf_malloc(ALLOCATED_TAG_MODULATION_BUFFER_SIZE);
+
+ // clear trace
+ iso14a_clear_trace();
+ iso14a_set_tracing(TRUE);
+
// Prepare the responses of the anticollision phase
// there will be not enough time to do this at the moment the reader sends it REQA
for (size_t i=0; i<TAG_RESPONSE_COUNT; i++) {
// We need to listen to the high-frequency, peak-detected path.
iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN);
- // buffers used on software Uart:
- uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET;
- uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET;
-
cmdsRecvd = 0;
tag_response_info_t* p_response;
if(!GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len)) {
DbpString("Button press");
- break;
+ break;
}
p_response = NULL;
Dbprintf("%x %x %x", happened, happened2, cmdsRecvd);
LED_A_OFF();
+ BigBuf_free_keep_EM();
}
}
}
- NextTransferTime = MAX(NextTransferTime, LastTimeProxToAirStart + REQUEST_GUARD_TIME);
+ NextTransferTime = MAX(NextTransferTime, LastTimeProxToAirStart + REQUEST_GUARD_TIME);
}
//-----------------------------------------------------------------------------
// Prepare reader command (in bits, support short frames) to send to FPGA
//-----------------------------------------------------------------------------
-void CodeIso14443aBitsAsReaderPar(const uint8_t * cmd, uint16_t bits, const uint8_t *parity)
+void CodeIso14443aBitsAsReaderPar(const uint8_t *cmd, uint16_t bits, const uint8_t *parity)
{
int i, j;
int last;
//-----------------------------------------------------------------------------
// Prepare reader command to send to FPGA
//-----------------------------------------------------------------------------
-void CodeIso14443aAsReaderPar(const uint8_t * cmd, uint16_t len, const uint8_t *parity)
+void CodeIso14443aAsReaderPar(const uint8_t *cmd, uint16_t len, const uint8_t *parity)
{
CodeIso14443aBitsAsReaderPar(cmd, len*8, parity);
}
GetParity(resp, respLen, par);
return EmSendCmdExPar(resp, respLen, correctionNeeded, par);
}
-
+
int EmSendCmd(uint8_t *resp, uint16_t respLen){
uint8_t par[MAX_PARITY_SIZE];
GetParity(resp, respLen, par);
uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity)
{
if (tracing) {
- // we cannot exactly measure the end and start of a received command from reader. However we know that the delay from
- // 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;
+ // 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;
// Now get the answer from the card
DemodInit(receivedResponse, receivedResponsePar);
-
+
// clear RXRDY:
uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
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);
}
/* 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;
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;
// reset the PCB block number
iso14_pcb_blocknum = 0;
- return 1;
+ return 1;
}
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();
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) {
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
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);
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);
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
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};
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);
// 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;
// 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;
}
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;
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;
// *) 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]))
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;
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;
// 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) {
//-----------------------------------------------------------------------------
void AcquireRawAdcSamplesIso15693(void)
{
- uint8_t *dest = (uint8_t *)BigBuf;
+ uint8_t *dest = BigBuf_get_addr();
int c = 0;
int getNext = 0;
void RecordRawAdcSamplesIso15693(void)
{
- uint8_t *dest = (uint8_t *)BigBuf;
+ uint8_t *dest = BigBuf_get_addr();
int c = 0;
int getNext = 0;
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);
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();
// 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;
int elapsed = 0;
uint8_t TagUID[8] = {0x00};
-
+
// Blank arrays
- memset(BigBuf + 3660, 0x00, 300);
+ memset(answer1, 0x00, 300);
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
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);
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]);
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);
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);
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();
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,
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) {
}
/* 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; i<count; i++) {
LegicCommonInit();
+ uint8_t *BigBuf = BigBuf_get_addr();
memset(BigBuf, 0, 1024);
DbpString("setting up legic card");
LED_C_OFF();
return -1;
}
- ((uint8_t*)BigBuf)[byte_index] = r;
+ BigBuf[byte_index] = r;
WDT_HIT();
byte_index++;
if(byte_index & 0x10) LED_C_ON(); else LED_C_OFF();
void LegicRfWriter(int bytes, int offset) {
int byte_index=0, addr_sz=0;
-
+ uint8_t *BigBuf = BigBuf_get_addr();
+
LegicCommonInit();
DbpString("setting up legic card");
perform_setup_phase_rwd(SESSION_IV);
legic_prng_forward(2);
while(byte_index < bytes) {
- int r = legic_write_byte(((uint8_t*)BigBuf)[byte_index+offset], byte_index+offset, addr_sz);
+ int r = legic_write_byte(BigBuf[byte_index+offset], byte_index+offset, addr_sz);
if((r != 0) || BUTTON_PRESS()) {
Dbprintf("operation aborted @ 0x%03.3x", byte_index);
switch_off_tag_rwd();
/* Handle (whether to respond) a frame in tag mode */
static void frame_handle_tag(struct legic_frame const * const f)
{
+ uint8_t *BigBuf = BigBuf_get_addr();
+
/* First Part of Handshake (IV) */
if(f->bits == 7) {
if(f->data == SESSION_IV) {
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);
int i;
Dbprintf("IV: %03.3x", legic_prng_iv);
for(i = 0; i<legic_read_count; i++) {
- Dbprintf("Read Nb: %u, Addr: %u", i, ((uint8_t*)BigBuf)[OFFSET_LOG+i]);
+ Dbprintf("Read Nb: %u, Addr: %u", i, BigBuf[OFFSET_LOG+i]);
}
for(i = -1; i<legic_read_count; i++) {
uint32_t t;
- t = ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4];
- t |= ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+1] << 8;
- t |= ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+2] <<16;
- t |= ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+3] <<24;
+ t = BigBuf[OFFSET_LOG+256+i*4];
+ t |= BigBuf[OFFSET_LOG+256+i*4+1] << 8;
+ t |= BigBuf[OFFSET_LOG+256+i*4+2] <<16;
+ t |= BigBuf[OFFSET_LOG+256+i*4+3] <<24;
Dbprintf("Cycles: %u, Frame Length: %u, Time: %u",
- ((uint8_t*)BigBuf)[OFFSET_LOG+128+i],
- ((uint8_t*)BigBuf)[OFFSET_LOG+384+i],
+ BigBuf[OFFSET_LOG+128+i],
+ BigBuf[OFFSET_LOG+384+i],
t);
}
}
// Also routines for raw mode reading/simulating of LF waveform
//-----------------------------------------------------------------------------
-#include "../include/proxmark3.h"
+#include "proxmark3.h"
#include "apps.h"
#include "util.h"
-#include "../common/crc16.h"
-#include "../common/lfdemod.h"
+#include "hitag2.h"
+#include "crc16.h"
#include "string.h"
-#include "crapto1.h"
-#include "mifareutil.h"
-#include "../include/hitag2.h"
+#include "lfdemod.h"
-// Sam7s has several timers, we will use the source TIMER_CLOCK1 (aka AT91C_TC_CLKS_TIMER_DIV1_CLOCK)
-// TIMER_CLOCK1 = MCK/2, MCK is running at 48 MHz, Timer is running at 48/2 = 24 MHz
-// Hitag units (T0) have duration of 8 microseconds (us), which is 1/125000 per second (carrier)
-// T0 = TIMER_CLOCK1 / 125000 = 192
-#define T0 192
-#define SHORT_COIL() LOW(GPIO_SSC_DOUT)
-#define OPEN_COIL() HIGH(GPIO_SSC_DOUT)
+/**
+* Does the sample acquisition. If threshold is specified, the actual sampling
+* is not commenced until the threshold has been reached.
+* @param trigger_threshold - the threshold
+* @param silent - is true, now outputs are made. If false, dbprints the status
+*/
+void DoAcquisition125k_internal(int trigger_threshold,bool silent)
+{
+ uint8_t *dest = BigBuf_get_addr();
+ int n = BigBuf_max_traceLen();
+ int i;
+
+ memset(dest, 0, n);
+ i = 0;
+ for(;;) {
+ if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
+ AT91C_BASE_SSC->SSC_THR = 0x43;
+ LED_D_ON();
+ }
+ if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
+ dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
+ LED_D_OFF();
+ if (trigger_threshold != -1 && dest[i] < trigger_threshold)
+ continue;
+ else
+ trigger_threshold = -1;
+ if (++i >= n) break;
+ }
+ }
+ if(!silent)
+ {
+ Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...",
+ dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]);
-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
*/
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; i<n-1; i++) {
- // count cycles by looking for lo to hi zero crossings
- if ( (dest[i]<0) && (dest[i+1]>0) ) {
- 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; i<n-1; i++) {
+ // count cycles by looking for lo to hi zero crossings
+ if ( (dest[i]<0) && (dest[i+1]>0) ) {
+ 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<<i)) {
- // stop modulating antenna
- SHORT_COIL();
- SpinDelayUs(1000);
- // modulate antenna
- OPEN_COIL();
- SpinDelayUs(1000);
- } else {
- // stop modulating antenna
- SHORT_COIL();
- SpinDelayUs(300);
- // modulate antenna
- OPEN_COIL();
- SpinDelayUs(1700);
- }
- }
+ int i = 0;
+
+ // modulate 8 bits out to the antenna
+ for (i=0; i<8; i++)
+ {
+ if (b&(1<<i)) {
+ // stop modulating antenna
+ LOW(GPIO_SSC_DOUT);
+ SpinDelayUs(1000);
+ // modulate antenna
+ HIGH(GPIO_SSC_DOUT);
+ SpinDelayUs(1000);
+ } else {
+ // stop modulating antenna
+ LOW(GPIO_SSC_DOUT);
+ SpinDelayUs(300);
+ // modulate antenna
+ HIGH(GPIO_SSC_DOUT);
+ SpinDelayUs(1700);
+ }
+ }
}
void AcquireTiType(void)
{
- 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
- memset(BigBuf,0,sizeof(BigBuf));
-
- // 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;
- 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
// 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
}
// 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();
}
/*------------------------------
*/
/* 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
#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
#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!");
}
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!");
+
}
#define max(x,y) ( x<y ? y:x)
int DemodPCF7931(uint8_t **outBlocks) {
- uint8_t BitStream[256];
- uint8_t Blocks[8][16];
- uint8_t *GraphBuffer = (uint8_t *)BigBuf;
- int GraphTraceLen = sizeof(BigBuf);
- int i, j, lastval, bitidx, half_switch;
- int clock = 64;
- int tolerance = clock / 8;
- int pmc, block_done;
- int lc, warnings = 0;
- int num_blocks = 0;
- int lmin=128, lmax=128;
- uint8_t dir;
-
- AcquireRawAdcSamples125k(0);
-
- lmin = 64;
- lmax = 192;
-
- i = 2;
-
- /* Find first local max/min */
- if(GraphBuffer[1] > GraphBuffer[0]) {
- while(i < GraphTraceLen) {
- if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax)
- break;
- i++;
+ 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<n; i++)
- Dbprintf("(dbg) %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
- tmpBlocks[i][0], tmpBlocks[i][1], tmpBlocks[i][2], tmpBlocks[i][3], tmpBlocks[i][4], tmpBlocks[i][5], tmpBlocks[i][6], tmpBlocks[i][7],
- tmpBlocks[i][8], tmpBlocks[i][9], tmpBlocks[i][10], tmpBlocks[i][11], tmpBlocks[i][12], tmpBlocks[i][13], tmpBlocks[i][14], tmpBlocks[i][15]);
- if(!ident) {
- for(i=0; i<n; i++) {
- if(IsBlock0PCF7931(tmpBlocks[i])) {
- // Found block 0 ?
- if(i < n-1 && IsBlock1PCF7931(tmpBlocks[i+1])) {
- // Found block 1!
- // \o/
- ident = 1;
- memcpy(Blocks[0], tmpBlocks[i], 16);
- Blocks[0][ALLOC] = 1;
- memcpy(Blocks[1], tmpBlocks[i+1], 16);
- Blocks[1][ALLOC] = 1;
- max_blocks = max((Blocks[1][14] & 0x7f), Blocks[1][15]) + 1;
- // Debug print
- Dbprintf("(dbg) Max blocks: %d", max_blocks);
- num_blocks = 2;
- // Handle following blocks
- for(j=i+2, ind2=2; j!=i; j++, ind2++, num_blocks++) {
- if(j==n) j=0;
- if(j==i) break;
- memcpy(Blocks[ind2], tmpBlocks[j], 16);
- Blocks[ind2][ALLOC] = 1;
- }
- break;
- }
+ 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 {
- for(i=0; i<n; i++) { // Look for identical block in known blocks
- if(memcmp(tmpBlocks[i], "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16)) { // Block is not full of 00
- for(j=0; j<max_blocks; j++) {
- if(Blocks[j][ALLOC] == 1 && !memcmp(tmpBlocks[i], Blocks[j], 16)) {
- // Found an identical block
- for(ind=i-1,ind2=j-1; ind >= 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<n; i++)
+ Dbprintf("(dbg) %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
+ tmpBlocks[i][0], tmpBlocks[i][1], tmpBlocks[i][2], tmpBlocks[i][3], tmpBlocks[i][4], tmpBlocks[i][5], tmpBlocks[i][6], tmpBlocks[i][7],
+ tmpBlocks[i][8], tmpBlocks[i][9], tmpBlocks[i][10], tmpBlocks[i][11], tmpBlocks[i][12], tmpBlocks[i][13], tmpBlocks[i][14], tmpBlocks[i][15]);
+ if(!ident) {
+ for(i=0; i<n; i++) {
+ if(IsBlock0PCF7931(tmpBlocks[i])) {
+ // Found block 0 ?
+ if(i < n-1 && IsBlock1PCF7931(tmpBlocks[i+1])) {
+ // Found block 1!
+ // \o/
+ ident = 1;
+ memcpy(Blocks[0], tmpBlocks[i], 16);
+ Blocks[0][ALLOC] = 1;
+ memcpy(Blocks[1], tmpBlocks[i+1], 16);
+ Blocks[1][ALLOC] = 1;
+ max_blocks = max((Blocks[1][14] & 0x7f), Blocks[1][15]) + 1;
+ // Debug print
+ Dbprintf("(dbg) Max blocks: %d", max_blocks);
+ num_blocks = 2;
+ // Handle following blocks
+ for(j=i+2, ind2=2; j!=i; j++, ind2++, num_blocks++) {
+ if(j==n) j=0;
+ if(j==i) break;
+ memcpy(Blocks[ind2], tmpBlocks[j], 16);
+ Blocks[ind2][ALLOC] = 1;
+ }
+ break;
+ }
}
- }
- for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) {
- if(ind2 > max_blocks)
- ind2 = 0;
- if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found
- // Dbprintf("Tmp %d -> Block %d", ind, ind2);
- memcpy(Blocks[ind2], tmpBlocks[ind], 16);
- Blocks[ind2][ALLOC] = 1;
- num_blocks++;
- if(num_blocks == max_blocks) goto end;
+ }
+ }
+ else {
+ for(i=0; i<n; i++) { // Look for identical block in known blocks
+ if(memcmp(tmpBlocks[i], "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16)) { // Block is not full of 00
+ for(j=0; j<max_blocks; j++) {
+ if(Blocks[j][ALLOC] == 1 && !memcmp(tmpBlocks[i], Blocks[j], 16)) {
+ // Found an identical block
+ for(ind=i-1,ind2=j-1; ind >= 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<max_blocks; i++) {
- if(Blocks[i][ALLOC]==1)
- Dbprintf("%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
- Blocks[i][0], Blocks[i][1], Blocks[i][2], Blocks[i][3], Blocks[i][4], Blocks[i][5], Blocks[i][6], Blocks[i][7],
- Blocks[i][8], Blocks[i][9], Blocks[i][10], Blocks[i][11], Blocks[i][12], Blocks[i][13], Blocks[i][14], Blocks[i][15]);
- else
- Dbprintf("<missing block %d>", i);
- }
- Dbprintf("-----------------------------------------");
-
- return ;
+ Dbprintf("-----------------------------------------");
+ Dbprintf("Memory content:");
+ Dbprintf("-----------------------------------------");
+ for(i=0; i<max_blocks; i++) {
+ if(Blocks[i][ALLOC]==1)
+ Dbprintf("%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
+ Blocks[i][0], Blocks[i][1], Blocks[i][2], Blocks[i][3], Blocks[i][4], Blocks[i][5], Blocks[i][6], Blocks[i][7],
+ Blocks[i][8], Blocks[i][9], Blocks[i][10], Blocks[i][11], Blocks[i][12], Blocks[i][13], Blocks[i][14], Blocks[i][15]);
+ else
+ Dbprintf("<missing block %d>", i);
+ }
+ Dbprintf("-----------------------------------------");
+
+ return ;
}
//====================================================================
//--------------------------------------------------------------------
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
}
//====================================================================
//--------------------------------------------------------------------
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
}
//====================================================================
//--------------------------------------------------------------------
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
}
//====================================================================
// 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();
}
#include "mifarecmd.h"\r
#include "apps.h"\r
#include "util.h"\r
-#include "desfire.h"\r
-#include "../common/crc.h"\r
+\r
+#include "crc.h"\r
\r
//-----------------------------------------------------------------------------\r
// Select, Authenticate, Read a MIFARE tag. \r
// ----------------------------- crypto1 destroy\r
crypto1_destroy(pcs);\r
\r
- if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED");\r
+ if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED");\r
\r
LED_B_ON();\r
cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16);\r
if(!iso14443a_select_card(uid, NULL, &cuid)) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
Dbprintf("Can't select card");\r
- OnError(0);\r
+ //OnError(0);\r
return;\r
};\r
\r
if(mifare_ultra_auth1(cuid, dataoutbuf)){\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) \r
Dbprintf("Authentication part1: Fail.");\r
- OnError(1);\r
+ //OnError(1);\r
return;\r
}\r
\r
if(mifare_ultra_auth2(cuid, key, dataoutbuf)){\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) \r
Dbprintf("Authentication part2: Fail...");\r
- OnError(1);\r
+ //OnError(1);\r
return; \r
}\r
\r
LED_A_ON();\r
LED_B_OFF();\r
LED_C_OFF();\r
-\r
+ \r
iso14a_clear_trace();\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
\r
int len = iso14443a_select_card(uid, NULL, &cuid);\r
if(!len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card");\r
- OnError(1);\r
+ //OnError(1);\r
return;\r
- };\r
- \r
+ };\r
+ \r
len = mifare_ultra_readblock(cuid, blockNo, dataout);\r
if(len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Read block error");\r
- OnError(2);\r
+ //OnError(2);\r
return;\r
- };\r
- \r
+ };\r
+ \r
len = mifare_ultra_halt(cuid);\r
if(len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error");\r
- OnError(3);\r
+ //OnError(3);\r
return;\r
- };\r
+ };\r
\r
cmd_send(CMD_ACK,1,0,0,dataout,16);\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
\r
void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain)\r
{\r
- // params\r
- uint8_t sectorNo = arg0;\r
+ // params\r
+ uint8_t sectorNo = arg0;\r
int Pages = arg1;\r
int count_Pages = 0;\r
byte_t dataout[176] = {0x00};;\r
uint8_t uid[10] = {0x00};\r
uint32_t cuid;\r
- \r
+\r
LED_A_ON();\r
LED_B_OFF();\r
LED_C_OFF();\r
if (!len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
Dbprintf("Can't select card");\r
- OnError(1);\r
+ //OnError(1);\r
return;\r
}\r
\r
if (len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
Dbprintf("Read block %d error",i);\r
- OnError(2);\r
+ //OnError(2);\r
return;\r
} else {\r
count_Pages++;\r
if (len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
Dbprintf("Halt error");\r
- OnError(3);\r
+ //OnError(3);\r
return;\r
}\r
\r
\r
void MifareUWriteBlock(uint8_t arg0, uint8_t *datain)\r
{\r
- // params\r
- uint8_t blockNo = arg0;\r
+ // params\r
+ uint8_t blockNo = arg0;\r
byte_t blockdata[16] = {0x00};\r
\r
- memcpy(blockdata, datain, 16);\r
- \r
- // variables\r
- byte_t isOK = 0;\r
+ memcpy(blockdata, datain,16);\r
+ \r
+ // variables\r
+ byte_t isOK = 0;\r
uint8_t uid[10] = {0x00};\r
- uint32_t cuid;\r
+ uint32_t cuid;\r
\r
- iso14a_clear_trace();\r
- iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
-\r
- LED_A_ON();\r
- LED_B_OFF();\r
- LED_C_OFF();\r
-\r
- while (true) {\r
- if(!iso14443a_select_card(uid, NULL, &cuid)) {\r
- if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card");\r
- break;\r
- };\r
-\r
- if(mifare_ultra_writeblock(cuid, blockNo, blockdata)) {\r
- if (MF_DBGLEVEL >= 1) Dbprintf("Write block error");\r
- break;\r
- };\r
+ iso14a_clear_trace();\r
+ iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
\r
- if(mifare_ultra_halt(cuid)) {\r
- if (MF_DBGLEVEL >= 1) Dbprintf("Halt error");\r
- break;\r
- };\r
- \r
- isOK = 1;\r
- break;\r
- }\r
+ LED_A_ON();\r
+ LED_B_OFF();\r
+ LED_C_OFF();\r
+\r
+ while (true) {\r
+ if(!iso14443a_select_card(uid, NULL, &cuid)) {\r
+ if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card");\r
+ break;\r
+ };\r
+\r
+ if(mifare_ultra_writeblock(cuid, blockNo, blockdata)) {\r
+ if (MF_DBGLEVEL >= 1) Dbprintf("Write block error");\r
+ break;\r
+ };\r
+\r
+ if(mifare_ultra_halt(cuid)) {\r
+ if (MF_DBGLEVEL >= 1) Dbprintf("Halt error");\r
+ break;\r
+ };\r
+ \r
+ isOK = 1;\r
+ break;\r
+ }\r
\r
- if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED");\r
+ if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED");\r
\r
- cmd_send(CMD_ACK,isOK,0,0,0,0);\r
- FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
- LEDsoff();\r
+ cmd_send(CMD_ACK,isOK,0,0,0,0);\r
+ FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
+ LEDsoff();\r
}\r
\r
void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain)\r
}\r
\r
// Return 1 if the nonce is invalid else return 0\r
-int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, uint8_t * parity) {\r
+int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, uint8_t *parity) {\r
return ((oddparity((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity((NtEnc >> 24) & 0xFF) ^ BIT(Ks1,16))) & \\r
(oddparity((Nt >> 16) & 0xFF) == ((parity[1]) ^ oddparity((NtEnc >> 16) & 0xFF) ^ BIT(Ks1,8))) & \\r
(oddparity((Nt >> 8) & 0xFF) == ((parity[2]) ^ oddparity((NtEnc >> 8) & 0xFF) ^ BIT(Ks1,0)))) ? 1 : 0;\r
struct Crypto1State mpcs = {0, 0};\r
struct Crypto1State *pcs;\r
pcs = &mpcs;\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
\r
uint32_t auth1_time, auth2_time;\r
static uint16_t delta_time;\r
\r
+ // free eventually allocated BigBuf memory\r
+ BigBuf_free();\r
// clear trace\r
iso14a_clear_trace();\r
iso14a_set_tracing(false);\r
WDT_HIT();\r
\r
davg = dmax = 0;\r
- dmin = 2000; \r
+ dmin = 2000;\r
delta_time = 0;\r
\r
for (rtr = 0; rtr < 17; rtr++) {\r
}\r
}\r
\r
- if (rtr <= 1) return;\r
+ if (rtr <= 1) return;\r
\r
davg = (davg + (rtr - 1)/2) / (rtr - 1);\r
\r
// get crypted nonces for target sector\r
for(i=0; i < 2; i++) { // look for exactly two different nonces\r
\r
- WDT_HIT(); \r
- if(BUTTON_PRESS()) {\r
- DbpString("Nested: cancelled");\r
- crypto1_destroy(pcs);\r
- FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
- LEDsoff();\r
- return;\r
- }\r
-\r
target_nt[i] = 0;\r
while(target_nt[i] == 0) { // continue until we have an unambiguous nonce\r
- \r
+ \r
// prepare next select. No need to power down the card.\r
if(mifare_classic_halt(pcs, cuid)) {\r
if (MF_DBGLEVEL >= 1) Dbprintf("Nested: Halt error");\r
if (target_nt[i] == 0 && j == dmax+1 && MF_DBGLEVEL >= 3) Dbprintf("Nonce#%d: dismissed (all invalid)", i+1);\r
}\r
}\r
- \r
+\r
LED_C_OFF();\r
\r
// ----------------------------- crypto1 destroy\r
uint8_t d_block[18] = {0x00};\r
uint32_t cuid;\r
\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
- \r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
+\r
// reset FPGA and LED\r
if (workFlags & 0x08) {\r
LED_A_ON();\r
LED_B_OFF();\r
LED_C_OFF();\r
- \r
+ \r
iso14a_clear_trace();\r
iso14a_set_tracing(TRUE);\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
uint8_t data[18] = {0x00};\r
uint32_t cuid = 0;\r
\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
if (workFlags & 0x08) {\r
LED_A_ON();\r
LED_B_OFF();\r
LED_C_OFF();\r
-\r
+ \r
iso14a_clear_trace();\r
iso14a_set_tracing(TRUE);\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
// variables\r
byte_t isOK = 1;\r
\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
ReaderTransmitBitsPar(wupC1,7,0, NULL);\r
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {\r
cmd_send(CMD_ACK,isOK,0,0,0,0);\r
}\r
\r
-//\r
+ //\r
// DESFIRE\r
//\r
\r
if(!len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) \r
Dbprintf("Can't select card");\r
- OnError(1);\r
+ //OnError(1);\r
return;\r
};\r
\r
if(mifare_desfire_des_auth1(cuid, dataout)){\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) \r
Dbprintf("Authentication part1: Fail.");\r
- OnError(4);\r
+ //OnError(4);\r
return;\r
}\r
\r
if( isOK) {\r
if (MF_DBGLEVEL >= MF_DBG_EXTENDED) \r
Dbprintf("Authentication part2: Failed"); \r
- OnError(4);\r
+ //OnError(4);\r
return;\r
}\r
\r
cmd_send(CMD_ACK, isOK, 0, 0, dataout, sizeof(dataout));\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
LEDsoff();\r
-}
\ No newline at end of file
+}\r
\r
static int sniffState = SNF_INIT;\r
static uint8_t sniffUIDType;\r
-static uint8_t sniffUID[8];\r
-static uint8_t sniffATQA[2];\r
+static uint8_t sniffUID[8] = {0x00};\r
+static uint8_t sniffATQA[2] = {0x00};\r
static uint8_t sniffSAK;\r
-static uint8_t sniffBuf[16];\r
+static uint8_t sniffBuf[16] = {0x00};\r
static uint32_t timerData = 0;\r
\r
\r
int pckSize = 0;\r
int pckLen = traceLen;\r
int pckNum = 0;\r
-\r
+ uint8_t *trace = BigBuf_get_addr();\r
+ \r
FpgaDisableSscDma();\r
while (pckLen > 0) {\r
pckSize = MIN(USB_CMD_DATA_SIZE, pckLen);\r
LED_B_ON();\r
- cmd_send(CMD_ACK, 1, pckSize, pckNum, trace + traceLen - pckLen, pckSize);\r
+ cmd_send(CMD_ACK, 1, traceLen, pckSize, trace + traceLen - pckLen, pckSize);\r
LED_B_OFF();\r
\r
pckLen -= pckSize;\r
// Work with mifare cards.\r
//-----------------------------------------------------------------------------\r
\r
-#include "../include/proxmark3.h"\r
+#include "proxmark3.h"\r
#include "apps.h"\r
#include "util.h"\r
#include "string.h"\r
\r
-#include "../common/iso14443crc.h"\r
+#include "iso14443crc.h"\r
#include "iso14443a.h"\r
#include "crapto1.h"\r
#include "mifareutil.h"\r
\r
int MF_DBGLEVEL = MF_DBG_ALL;\r
\r
-// memory management\r
-uint8_t* get_bigbufptr_recvrespbuf(void) {\r
- return (((uint8_t *)BigBuf) + RECV_RESP_OFFSET);\r
-}\r
-uint8_t* get_bigbufptr_recvcmdbuf(void) {\r
- return (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); \r
-}\r
-uint8_t* get_bigbufptr_emlcardmem(void) {\r
- return (((uint8_t *)BigBuf) + CARD_MEMORY_OFFSET);\r
-}\r
-\r
// crypto1 helpers\r
void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *data, int len){\r
uint8_t bt = 0;\r
}\r
\r
// send commands\r
-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)\r
+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)\r
{\r
- 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;\r
+ return mifare_sendcmd_shortex(pcs, crypted, cmd, data, answer, answer_parity, timing);\r
+}\r
+\r
+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)\r
+{\r
+ uint8_t dcmd[8];\r
+ dcmd[0] = cmd;\r
dcmd[1] = data[0];\r
- dcmd[2] = data[1];
+ dcmd[2] = data[1];\r
dcmd[3] = data[2];\r
dcmd[4] = data[3];\r
dcmd[5] = data[4];\r
- 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);\r
+ ReaderTransmit(dcmd, sizeof(dcmd), NULL);\r
+ int len = ReaderReceive(answer, answer_parity);\r
+ if(!len) {\r
+ if (MF_DBGLEVEL >= 1) Dbprintf("Authentication failed. Card timeout.");\r
+ return 2;\r
}\r
return len;\r
}\r
if(len==1) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("NAK - Authentication failed.");\r
return 1;\r
- }
- 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];
+ }\r
+ return len;\r
+}\r
+\r
+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)\r
+{\r
+ uint8_t dcmd[4], ecmd[4];\r
uint16_t pos, res;\r
uint8_t par[1]; // 1 Byte parity is enough here\r
dcmd[0] = cmd;\r
int len = ReaderReceive(answer, par);\r
\r
if (answer_parity) *answer_parity = par[0];\r
-\r
+ \r
if (crypted == CRYPT_ALL) {\r
if (len == 1) {\r
res = 0;\r
return mifare_classic_authex(pcs, uid, blockNo, keyType, ui64Key, isNested, NULL, NULL);\r
}\r
\r
-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) \r
+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) \r
{\r
// variables\r
int len; \r
uint32_t nt, ntpp; // Supplied tag nonce\r
\r
uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
-\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
+ \r
// Transmit MIFARE_CLASSIC_AUTH\r
len = mifare_sendcmd_short(pcs, isNested, 0x60 + (keyType & 0x01), blockNo, receivedAnswer, receivedAnswerPar, timing);\r
if (MF_DBGLEVEL >= 4) Dbprintf("rand tag nonce len: %x", len); \r
int len; \r
uint8_t bt[2];\r
\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
// command MIFARE_CLASSIC_READBLOCK\r
len = mifare_sendcmd_short(pcs, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL);\r
}\r
\r
memcpy(blockData, receivedAnswer, 16);\r
- return 0;
+ return 0;\r
}\r
\r
// mifare ultralight commands\r
int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){\r
\r
uint16_t len;\r
- uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
len = mifare_sendcmd_short(NULL, 1, 0x1A, 0x00, receivedAnswer,receivedAnswerPar ,NULL);\r
if (len == 1) {\r
int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){\r
\r
uint16_t len;\r
- uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
len = mifare_sendcmd_short_mfucauth(NULL, 1, 0xAF, key, receivedAnswer, receivedAnswerPar, NULL);\r
if (len == 1) {\r
}\r
memcpy(blockData, receivedAnswer, 11);\r
return 0;\r
-}
-
-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;\r
- \r
-
- // command MIFARE_CLASSIC_READBLOCK
- len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL);
- if (len == 1) {
+}\r
+\r
+int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData)\r
+{\r
+ uint16_t len;\r
+ uint8_t bt[2];\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
+ \r
+ \r
+ // command MIFARE_CLASSIC_READBLOCK\r
+ len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL);\r
+ if (len == 1) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- Dbprintf("Cmd Error: %02x", receivedAnswer[0]);
- return 1;
- }
- if (len != 18) {
+ Dbprintf("Cmd Error: %02x", receivedAnswer[0]);\r
+ return 1;\r
+ }\r
+ if (len != 18) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- 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);\r
+ return 2;\r
+ }\r
+ \r
+ memcpy(bt, receivedAnswer + 16, 2);\r
+ AppendCrc14443a(receivedAnswer, 16);\r
+ if (bt[0] != receivedAnswer[16] || bt[1] != receivedAnswer[17]) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- 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.");\r
+ return 3;\r
+ }\r
+ \r
+ memcpy(blockData, receivedAnswer, 14);\r
+ return 0;\r
+}\r
+\r
+\r
+int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData) \r
+{\r
+ // variables\r
uint16_t len, i; \r
uint32_t pos;\r
uint8_t par[3] = {0}; // enough for 18 Bytes to send\r
byte_t res;\r
\r
uint8_t d_block[18], d_block_enc[18];\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
// command MIFARE_CLASSIC_WRITEBLOCK\r
len = mifare_sendcmd_short(pcs, 1, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL);\r
return 2;\r
}\r
\r
- 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();\r
- 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;\r
+}\r
+\r
+int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) \r
+{\r
+ uint16_t len; \r
+ uint8_t par[3] = {0}; // enough for 18 parity bits\r
+ uint8_t d_block[18] = {0x00};\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
+ \r
+ // command MIFARE_CLASSIC_WRITEBLOCK\r
+ len = mifare_sendcmd_short(NULL, true, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL);\r
+\r
+ if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- 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);
-\r
- len = ReaderReceive(receivedAnswer, receivedAnswerPar);
-
- if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK
+ Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); \r
+ return 1;\r
+ }\r
+\r
+ memcpy(d_block, blockData, 16);\r
+ AppendCrc14443a(d_block, 16);\r
+\r
+ ReaderTransmitPar(d_block, sizeof(d_block), par, NULL);\r
+\r
+ len = ReaderReceive(receivedAnswer, receivedAnswerPar); \r
+\r
+ if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- 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();\r
- 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);\r
+ return 2;\r
+ } \r
+ return 0;\r
+} \r
+\r
+int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData)\r
+{\r
+ uint16_t len;\r
+ uint8_t d_block[8] = {0x00};\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
+\r
+ // command MIFARE_CLASSIC_WRITEBLOCK\r
+ d_block[0]= blockNo;\r
+ memcpy(d_block+1,blockData,4);\r
+ AppendCrc14443a(d_block, 6);\r
+\r
+ len = mifare_sendcmd_short_special(NULL, 1, 0xA2, d_block, receivedAnswer, receivedAnswerPar, NULL);\r
+\r
+ if (receivedAnswer[0] != 0x0A) { // 0x0a - ACK\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- 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);\r
+ return 1;\r
+ }\r
+ return 0;\r
+}\r
+\r
+int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) \r
+{\r
uint16_t len; \r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
len = mifare_sendcmd_short(pcs, pcs == NULL ? false:true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL);\r
if (len != 0) {\r
return 1;\r
}\r
\r
- return 0;
-}
-
-int mifare_ultra_halt(uint32_t uid)
-{
- uint16_t len; \r
- uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
-
- len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL);
- if (len != 0) {
+ return 0;\r
+}\r
+\r
+int mifare_ultra_halt(uint32_t uid)\r
+{\r
+ uint16_t len;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
+ \r
+ len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL);\r
+ if (len != 0) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
- Dbprintf("halt error. response len: %x", len);
- return 1;
+ Dbprintf("halt error. response len: %x", len);\r
+ return 1;\r
}\r
- return 0;
-}
-
+ return 0;\r
+}\r
+\r
\r
// Mifare Memory Structure: up to 32 Sectors with 4 blocks each (1k and 2k cards),\r
// plus evtl. 8 sectors with 16 blocks each (4k cards)\r
}\r
\r
\r
-// work with emulator memory
-void emlSetMem(uint8_t *data, int blockNum, int blocksCount) {
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+// work with emulator memory\r
+void emlSetMem(uint8_t *data, int blockNum, int blocksCount) {\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
memcpy(emCARD + blockNum * 16, data, blocksCount * 16);\r
}\r
\r
void emlGetMem(uint8_t *data, int blockNum, int blocksCount) {\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
memcpy(data, emCARD + blockNum * 16, blocksCount * 16);\r
}\r
\r
void emlGetMemBt(uint8_t *data, int bytePtr, int byteCount) {\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
memcpy(data, emCARD + bytePtr, byteCount);\r
}\r
\r
int emlCheckValBl(int blockNum) {\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
uint8_t* data = emCARD + blockNum * 16;\r
\r
if ((data[0] != (data[4] ^ 0xff)) || (data[0] != data[8]) ||\r
}\r
\r
int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) {\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
uint8_t* data = emCARD + blockNum * 16;\r
\r
if (emlCheckValBl(blockNum)) {\r
}\r
\r
memcpy(blReg, data, 4);\r
- *blBlock = data[12]; \r
+ *blBlock = data[12];\r
return 0;\r
}\r
\r
int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) {\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
uint8_t* data = emCARD + blockNum * 16;\r
\r
memcpy(data + 0, &blReg, 4);\r
\r
uint64_t emlGetKey(int sectorNum, int keyType) {\r
uint8_t key[6];\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
\r
memcpy(key, emCARD + 16 * (FirstBlockOfSector(sectorNum) + NumBlocksPerSector(sectorNum) - 1) + keyType * 10, 6);\r
return bytes_to_num(key, 6);\r
\r
const uint8_t trailer[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x80, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};\r
const uint8_t uid[] = {0xe6, 0x84, 0x87, 0xf3, 0x16, 0x88, 0x04, 0x00, 0x46, 0x8e, 0x45, 0x55, 0x4d, 0x70, 0x41, 0x04};\r
- uint8_t* emCARD = get_bigbufptr_emlcardmem();\r
+ uint8_t* emCARD = BigBuf_get_EM_addr();\r
\r
memset(emCARD, 0, CARD_MEMORY_SIZE);\r
\r
int len;\r
// load key, keynumber\r
uint8_t data[2]={0x0a, 0x00};\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
len = mifare_sendcmd_special(NULL, 1, 0x02, data, receivedAnswer,receivedAnswerPar,NULL);\r
if (len == 1) {\r
data[0] = 0xAF;\r
memcpy(data+1,key,16);\r
\r
- uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf();\r
- uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE;\r
+ uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+ uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];\r
\r
len = mifare_sendcmd_special2(NULL, 1, 0x03, data, receivedAnswer, receivedAnswerPar ,NULL);\r
\r
return 0;\r
}\r
return 1;\r
-}
\ No newline at end of file
+}\r
#define CRYPT_NONE 0\r
#define CRYPT_ALL 1\r
#define CRYPT_REQUEST 2\r
-#define AUTH_FIRST 0\r
+#define AUTH_FIRST 0 \r
#define AUTH_NESTED 2\r
\r
// mifare 4bit card answers\r
#define cardSTATE_TO_IDLE() cardSTATE = MFEMUL_IDLE; LED_B_OFF(); LED_C_OFF();\r
\r
//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);
\r
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);\r
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);
void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, uint8_t *par);\r
uint8_t mf_crypto1_encrypt4bit(struct Crypto1State *pcs, uint8_t data);\r
\r
-// memory management\r
-uint8_t* get_bigbufptr_recvrespbuf(void);\r
-uint8_t* get_bigbufptr_recvcmdbuf(void);\r
-uint8_t* get_bigbufptr_emlcardmem(void);\r
-\r
// Mifare memory structure\r
uint8_t NumBlocksPerSector(uint8_t sectorNo);\r
uint8_t FirstBlockOfSector(uint8_t sectorNo);\r
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);
#include <stddef.h>
#include <stdint.h>
-#include "../include/common.h"
+#include "common.h"
#define BYTEx(x, n) (((x) >> (n * 8)) & 0xff )
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)
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 \
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 \
scripting.c\
cmdscript.c\
pm3_bitlib.c\
+ aes.c\
COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o)
--- /dev/null
+/*
+ * 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 <polarssl_maintainer at polarssl.org>
+ *
+ * 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 <stdio.h>
+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 <stdio.h>
+
+/*
+ * 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 */
--- /dev/null
+/**
+ * \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 <polarssl_maintainer at polarssl.org>
+ *
+ * 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 <string.h>
+
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
+#include <basetsd.h>
+typedef UINT32 uint32_t;
+#else
+#include <inttypes.h>
+#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 */
#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;
}
/*
//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
//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 (;i<DemodBufferLen;++i){
+ if (DemodBuffer[i]>high) high=DemodBuffer[i];
+ else if(DemodBuffer[i]<low) low=DemodBuffer[i];
+ BitStream[i]=DemodBuffer[i];
+ }
+ if (high>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<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 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 (;i<DemodBufferLen;++i){
+ if(DemodBuffer[i]>high)high=DemodBuffer[i];
+ else if(DemodBuffer[i]<low)low=DemodBuffer[i];
+ BitStream[i]=DemodBuffer[i];
+ }
+ if (high>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)
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);
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;
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; i<GraphTraceLen; i++){
+ shiftedVal=GraphBuffer[i]+shift;
+ if (shiftedVal>127)
+ 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;
}
//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)
//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; j<size; j++){
+ if(BitStream[j]) break;
+ }
+ uint8_t fmtLen = size-j-8;
+ uint32_t fc = 0;
+ uint32_t cardnum = 0;
+ uint32_t code1 = 0;
+ //uint32_t code2 = 0;
+ if (fmtLen==26){
+ fc = bytebits_to_byte(BitStream+73, 8);
+ cardnum = bytebits_to_byte(BitStream+81, 16);
+ code1 = bytebits_to_byte(BitStream+72,fmtLen);
+ PrintAndLog("Pyramid ID Found - BitLength: %d, FC: %d, Card: %d - Wiegand: %x, Raw: %x%08x%08x%08x", fmtLen, fc, cardnum, code1, rawHi3, rawHi2, rawHi, rawLo);
+ } else if (fmtLen==45){
+ fmtLen=42; //end = 10 bits not 7 like 26 bit fmt
+ fc = bytebits_to_byte(BitStream+53, 10);
+ cardnum = bytebits_to_byte(BitStream+63, 32);
+ PrintAndLog("Pyramid ID Found - BitLength: %d, FC: %d, Card: %d - Raw: %x%08x%08x%08x", fmtLen, fc, cardnum, rawHi3, rawHi2, rawHi, rawLo);
+ } else {
+ cardnum = bytebits_to_byte(BitStream+81, 16);
+ if (fmtLen>32){
+ //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
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<DemodBufferLen; 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 (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);
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 */
requested = 8;
}
if (offset + requested > sizeof(got)) {
- PrintAndLog("Tried to read past end of buffer, <bytes> + <offset> > 40000");
+ PrintAndLog("Tried to read past end of buffer, <bytes> + <offset> > %d", BIGBUF_SIZE);
return 0;
- }
+ }
GetFromBigBuf(got,requested,offset);
WaitForResponse(CMD_ACK,NULL);
*(string_ptr - 1) = '\0';
PrintAndLog("%s", string_buf);
string_buf[0] = '\0';
- }
}
+ }
return 0;
}
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;
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];
RepaintGraphWindow();
return 0;
}
+
+// trim graph to input argument length
int CmdRtrim(const char *Cmd)
{
int ds = atoi(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 */
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;
{
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)
{
// 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)
{
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 */
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();
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");
{
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)
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, "<window length> -- 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, "<thres up> <thres down> -- 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, "<x> <y> -- overlay grid on graph window, use zero value to turn off either"},
- {"hexsamples", CmdHexsamples, 0, "<bytes> [<offset>] -- Dump big buffer as hex bytes"},
+ {"hexsamples", CmdHexsamples, 0, "<bytes> [<offset>] -- Dump big buffer as hex bytes"},
{"hide", CmdHide, 1, "Hide graph window"},
{"hpf", CmdHpf, 1, "Remove DC offset from trace"},
{"load", CmdLoad, 1, "<filename> -- Load trace (to graph window"},
{"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, "<filename> -- Save trace (from graph window)"},
{"scale", CmdScale, 1, "<int> -- Set cursor display scale"},
+ {"setdebugmode", CmdSetDebugMode, 1, "<0|1> -- Turn on or off Debugging Mode for demods"},
+ {"shiftgraphzero",CmdGraphShiftZero, 1, "<shift> -- Shift 0 for Graphed wave + or - shift value"},
{"threshold", CmdThreshold, 1, "<threshold> -- Maximize/minimize every value in the graph window depending on threshold"},
- {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"},
+ {"dirthreshold", CmdDirectionalThreshold, 1, "<thres up> <thres down> -- 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}
};
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);
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);
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
#include "cmdhficlass.h"
#include "cmdhfmf.h"
#include "cmdhfmfu.h"
-#include "cmdhfmfdes.h"
-#include "cmdhfdes.h"
static int CmdHelp(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
/*
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
#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
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)
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;
}
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;
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));
}
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;
}
}
//--- 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;
} 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) {
(next_timestamp - EndOfTransmissionTimestamp));
}
}
+
return tracepos;
}
+
int CmdHFList(const char *Cmd)
{
bool showWaitCycles = false;
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;
}
{
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 <protocol> [f]");
+ PrintAndLog(" f - show frame delay times as well");
+ PrintAndLog("Supported <protocol> 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)");
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;
}
{"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)
#include <string.h>
#include <unistd.h>
#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);
// 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)
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 ) {
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
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;
c.arg[1] = 0;
c.arg[2] = 0;
SendCommand(&c);
-
+
return select_status;
}
PrintAndLog(" syntax: hf 14a sim <type> <uid>");
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;
}
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]");
}
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;
}
{"list", CmdHF14AList, 0, "[Deprecated] List ISO 14443a history"},
{"reader", CmdHF14AReader, 0, "Act like an ISO14443 Type A reader"},
{"cuids", CmdHF14ACUIDs, 0, "<n> Collect n>0 ISO14443 Type A UIDs in one go"},
- {"sim", CmdHF14ASim, 0, "<UID> -- Fake ISO 14443a tag"},
+ {"sim", CmdHF14ASim, 0, "<UID> -- 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}
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("---------+----+----+-----------");
for(;;) {
- if(i >= TRACE_BUFFER_SIZE) { break; }
+ if(i >= traceLen) { break; }
bool isResponse;
int timestamp = *((uint32_t *)(got+i));
if(len > 100) {
break;
}
- if(i + len >= TRACE_BUFFER_SIZE) {
+ if(i + len >= traceLen) {
break;
}
prev = timestamp;
i += (len + 9);
}
+ free(got);
return 0;
}
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;
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");
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;
#include "util.h"
#include "cmdparser.h"
#include "cmdhf15.h"
-#include "../common/iso15693tools.h"
+#include "iso15693tools.h"
#include "cmdmain.h"
#define FrameSOF Iso15693FrameSOF
#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 {
if (best==-1) {
best=i;
} else {
- if (uidmapping[i].mask > uidmapping[best].mask) {
+ if (uidmapping[i].mask>uidmapping[best].mask) {
best=i;
}
}
*/
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)++;
#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"
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)
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)) {
}
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;
/*
if (strlen(Cmd)<1) {
PrintAndLog("Usage: hf iclass replay <MAC>");
PrintAndLog(" sample: hf iclass replay 00112233");
- return 0;
+ return 0;
}
if (param_gethex(Cmd, 0, MAC, 8)) {
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...");
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)
int CmdHelp(const char *Cmd)
{
CmdsHelp(CommandTable);
- return 0;
+ return 0;
}
#include "cmdparser.h"
#include "cmdhflegic.h"
#include "cmdmain.h"
-
+#include "util.h"
static int CmdHelp(const char *Cmd);
static command_t CommandTable[] =
//-----------------------------------------------------------------------------\r
// High frequency MIFARE commands\r
//-----------------------------------------------------------------------------\r
-#include "../include/mifare.h"\r
+\r
#include "cmdhfmf.h"\r
\r
static int CmdHelp(const char *Cmd);\r
SendCommand(&c);\r
\r
//flush queue\r
- while (ukbhit()) getchar();\r
+ while (ukbhit()) getchar();\r
\r
// wait cycle\r
while (true) {\r
PrintAndLog("Key not found (lfsr_common_prefix list is null). Nt=%08x", nt); \r
} else {\r
printf("------------------------------------------------------------------\n");\r
- PrintAndLog("Key found :%012"llx" \n", r_key);\r
+ PrintAndLog("Key found:%012"llx" \n", r_key);\r
\r
num_to_bytes(r_key, 6, keyBlock);\r
isOK = mfCheckKeys(0, 0, 1, keyBlock, &r_key);\r
}\r
\r
if (!isOK) \r
- PrintAndLog("Found valid key :%012"llx, r_key);\r
+ PrintAndLog("Found valid key:%012"llx, r_key);\r
else\r
{\r
if (isOK != 2) PrintAndLog("Found invalid key. "); \r
PrintAndLog("--block no:%d, key type:%c, key:%s", blockNo, keyType?'B':'A', sprint_hex(key, 6));\r
PrintAndLog("--data: %s", sprint_hex(bldata, 16));\r
\r
- UsbCommand c = {CMD_MIFARE_WRITEBL, {blockNo, keyType, 0}};\r
+ UsbCommand c = {CMD_MIFARE_WRITEBL, {blockNo, keyType, 0}};\r
memcpy(c.d.asBytes, key, 6);\r
memcpy(c.d.asBytes + 10, bldata, 16);\r
- SendCommand(&c);\r
+ SendCommand(&c);\r
\r
UsbCommand resp;\r
if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {\r
}\r
PrintAndLog("--block no:%d, key type:%c, key:%s ", blockNo, keyType?'B':'A', sprint_hex(key, 6));\r
\r
- UsbCommand c = {CMD_MIFARE_READBL, {blockNo, keyType, 0}};\r
+ UsbCommand c = {CMD_MIFARE_READBL, {blockNo, keyType, 0}};\r
memcpy(c.d.asBytes, key, 6);\r
- SendCommand(&c);\r
+ SendCommand(&c);\r
\r
UsbCommand resp;\r
if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {\r
}\r
\r
if ((fin = fopen("dumpkeys.bin","rb")) == NULL) {\r
- PrintAndLog("Could not find file dumpkeys.bin"); \r
+ PrintAndLog("Could not find file dumpkeys.bin");\r
return 1;\r
}\r
\r
}\r
\r
fclose(fin);\r
- \r
+\r
PrintAndLog("|-----------------------------------------|");\r
PrintAndLog("|------ Reading sector access bits...-----|");\r
PrintAndLog("|-----------------------------------------|");\r
received = WaitForResponseTimeout(CMD_ACK,&resp,1500);\r
} else if (rights[sectorNo][data_area] == 0x07) { // no key would work\r
isOK = false;\r
- PrintAndLog("Access rights do not allow reading of sector %2d block %3d", sectorNo, blockNo);\r
+ PrintAndLog("Access rights do not allow reading of sector %2d block %3d", sectorNo, blockNo);\r
} else { // key A would work\r
- UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 0, 0}};\r
- memcpy(c.d.asBytes, keyA[sectorNo], 6);\r
- SendCommand(&c);\r
- received = WaitForResponseTimeout(CMD_ACK,&resp,1500);\r
+ UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 0, 0}};\r
+ memcpy(c.d.asBytes, keyA[sectorNo], 6);\r
+ SendCommand(&c);\r
+ received = WaitForResponseTimeout(CMD_ACK,&resp,1500);\r
}\r
}\r
\r
fclose(fout);\r
PrintAndLog("Dumped %d blocks (%d bytes) to file dumpdata.bin", numblocks, 16*numblocks);\r
}\r
- \r
+ \r
return 0;\r
}\r
\r
PrintAndLog(" hf mf restore 4");\r
return 0;\r
}\r
- \r
+\r
if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) {\r
PrintAndLog("Could not find file dumpkeys.bin");\r
return 1;\r
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {\r
if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) {\r
PrintAndLog("File reading error (dumpkeys.bin).");\r
+\r
+ fclose(fkeys);\r
return 2;\r
}\r
}\r
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {\r
if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) {\r
PrintAndLog("File reading error (dumpkeys.bin).");\r
+ fclose(fkeys);\r
return 2;\r
}\r
}\r
\r
fclose(fkeys);\r
- \r
+\r
if ((fdump = fopen("dumpdata.bin","rb")) == NULL) {\r
PrintAndLog("Could not find file dumpdata.bin");\r
return 1;\r
bool calibrate = true;\r
for (i = 0; i < NESTED_SECTOR_RETRY; i++) {\r
for (uint8_t sectorNo = 0; sectorNo < SectorsCnt; sectorNo++) {\r
-\r
- if (ukbhit()) {\r
- printf("\naborted via keyboard!\n");\r
- free(e_sector);\r
- return 2;\r
- } \r
- \r
for (trgKeyType = 0; trgKeyType < 2; trgKeyType++) { \r
if (e_sector[sectorNo].foundKey[trgKeyType]) continue;\r
PrintAndLog("-----------------------------------------------");\r
}\r
fclose(fkeys);\r
}\r
-\r
+ \r
free(e_sector);\r
}\r
return 0;\r
PrintAndLog(" hf mf chk *1 ? t");\r
PrintAndLog(" hf mf chk *1 ? d");\r
return 0;\r
- }\r
- \r
+ } \r
+\r
FILE * f;\r
char filename[FILE_PATH_SIZE]={0};\r
char buf[13];\r
PrintAndLog("No key specified, trying default keys");\r
for (;keycnt < defaultKeysSize; keycnt++)\r
PrintAndLog("chk default key[%2d] %02x%02x%02x%02x%02x%02x", keycnt,\r
- (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2],\r
- (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6);\r
+ (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2],\r
+ (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6);\r
}\r
\r
// initialize storage for found keys\r
for (uint16_t t = 0; t < 2; t++) {\r
if (validKey[t][sectorNo]) {\r
memcpy(block + t*10, foundKey[t][sectorNo], 6);\r
- }\r
- }\r
+ }\r
+ }\r
mfEmlSetMem(block, FirstBlockOfSector(sectorNo) + NumBlocksPerSector(sectorNo) - 1, 1);\r
}\r
}\r
PrintAndLog("Found keys have been transferred to the emulator memory");\r
- }\r
+ }\r
\r
if (createDumpFile) {\r
FILE *fkeys = fopen("dumpkeys.bin","wb");\r
PrintAndLog("Could not create file dumpkeys.bin");\r
free(keyBlock);\r
return 1;\r
- }\r
+ }\r
for (uint16_t t = 0; t < 2; t++) {\r
fwrite(foundKey[t], 1, 6*SectorsCnt, fkeys);\r
}\r
\r
free(keyBlock);\r
PrintAndLog("");\r
- return 0;\r
+ return 0;\r
}\r
\r
int CmdHF14AMf1kSim(const char *Cmd)\r
uint8_t exitAfterNReads = 0;\r
uint8_t flags = 0;\r
\r
- if (param_getchar(Cmd, 0) == 'h') {\r
+ uint8_t cmdp = param_getchar(Cmd, 0);\r
+ \r
+ if (cmdp == 'h' || cmdp == 'H') {\r
PrintAndLog("Usage: hf mf sim u <uid (8 hex symbols)> n <numreads> i x");\r
+ PrintAndLog(" h this help");\r
PrintAndLog(" u (Optional) UID. If not specified, the UID from emulator memory will be used");\r
PrintAndLog(" n (Optional) Automatically exit simulation after <numreads> blocks have been read by reader. 0 = infinite");\r
PrintAndLog(" i (Optional) Interactive, means that console will not be returned until simulation finishes or is aborted");\r
PrintAndLog(" x (Optional) Crack, performs the 'reader attack', nr/ar attack against a legitimate reader, fishes out the key(s)");\r
+ PrintAndLog("");\r
PrintAndLog(" sample: hf mf sim u 0a0a0a0a ");\r
return 0;\r
}\r
int CmdHF14AMfEGet(const char *Cmd)\r
{\r
uint8_t blockNo = 0;\r
- uint8_t data[16];\r
+ uint8_t data[16] = {0x00};\r
\r
if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') {\r
PrintAndLog("Usage: hf mf eget <block number>");\r
FILE * f;\r
char filename[FILE_PATH_SIZE];\r
char *fnameptr = filename;\r
- char buf[64];\r
- uint8_t buf8[64];\r
+ char buf[64] = {0x00};\r
+ uint8_t buf8[64] = {0x00};\r
int i, len, blockNum, numBlocks;\r
int nameParamNo = 1;\r
\r
- memset(filename, 0, sizeof(filename));\r
- memset(buf, 0, sizeof(buf));\r
-\r
char ctmp = param_getchar(Cmd, 0);\r
\r
if ( ctmp == 'h' || ctmp == 0x00) {\r
fclose(f);\r
return 3;\r
}\r
+ printf(".");\r
blockNum++;\r
\r
if (blockNum >= numBlocks) break;\r
}\r
fclose(f);\r
+ printf("\n");\r
\r
if ((blockNum != numBlocks)) {\r
PrintAndLog("File content error. Got %d must be %d blocks.",blockNum, numBlocks);\r
char ctmp = param_getchar(Cmd, 0);\r
\r
if ( ctmp == 'h' || ctmp == 'H') {\r
- PrintAndLog("It saves emul dump into the file `filename.eml` or `cardID.eml`"); \r
+ PrintAndLog("It saves emul dump into the file `filename.eml` or `cardID.eml`");\r
PrintAndLog(" Usage: hf mf esave [card memory] [file name w/o `.eml`]");\r
PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K");\r
PrintAndLog("");\r
PrintAndLog(" hf mf esave 4 filename");\r
return 0;\r
} \r
- \r
+\r
switch (ctmp) {\r
case '0' : numBlocks = 5*4; break;\r
case '1' : \r
\r
// open file\r
f = fopen(filename, "w+");\r
- \r
+\r
if ( !f ) {\r
PrintAndLog("Can't open file %s ", filename);\r
return 1;\r
char ctmp = param_getchar(Cmd, 1);\r
if (ctmp == 'w' || ctmp == 'W') wipeCard = 1;\r
\r
- PrintAndLog("--wipe card:%02x uid:%s", wipeCard, sprint_hex(uid, 4));\r
+ PrintAndLog("--wipe card:%s uid:%s", (wipeCard)?"YES":"NO", sprint_hex(uid, 4));\r
\r
res = mfCSetUID(uid, oldUid, wipeCard);\r
if (res) {\r
- PrintAndLog("Can't set UID. error=%d", res);\r
- return 1;\r
- }\r
+ PrintAndLog("Can't set UID. error=%d", res);\r
+ return 1;\r
+ }\r
\r
PrintAndLog("old UID:%s", sprint_hex(oldUid, 4));\r
PrintAndLog("new UID:%s", sprint_hex(uid, 4));\r
\r
int CmdHF14AMfCSetBlk(const char *Cmd)\r
{\r
- uint8_t uid[8];\r
- uint8_t memBlock[16];\r
+ uint8_t uid[8] = {0x00};\r
+ uint8_t memBlock[16] = {0x00};\r
uint8_t blockNo = 0;\r
int res;\r
- memset(memBlock, 0x00, sizeof(memBlock));\r
\r
if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') {\r
PrintAndLog("Usage: hf mf csetblk <block number> <block data (32 hex symbols)>");\r
return 1;\r
}\r
\r
- PrintAndLog("UID:%s", sprint_hex(uid, 4));\r
return 0;\r
}\r
\r
uint8_t fillFromEmulator = 0;\r
int i, len, blockNum, flags;\r
\r
- // memset(filename, 0, sizeof(filename));\r
- // memset(buf, 0, sizeof(buf));\r
-\r
if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) {\r
- PrintAndLog("It loads magic Chinese card (only works with!!!) from the file `filename.eml`");\r
+ PrintAndLog("It loads magic Chinese card from the file `filename.eml`");\r
PrintAndLog("or from emulator memory (option `e`)");\r
PrintAndLog("Usage: hf mf cload <file name w/o `.eml`>");\r
PrintAndLog(" or: hf mf cload e ");\r
blockNum = 0;\r
flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC;\r
while(!feof(f)){\r
+ \r
memset(buf, 0, sizeof(buf));\r
+ \r
if (fgets(buf, sizeof(buf), f) == NULL) {\r
PrintAndLog("File reading error.");\r
return 2;\r
PrintAndLog("Loaded from file: %s", filename);\r
return 0;\r
}\r
+ return 0;\r
}\r
\r
int CmdHF14AMfCGetBlk(const char *Cmd) {\r
\r
\r
int CmdHF14AMfCGetSc(const char *Cmd) {\r
- uint8_t memBlock[16];\r
+ uint8_t memBlock[16] = {0x00};\r
uint8_t sectorNo = 0;\r
int i, res, flags;\r
- memset(memBlock, 0x00, sizeof(memBlock));\r
\r
if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') {\r
PrintAndLog("Usage: hf mf cgetsc <sector number>");\r
\r
// open file\r
f = fopen(filename, "w+");\r
- \r
+\r
if (f == NULL) {\r
PrintAndLog("File not found or locked.");\r
return 1;\r
int res = 0;\r
int len = 0;\r
int blockLen = 0;\r
- int num = 0;\r
int pckNum = 0;\r
+ int num = 0;\r
uint8_t uid[7];\r
uint8_t uid_len;\r
- uint8_t atqa[2];\r
+ uint8_t atqa[2] = {0x00};\r
uint8_t sak;\r
bool isTag;\r
- uint8_t buf[3000];\r
- uint8_t * bufPtr = buf;\r
- memset(buf, 0x00, 3000);\r
+ uint8_t *buf = NULL;\r
+ uint16_t bufsize = 0;\r
+ uint8_t *bufPtr = NULL;\r
\r
- if (param_getchar(Cmd, 0) == 'h') {\r
+ char ctmp = param_getchar(Cmd, 0);\r
+ if ( ctmp == 'h' || ctmp == 'H' ) {\r
PrintAndLog("It continuously gets data from the field and saves it to: log, emulator, emulator file.");\r
PrintAndLog("You can specify:");\r
PrintAndLog(" l - save encrypted sequence to logfile `uid.log`");\r
} \r
\r
for (int i = 0; i < 4; i++) {\r
- char ctmp = param_getchar(Cmd, i);\r
+ ctmp = param_getchar(Cmd, i);\r
if (ctmp == 'l' || ctmp == 'L') wantLogToFile = true;\r
if (ctmp == 'd' || ctmp == 'D') wantDecrypt = true;\r
//if (ctmp == 'e' || ctmp == 'E') wantSaveToEml = true; TODO\r
break;\r
}\r
\r
- UsbCommand resp;\r
- if (WaitForResponseTimeout(CMD_ACK,&resp,2000)) {\r
+ UsbCommand resp;\r
+ if (WaitForResponseTimeout(CMD_ACK,&resp,2000)) {\r
res = resp.arg[0] & 0xff;\r
- len = resp.arg[1];\r
- num = resp.arg[2];\r
- \r
- if (res == 0) return 0;\r
- if (res == 1) {\r
- if (num ==0) {\r
+ uint16_t traceLen = resp.arg[1];\r
+ len = resp.arg[2];\r
+\r
+ if (res == 0) return 0; // we are done\r
+\r
+ if (res == 1) { // there is (more) data to be transferred\r
+ if (pckNum == 0) { // first packet, (re)allocate necessary buffer\r
+ if (traceLen > bufsize) {\r
+ uint8_t *p;\r
+ if (buf == NULL) { // not yet allocated\r
+ p = malloc(traceLen);\r
+ } else { // need more memory\r
+ p = realloc(buf, traceLen);\r
+ }\r
+ if (p == NULL) {\r
+ PrintAndLog("Cannot allocate memory for trace");\r
+ free(buf);\r
+ return 2;\r
+ }\r
+ buf = p;\r
+ }\r
bufPtr = buf;\r
- memset(buf, 0x00, 3000);\r
+ bufsize = traceLen;\r
+ memset(buf, 0x00, traceLen);\r
}\r
memcpy(bufPtr, resp.d.asBytes, len);\r
bufPtr += len;\r
pckNum++;\r
}\r
- if (res == 2) {\r
+\r
+ if (res == 2) { // received all data, start displaying\r
blockLen = bufPtr - buf;\r
bufPtr = buf;\r
printf(">\n");\r
PrintAndLog("received trace len: %d packages: %d", blockLen, pckNum);\r
- num = 0;\r
while (bufPtr - buf < blockLen) {\r
- bufPtr += 6;\r
+ bufPtr += 6; // skip (void) timing information\r
len = *((uint16_t *)bufPtr);\r
-\r
if(len & 0x8000) {\r
isTag = true;\r
len &= 0x7fff;\r
}\r
bufPtr += 2;\r
if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff) && (bufPtr[12] == 0xff) && (bufPtr[13] == 0xff)) {\r
- \r
memcpy(uid, bufPtr + 2, 7);\r
memcpy(atqa, bufPtr + 2 + 7, 2);\r
uid_len = (atqa[0] & 0xC0) == 0x40 ? 7 : 4;\r
sak = bufPtr[11];\r
- \r
PrintAndLog("tag select uid:%s atqa:0x%02x%02x sak:0x%02x", \r
sprint_hex(uid + (7 - uid_len), uid_len),\r
atqa[1], \r
AddLogHex(logHexFileName, isTag ? "TAG: ":"RDR: ", bufPtr, len);\r
if (wantDecrypt) \r
mfTraceDecode(bufPtr, len, wantSaveToEmlFile);\r
+ num++; \r
}\r
bufPtr += len;\r
- bufPtr += ((len-1)/8+1); // ignore parity\r
- num++;\r
+ bufPtr += ((len-1)/8+1); // ignore parity\r
}\r
+ pckNum = 0;\r
}\r
} // resp not NULL\r
} // while (true)\r
- \r
+\r
+ free(buf);\r
return 0;\r
}\r
\r
-// Tries to identify cardsize.\r
-// Returns <num> where num is:\r
-// -1 unidentified\r
-// 0 - MINI (320bytes)\r
-// 1 - 1K\r
-// 2 - 2K\r
-// 4 - 4K\r
-int GetCardSize()\r
-{\r
- UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_CONNECT, 0, 0}};\r
- SendCommand(&c);\r
-\r
- UsbCommand resp;\r
- WaitForResponse(CMD_ACK,&resp);\r
-\r
- if(resp.arg[0] == 0) {\r
- PrintAndLog("iso14443a card select failed");\r
- return -1;\r
- }\r
- \r
- iso14a_card_select_t *card = (iso14a_card_select_t *)resp.d.asBytes;\r
-\r
- PrintAndLog("Trying to detect card size.");\r
- \r
- uint16_t atqa = 0;\r
- uint8_t sak = 0;\r
- atqa = (card->atqa[1] & 0xff) << 8;\r
- atqa += card->atqa[0] & 0xff;\r
- sak = card->sak;\r
- \r
- // https://code.google.com/p/libnfc/source/browse/libnfc/target-subr.c\r
- \r
- PrintAndLog("found ATAQ: %04X SAK: %02X", atqa, sak);\r
- \r
- \r
- // NXP MIFARE Mini 0.3k\r
- if ( ( (atqa & 0xff0f) == 0x0004) && (sak == 0x09) ) return 0;\r
- \r
- // MIFARE Classic 1K\r
- if ( ((atqa & 0xff0f) == 0x0004) && (sak == 0x08) ) return 1;\r
- \r
- // MIFARE Classik 4K\r
- if ( ((atqa & 0xff0f) == 0x0002) && (sak == 0x18) ) return 4;\r
- \r
- // SmartMX with MIFARE 1K emulation \r
- if ( ((atqa & 0xf0ff) == 0x0004) ) return 1;\r
-\r
- // SmartMX with MIFARE 4K emulation \r
- if ( ((atqa & 0xf0ff) == 0x0002) ) return 4; \r
- \r
- // Infineon MIFARE CLASSIC 1K\r
- if ( ((atqa & 0xffff) == 0x0004) && (sak == 0x88) ) return 1;\r
- \r
- // MFC 4K emulated by Nokia 6212 Classic\r
- if ( ((atqa & 0xffff) == 0x0002) && (sak == 0x38) ) return 4;\r
-\r
- // MFC 4K emulated by Nokia 6131 NFC\r
- if ( ((atqa & 0xffff) == 0x0008) && (sak == 0x38) ) return 4;\r
-\r
- \r
- //PrintAndLog("BEFOOO 1K %02X", (atqa & 0xff0f));\r
- \r
- // MIFARE Plus (4 Byte UID or 4 Byte RID)\r
- // MIFARE Plus (7 Byte UID)\r
- if (\r
- ((atqa & 0xffff) == 0x0002) |\r
- ((atqa & 0xffff) == 0x0004) |\r
- ((atqa & 0xffff) == 0x0042) | \r
- ((atqa & 0xffff) == 0x0044) \r
- )\r
- {\r
- switch(sak){\r
- case 0x08:\r
- case 0x10: {\r
- //case 0x20:\r
- PrintAndLog("2");\r
- return 2;\r
- break;\r
- }\r
- case 0x11:\r
- case 0x18:{\r
- //case 0x20:\r
- PrintAndLog("4");\r
- return 4;\r
- break;\r
- }\r
- }\r
- }\r
- \r
- return -1;\r
-}\r
\r
static command_t CommandTable[] =\r
{\r
//-----------------------------------------------------------------------------
// High frequency MIFARE ULTRALIGHT (C) commands
//-----------------------------------------------------------------------------
-#include <openssl/des.h>
+//#include <openssl/des.h>
+#include "loclass/des.h"
#include "cmdhfmfu.h"
#include "cmdhfmf.h"
#include "cmdhf14a.h"
#define MAX_ULTRA_BLOCKS 0x0f
#define MAX_ULTRAC_BLOCKS 0x2f
//#define MAX_ULTRAC_BLOCKS 0x2c
-uint8_t key1_blnk_data[16] = { 0x00 };
-uint8_t key2_defa_data[16] = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f };
-uint8_t key3_3des_data[16] = { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 };
-uint8_t key4_nfc_data[16] = { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 };
-uint8_t key5_ones_data[16] = { 0x01 };
+
static int CmdHelp(const char *Cmd);
int CmdHF14AMfUInfo(const char *Cmd){
- uint8_t datatemp[7] = {0x00};
- uint8_t isOK = 0;
- uint8_t *data = NULL;
+ 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;
}
// 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 <block number> <block data (8 hex symbols)> [w]");
+ PrintAndLog("Usage: hf mfu wrbl <block number> <block data (8 hex symbols)> [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 {
}
}
} 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;
}
//
//
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 <block number>");
- 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 <block number>");
+ 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;
}
//
//
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.");
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;
}
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;
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);
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;
}
//-------------------------------------------------------------------------------
// 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 <key number>");
- 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 <key number>");
+ 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);
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)) {
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 <block number>");
- PrintAndLog(" sample: hf mfu crdbl 0");
- return 0;
- }
-
- blockNo = param_get8(Cmd, 0);
+ PrintAndLog("Usage: hf mfu crdbl <block number>");
+ 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 <block number> <block data (8 hex symbols)> [w]");
+ PrintAndLog("Usage: hf mfu cwrbl <block number> <block data (8 hex symbols)> [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){
}
}
} 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;
}
//------------------------------------
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
#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"
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 <divisor>'");
- 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)
/* 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 <l|h> [trigger threshold]");
PrintAndLog(" 3: snoop <divisor> [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)
//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') {
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, "<off period> <'0' period> <'1' period> <command> ['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, "<UID> ['l']-- Clone Indala to T55x7 (UID in HEX)(option 'l' for 224 UID"},
- {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"},
-
-
+ {"indalaclone", CmdIndalaClone, 0, "<UID> ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"},
{"read", CmdLFRead, 0, "['h' or <divisor>] -- 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, "<Clock> <Bitstream> [GAP] Simulate arbitrary Manchester LF tag"},
{"snoop", CmdLFSnoop, 0, "['l'|'h'|<divisor>] [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}
};
- //-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
//
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
#include <inttypes.h>
#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);
{
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.
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;
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)
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;
}
/* 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;
}
* 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);
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);
AppendGraph(0, clock, parity[2]);
AppendGraph(0, clock, parity[3]);
- /* stop bit */
+ /* stop bit */
AppendGraph(1, clock, 0);
CmdLFSim("240"); //240 start_gap.
}
CmdLFRead(read_h ? "h" : "");
- CmdSamples("6000");
+ CmdSamples("6000");
} while (
!CmdEM410xRead("")
);
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;
}
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, "<UID> -- 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, "<UID> <'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, "<Word 1-15> -- Read EM4xxx word data"},
- {"rdpwd", CmdReadWordPWD, 1, "<Word 1-15> <Password> -- Read EM4xxx word data in password mode "},
- {"wr", CmdWriteWord, 1, "<Data> <Word 1-15> -- Write EM4xxx word data"},
- {"wrpwd", CmdWriteWordPWD, 1, "<Data> <Word 1-15> <Password> -- 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, "<UID> -- 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, "<UID> <'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, "<Word> -- Read EM4xxx word data"},
+ {"readwordPWD", CmdReadWordPWD, 1, "<Word> <Password> -- Read EM4xxx word data in password mode"},
+ {"writeword", CmdWriteWord, 1, "<Data> <Word> -- Write EM4xxx word data"},
+ {"writewordPWD", CmdWriteWordPWD, 1, "<Data> <Word> <Password> -- 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);
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)
#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"
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) {
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);
}
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;
{"reader", CmdLFHitagReader, 1, "Act like a Hitag Reader"},
{"sim", CmdLFHitagSim, 1, "<infile> Simulate Hitag transponder"},
{"snoop", CmdLFHitagSnoop, 1, "Eavesdrop Hitag communication"},
- {NULL, NULL, 0, NULL}
+ {NULL, NULL, 0, NULL}
};
int CmdLFHitag(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){
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}
};
#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"
static command_t CommandTable[] =
{
- {"help", CmdHelp, 1, "This help. Use '<command> help' for details of a particular command."},
- {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"},
+ {"help", CmdHelp, 1, "This help. Use '<command> 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}
};
* @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;
}
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);
}
#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);
#include <stdint.h>
-//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);
#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);
{
UsbCommand c;
c.cmd = CMD_DEVICE_INFO;
- SendCommand(&c);
+ SendCommand(&c);
UsbCommand resp;
ReceiveCommand(&resp);
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();
}
// 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;
}
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;i<GraphTraceLen;++i){
+ if (GraphBuffer[i]>127) 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;
}
*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;
+}
#ifndef GRAPH_H__
#define GRAPH_H__
+#include <stdint.h>
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);
* 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 <http://www.gnu.org/licenses/>.
+ * along with loclass. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
****************************************************************************/
+
#include "cipher.h"
#include "cipherutils.h"
#include <stdio.h>
* 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 <http://www.gnu.org/licenses/>.
+ * along with loclass. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
****************************************************************************/
+
#ifndef CIPHER_H
#define CIPHER_H
#include <stdint.h>
* 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 <http://www.gnu.org/licenses/>.
+ * along with loclass. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
****************************************************************************/
#include <stdint.h>
* 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 <http://www.gnu.org/licenses/>.
+ * along with loclass. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
****************************************************************************/
+
#ifndef CIPHERUTILS_H
#define CIPHERUTILS_H
#include <stdint.h>
#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 <string.h>
#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
*/
int bruteforceFile(const char *filename, uint16_t keytable[])
{
+
FILE *f = fopen(filename, "rb");
if(!f) {
prnlog("Failed to read from file '%s'", filename);
//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")){
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()
{
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;
}
/*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).
* 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
* 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 <http://www.gnu.org/licenses/>.
+ * along with loclass. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
****************************************************************************/
+
/**
--- /dev/null
+#ifndef LOCLASS_MAIN_H
+#define LOCLASS_MAIN_H
+
+#endif // LOCLASS_MAIN_H
#include <stdio.h>
-#include <cipherutils.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
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");
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 */
CMD_MIFARE_CSETBLOCK = 0x0605,
CMD_MIFARE_CGETBLOCK = 0x0606,
CMD_MIFARE_CIDENT = 0x0607,
-
+
CMD_SIMULATE_MIFARE_CARD = 0x0610,
CMD_READER_MIFARE = 0x0611,
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
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
convert_eml_to_bin = convert_eml_to_bin,
SaveAsBinary = save_BIN,
SaveAsText = save_TEXT,
+ SaveAsBinary = save_BIN,
+ SaveAsText = save_TEXT,
}
'eff603e1efe9',
'644672bd4afe',
+ 'b5ff67cba951',
+ }
+
+ --[[
+ Kiev metro cards
+ --]]
+ '8fe644038790',
+ 'f14ee7cae863',
+ '632193be1c3c',
+ '569369c5a0e5',
+ '9de89e070277',
+ 'eff603e1efe9',
+ '644672bd4afe',
+
'b5ff67cba951',
}
return retval\r
end,\r
\r
+ -- input parameter is a string\r
+ -- Swaps the endianess and returns a string, \r
+ -- IE: 'cd7a' -> '7acd' -> 0x7acd\r
+ SwapEndiannessStr = function(s, len)\r
+ if s == nil then return nil end\r
+ if #s == 0 then return '' end\r
+ if type(s) ~= 'string' then return nil end\r
+ \r
+ local retval\r
+ if len == 16 then\r
+ retval = s:sub(3,4)..s:sub(1,2)\r
+ elseif len == 24 then\r
+ retval = s:sub(5,6)..s:sub(3,4)..s:sub(1,2)\r
+ elseif len == 32 then\r
+ retval = s:sub(7,8)..s:sub(5,6)..s:sub(3,4)..s:sub(1,2)\r
+ end\r
+ return retval\r
+ end, \r
------------ CONVERSIONS\r
\r
--\r
local B,K,OUT,I,D=16,"0123456789ABCDEF","",0\r
while IN>0 do\r
I=I+1\r
- IN,D=math.floor(IN/B),math.mod(IN,B)+1\r
+ IN , D = math.floor(IN/B), math.modf(IN,B)+1\r
OUT=string.sub(K,D,D)..OUT\r
end\r
return OUT\r
uint16_t i, len;\r
uint32_t uid;\r
UsbCommand resp;\r
- \r
StateList_t statelists[2];\r
struct Crypto1State *p1, *p2, *p3, *p4;\r
\r
// "MAGIC" CARD\r
\r
int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe) {\r
+ \r
+ uint8_t oldblock0[16] = {0x00};\r
uint8_t block0[16] = {0x00};\r
memcpy(block0, uid, 4); \r
block0[4] = block0[0]^block0[1]^block0[2]^block0[3]; // Mifare UID BCC\r
// mifare classic SAK(byte 5) and ATQA(byte 6 and 7)\r
- block0[5] = 0x08;\r
- block0[6] = 0x04;\r
- block0[7] = 0x00;\r
+ //block0[5] = 0x08;\r
+ //block0[6] = 0x04;\r
+ //block0[7] = 0x00;\r
+ \r
+ block0[5] = 0x01; //sak\r
+ block0[6] = 0x01;\r
+ block0[7] = 0x0f;\r
\r
+ int old = mfCGetBlock(0, oldblock0, CSETBLOCK_SINGLE_OPER);\r
+ if ( old == 0) {\r
+ memcpy(block0+8, oldblock0+8, 8);\r
+ PrintAndLog("block 0: %s", sprint_hex(block0,16));\r
+ } else {\r
+ PrintAndLog("Couldn't get olddata. Will write over the last bytes of Block 0.");\r
+ }\r
return mfCSetBlock(0, block0, oldUID, wantWipe, CSETBLOCK_SINGLE_OPER);\r
}\r
\r
UsbCommand resp;\r
if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {\r
isOK = resp.arg[0] & 0xff;\r
- if (uid != NULL) memcpy(uid, resp.d.asBytes, 4);\r
- if (!isOK) return 2;\r
+ if (uid != NULL) \r
+ memcpy(uid, resp.d.asBytes, 4);\r
+ if (!isOK) \r
+ return 2;\r
} else {\r
PrintAndLog("Command execute timeout");\r
return 1;\r
static uint8_t trailerAccessBytes[4] = {0x08, 0x77, 0x8F, 0x00};\r
\r
// variables\r
-char logHexFileName[200] = {0x00};\r
+char logHexFileName[FILE_PATH_SIZE] = {0x00};\r
static uint8_t traceCard[4096] = {0x00};\r
-static char traceFileName[200] = {0x00};\r
+static char traceFileName[FILE_PATH_SIZE] = {0x00};\r
static int traceState = TRACE_IDLE;\r
static uint8_t traceCurBlock = 0;\r
static uint8_t traceCurKey = 0;\r
\r
int loadTraceCard(uint8_t *tuid) {\r
FILE * f;\r
- char buf[64];\r
- uint8_t buf8[64];\r
+ char buf[64] = {0x00};\r
+ uint8_t buf8[64] = {0x00};\r
int i, blockNum;\r
\r
- if (!isTraceCardEmpty()) saveTraceCard();\r
+ if (!isTraceCardEmpty()) \r
+ saveTraceCard();\r
+ \r
memset(traceCard, 0x00, 4096);\r
memcpy(traceCard, tuid + 3, 4);\r
+\r
FillFileNameByUID(traceFileName, tuid, ".eml", 7);\r
\r
f = fopen(traceFileName, "r");\r
- if (!f) return 1;\r
+ if (!f) {\r
+ fclose(f);\r
+ return 1;\r
+ }\r
\r
blockNum = 0;\r
+ \r
while(!feof(f)){\r
+ \r
memset(buf, 0, sizeof(buf));\r
if (fgets(buf, sizeof(buf), f) == NULL) {\r
PrintAndLog("File reading error.");\r
if ((!strlen(traceFileName)) || (isTraceCardEmpty())) return 0;\r
\r
f = fopen(traceFileName, "w+");\r
+ if ( !f ) {\r
+ fclose(f);\r
+ return 1;\r
+ }\r
+ \r
for (int i = 0; i < 64; i++) { // blocks\r
for (int j = 0; j < 16; j++) // bytes\r
fprintf(f, "%02x", *(traceCard + i * 16 + j)); \r
fprintf(f,"\n");\r
}\r
fclose(f);\r
-\r
return 0;\r
}\r
\r
int mfTraceInit(uint8_t *tuid, uint8_t *atqa, uint8_t sak, bool wantSaveToEmlFile) {\r
\r
- if (traceCrypto1) crypto1_destroy(traceCrypto1);\r
+ if (traceCrypto1) \r
+ crypto1_destroy(traceCrypto1);\r
+\r
traceCrypto1 = NULL;\r
\r
- if (wantSaveToEmlFile) loadTraceCard(tuid);\r
+ if (wantSaveToEmlFile) \r
+ loadTraceCard(tuid);\r
+ \r
traceCard[4] = traceCard[0] ^ traceCard[1] ^ traceCard[2] ^ traceCard[3];\r
traceCard[5] = sak;\r
memcpy(&traceCard[6], atqa, 2);\r
int foundKey[2];\r
} sector;\r
\r
-extern char logHexFileName[200];\r
+extern char logHexFileName[FILE_PATH_SIZE];\r
\r
int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t * ResultKeys, bool calibrate);\r
int mfCheckKeys (uint8_t blockNo, uint8_t keyType, uint8_t keycnt, uint8_t * keyBlock, uint64_t * key);\r
statelist = malloc((sizeof *statelist) << 21); //how large should be? \r
if(!statelist || !odd || !even)\r
{\r
- free(statelist);\r
- free(odd);\r
- free(even);\r
+ free(statelist);\r
+ free(odd);\r
+ free(even);\r
return 0;\r
}\r
\r
--- /dev/null
+/**
+ * \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 <polarssl_maintainer at polarssl.org>
+ *
+ * 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 <stdlib.h> /**< 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 */
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
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; i<cmd_count; i++) {
+ for (size_t i = 0; i < cmd_count; i++) {
UsbCommandReceived((UsbCommand*)(rx+(i*sizeof(UsbCommand))));
}
}
prx = rx;
-
+
if(txcmd_pending) {
- if (!uart_send(sp,(byte_t*)&txcmd,sizeof(UsbCommand))) {
+ if (!uart_send(sp, (byte_t*) &txcmd, sizeof(UsbCommand))) {
PrintAndLog("Sending bytes to proxmark failed");
}
txcmd_pending = false;
}
}
-
+
pthread_exit(NULL);
return NULL;
}
pthread_t reader_thread;
if (arg->usb_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) {
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);
rarg.run = 0;
pthread_join(reader_thread, NULL);
}
-
+
if (script_file) {
fclose(script_file);
script_file = NULL;
}
-
+
ExitGraphics();
pthread_exit(NULL);
return NULL;
#include "util.h"
#include "nonce2key/nonce2key.h"
#include "../common/iso15693tools.h"
-#include <openssl/aes.h>
#include "../common/crc16.h"
+#include "aes.h"
/**
* The following params expected:
* UsbCommand c
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) {
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
--- /dev/null
+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)
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]) )
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))
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
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
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))
\r
#include "cmd.h"\r
#include "string.h"\r
-#include "../include/proxmark3.h"\r
+#include "proxmark3.h"\r
\r
bool cmd_receive(UsbCommand* cmd) {\r
\r
#ifndef _PROXMARK_CMD_H_\r
#define _PROXMARK_CMD_H_\r
\r
-#include "../include/common.h"\r
-#include "../include/usb_cmd.h"\r
+#include "common.h"\r
+#include "usb_cmd.h"\r
#include "usb_cdc.h"\r
\r
bool cmd_receive(UsbCommand* cmd);\r
//-----------------------------------------------------------------------------
-// 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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#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<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 ((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!!
- 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;
}
//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<bestErrCnt){ //set this as new best run
+ bestErrCnt=errCnt;
+ bestStart = iii;
+ }
+ }
+ }
+ }
+ if (bestErrCnt<maxErr){
+ //best run is good enough - set to best run and overwrite BinStream
+ iii=bestStart;
+ lastBit = bestStart - *clk;
+ bitnum=0;
+ for (i = iii; i < *size; ++i) {
+ if ((BinStream[i] >= 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;
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++;
}
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
//| | | | | | |
//
//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
// 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<loopCnt) loopCnt = size;
+
+ //if we already have a valid clock quit
+
+ for (;i<8;++i)
+ if (clk[i] == clock) return clock;
+
+ //get high and low peak
+ int peak, low;
+ getHiLo(dest, loopCnt, &peak, &low, 75, 75);
+
+ int ii;
+ int clkCnt;
+ int tol = 0;
+ int bestErr[]={1000,1000,1000,1000,1000,1000,1000,1000,1000};
+ int errCnt=0;
+ //test each valid clock from smallest to greatest to see which lines up
+ for(clkCnt=0; clkCnt < 8; ++clkCnt){
+ if (clk[clkCnt] == 32){
+ tol=1;
+ }else{
+ tol=0;
+ }
+ bestErr[clkCnt]=1000;
+ //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;
+ // 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<bestErr[clkCnt]) bestErr[clkCnt]=errCnt;
+ }
+ }
+ }
+ uint8_t iii=0;
+ uint8_t best=0;
+ for (iii=0; iii<8; ++iii){
+ if (bestErr[iii]<bestErr[best]){
+ if (bestErr[iii]==0) bestErr[iii]=1;
+ // current best bit to error ratio vs new bit to error ratio
+ if (((size/clk[best])/bestErr[best] < (size/clk[iii])/bestErr[iii]) ){
+ best = iii;
+ }
+ }
+ }
+ return clk[best];
+}
+
+//by marshmellow
+//detect psk clock by reading #peaks vs no peaks(or errors)
+int DetectpskNRZClock(uint8_t dest[], size_t size, int clock)
+{
+ int i=0;
+ int clk[]={16,32,40,50,64,100,128,256};
+ int loopCnt = 2048; //don't need to loop through entire array...
+ if (size<loopCnt) loopCnt = size;
+
//if we already have a valid clock quit
- for (; i < clkLen; ++i)
- if (clk[i] == clock)
- return clock;
-
- int peak = 0;
- int low = 128;
- int loopCnt = 256;
- if (size < loopCnt)
- loopCnt = size;
-
+ for (; i < 7; ++i)
+ if (clk[i] == clock) return clock;
+
//get high and low peak
- for ( i = 0; i < loopCnt; ++i ){
- if(dest[i] > 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){
+ BitStream[i]=high-8;
+ gap--;
+ }
+ if (gap == 0){
+ newHigh=0;
+ gap=4;
+ }
+ }
+ if (BitStream[i] <= low) newLow=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<size; i++){
+ if (lastBit!=BitStream[i]){
+ lastBit=BitStream[i];
+ BitStream[i]=1;
+ } else {
+ BitStream[i]=0;
}
- // save the least error.
- errCnt[cnt] = bestErr;
}
- // find best clock which has lowest number of errors
- int j = 0, bestIndex = 0;
- for (; j < clkLen; ++j){
- if ( errCnt[j] < errCnt[bestIndex] )
- bestIndex = j;
+ return;
+}
+
+// redesigned by marshmellow adjusted from existing decode functions
+// indala id decoding - only tested on 26 bit tags, but attempted to make it work for more
+int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert)
+{
+ //26 bit 40134 format (don't know other formats)
+ int i;
+ int long_wait=29;//29 leading zeros in format
+ int start;
+ int first = 0;
+ int first2 = 0;
+ int bitCnt = 0;
+ int ii;
+ // Finding the start of a UID
+ for (start = 0; start <= *size - 250; start++) {
+ first = bitStream[start];
+ for (i = start; i < start + long_wait; i++) {
+ if (bitStream[i] != first) {
+ break;
+ }
+ }
+ if (i == (start + long_wait)) {
+ break;
+ }
}
- return clk[bestIndex];
+ if (start == *size - 250 + 1) {
+ // did not find start sequence
+ return -1;
+ }
+ // Inverting signal if needed
+ if (first == 1) {
+ for (i = start; i < *size; i++) {
+ bitStream[i] = !bitStream[i];
+ }
+ *invert = 1;
+ }else *invert=0;
+
+ int iii;
+ //found start once now test length by finding next one
+ for (ii=start+29; ii <= *size - 250; ii++) {
+ first2 = bitStream[ii];
+ for (iii = ii; iii < ii + long_wait; iii++) {
+ if (bitStream[iii] != first2) {
+ break;
+ }
+ }
+ if (iii == (ii + long_wait)) {
+ break;
+ }
+ }
+ if (ii== *size - 250 + 1){
+ // did not find second start sequence
+ return -2;
+ }
+ bitCnt=ii-start;
+
+ // Dumping UID
+ i = start;
+ for (ii = 0; ii < bitCnt; ii++) {
+ bitStream[ii] = bitStream[i++];
+ }
+ *size=bitCnt;
+ return 1;
+}
+
+// by marshmellow - demodulate PSK1 wave or NRZ wave (both similar enough)
+// peaks invert bit (high=1 low=0) each clock cycle = 1 bit determined by last peak
+int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert)
+{
+ if (justNoise(dest, *size)) return -1;
+ pskCleanWave(dest,*size);
+ int clk2 = DetectpskNRZClock(dest, *size, *clk);
+ *clk=clk2;
+ uint32_t i;
+ int high, low, ans;
+ ans = getHiLo(dest, 1260, &high, &low, 75, 80); //25% fuzz on high 20% fuzz on low
+ if (ans<1) return -2; //just noise
+ uint32_t gLen = *size;
+ //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 = 1; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave
+ if (*clk==32) tol = 2; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely
+ uint32_t iii = 0;
+ uint8_t errCnt =0;
+ uint32_t bestStart = *size;
+ uint32_t maxErr = (*size/1000);
+ uint32_t bestErrCnt = maxErr;
+ uint8_t curBit=0;
+ uint8_t bitHigh=0;
+ uint8_t ignorewin=*clk/8;
+ //PrintAndLog("DEBUG - lastbit - %d",lastBit);
+ //loop to find first wave that works - align to clock
+ for (iii=0; iii < gLen; ++iii){
+ if ((dest[iii]>=high) || (dest[iii]<=low)){
+ 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) && (i<lastBit+*clk-tol || i>lastBit+*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]<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;
+ 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) && ((i<lastBit+*clk-tol) || (i>lastBit+*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 ((fcCounter<lastFCcnt || fcCounter>lastFCcnt)){
+ //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;
}
-// 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__
#include <stdint.h>
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
*/\r
\r
#include "usb_cdc.h"\r
-#include "../include/config_gpio.h"\r
+#include "config_gpio.h"\r
\r
#define MIN(a, b) (((a) < (b)) ? (a) : (b))\r
#define MAX(a, b) (((a) > (b)) ? (a) : (b))\r
//* \brief This function Activates the USB device\r
//*----------------------------------------------------------------------------\r
void usb_enable() {\r
- // Set the PLL USB Divider\r
- AT91C_BASE_CKGR->CKGR_PLLR |= AT91C_CKGR_USBDIV_1 ;\r
-\r
- // Specific Chip USB Initialisation\r
- // Enables the 48MHz USB clock UDPCK and System Peripheral USB Clock\r
- AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP;\r
- AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UDP);\r
-\r
- // Enable UDP PullUp (USB_DP_PUP) : enable & Clear of the corresponding PIO\r
- // Set in PIO mode and Configure in Output\r
- AT91C_BASE_PIOA->PIO_PER = GPIO_USB_PU; // Set in PIO mode\r
+ // Set the PLL USB Divider\r
+ AT91C_BASE_CKGR->CKGR_PLLR |= AT91C_CKGR_USBDIV_1 ;\r
+ \r
+ // Specific Chip USB Initialisation\r
+ // Enables the 48MHz USB clock UDPCK and System Peripheral USB Clock\r
+ AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP;\r
+ AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UDP);\r
+ \r
+ // Enable UDP PullUp (USB_DP_PUP) : enable & Clear of the corresponding PIO\r
+ // Set in PIO mode and Configure in Output\r
+ AT91C_BASE_PIOA->PIO_PER = GPIO_USB_PU; // Set in PIO mode\r
AT91C_BASE_PIOA->PIO_OER = GPIO_USB_PU; // Configure as Output\r
-\r
- // Clear for set the Pullup resistor\r
+ \r
+ // Clear for set the Pullup resistor\r
AT91C_BASE_PIOA->PIO_CODR = GPIO_USB_PU;\r
+ \r
+ // Disconnect and reconnect USB controller for 100ms\r
+ usb_disable();\r
+ \r
+ // Wait for a short while\r
+ for (volatile size_t i=0; i<0x100000; i++);\r
\r
- // Disconnect and reconnect USB controller for 100ms\r
- usb_disable();\r
-\r
- // Wait for a short while\r
- for (volatile size_t i=0; i<0x100000; i++);\r
-\r
- // Reconnect USB reconnect\r
- AT91C_BASE_PIOA->PIO_SODR = GPIO_USB_PU;\r
- AT91C_BASE_PIOA->PIO_OER = GPIO_USB_PU;\r
+ // Reconnect USB reconnect\r
+ AT91C_BASE_PIOA->PIO_SODR = GPIO_USB_PU;\r
+ AT91C_BASE_PIOA->PIO_OER = GPIO_USB_PU;\r
}\r
\r
//*----------------------------------------------------------------------------\r
//* \brief Read available data from Endpoint OUT\r
//*----------------------------------------------------------------------------\r
uint32_t usb_read(byte_t* data, size_t len) {\r
- byte_t bank = btReceiveBank;\r
+ byte_t bank = btReceiveBank;\r
uint32_t packetSize, nbBytesRcv = 0;\r
- uint32_t time_out = 0;\r
+ uint32_t time_out = 0;\r
\r
while (len) {\r
if (!usb_check()) break;\r
\r
if ( pUdp->UDP_CSR[AT91C_EP_OUT] & bank ) {\r
packetSize = MIN(pUdp->UDP_CSR[AT91C_EP_OUT] >> 16, len);\r
- len -= packetSize;\r
+ len -= packetSize;\r
while(packetSize--)\r
data[nbBytesRcv++] = pUdp->UDP_FDR[AT91C_EP_OUT];\r
pUdp->UDP_CSR[AT91C_EP_OUT] &= ~(bank);\r
if (bank == AT91C_UDP_RX_DATA_BK0) {\r
bank = AT91C_UDP_RX_DATA_BK1;\r
- } else {\r
+ } else {\r
bank = AT91C_UDP_RX_DATA_BK0;\r
- }\r
+ }\r
}\r
- if (time_out++ == 0x1fff) break;\r
+ if (time_out++ == 0x1fff) break;\r
}\r
\r
btReceiveBank = bank;\r
// Wait for the the first bank to be sent\r
while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP)) {\r
if (!usb_check()) return length;\r
- }\r
+ }\r
pUdp->UDP_CSR[AT91C_EP_IN] &= ~(AT91C_UDP_TXCOMP);\r
while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP);\r
pUdp->UDP_CSR[AT91C_EP_IN] |= AT91C_UDP_TXPKTRDY;\r
//* \fn AT91F_USB_SendData\r
//* \brief Send Data through the control endpoint\r
//*----------------------------------------------------------------------------\r
-unsigned int csrTab[100];\r
+unsigned int csrTab[100] = {0x00};\r
unsigned char csrIdx = 0;\r
\r
static void AT91F_USB_SendData(AT91PS_UDP pUdp, const char *pData, uint32_t length) {\r
#ifndef _USB_CDC_H_\r
#define _USB_CDC_H_\r
\r
-#include "../include/common.h"\r
+#include "common.h"\r
\r
void usb_disable();\r
void usb_enable();\r
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.
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;
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
// 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;
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 {
typedef union {
rht2d_password pwd;
rht2d_authenticate auth;
- rht2d_crypto crypto;
+ rht2d_crypto crypto;
} hitag_data;
#endif
--- /dev/null
+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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+-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
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
--- /dev/null
+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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+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
--- /dev/null
+-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
--- /dev/null
+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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+-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
--- /dev/null
+-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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+-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
--- /dev/null
+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