]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge branch 'master' of https://github.com/Proxmark/proxmark3
authoriceman1001 <iceman@iuse.se>
Thu, 29 Jan 2015 20:39:33 +0000 (21:39 +0100)
committericeman1001 <iceman@iuse.se>
Thu, 29 Jan 2015 20:39:33 +0000 (21:39 +0100)
Conflicts:
armsrc/Makefile
armsrc/appmain.c
armsrc/apps.h
armsrc/epa.c
armsrc/iclass.c
armsrc/iso14443a.c
armsrc/iso14443a.h
armsrc/iso15693.c
armsrc/lfops.c
armsrc/mifarecmd.c
armsrc/mifareutil.c
armsrc/mifareutil.h
armsrc/string.h
armsrc/util.h
bootrom/bootrom.c
client/Makefile
client/cmddata.c
client/cmddata.h
client/cmdhf.c
client/cmdhf14a.c
client/cmdhf14b.c
client/cmdhf15.c
client/cmdhficlass.c
client/cmdhfmf.c
client/cmdhfmfu.c
client/cmdlf.c
client/cmdlfem4x.c
client/cmdlfhid.c
client/cmdlfhitag.c
client/cmdlfio.c
client/cmdmain.c
client/data.h
client/flash.c
client/graph.c
client/graph.h
client/loclass/elite_crack.c
client/loclass/fileutils.c
client/lualibs/commands.lua
client/lualibs/html_dumplib.lua
client/lualibs/mf_default_keys.lua
client/lualibs/utils.lua
client/mifarehost.c
client/nonce2key/crapto1.c
client/proxmark3.c
client/scripting.c
client/scripts/tnp3dump.lua
client/scripts/tnp3sim.lua
client/scripts/tracetest.lua
common/Makefile.common
common/cmd.c
common/cmd.h
common/lfdemod.c
common/lfdemod.h
common/usb_cdc.c
common/usb_cdc.h
include/usb_cmd.h

104 files changed:
armsrc/BigBuf.c [new file with mode: 0644]
armsrc/BigBuf.h [new file with mode: 0644]
armsrc/Makefile
armsrc/appmain.c
armsrc/apps.h
armsrc/epa.c
armsrc/hitag2.c
armsrc/iclass.c
armsrc/iso14443.c
armsrc/iso14443a.c
armsrc/iso14443a.h
armsrc/iso15693.c
armsrc/legicrf.c
armsrc/lfops.c
armsrc/mifarecmd.c
armsrc/mifaresniff.c
armsrc/mifareutil.c
armsrc/mifareutil.h
armsrc/string.h
armsrc/util.h
client/Makefile
client/aes.c [new file with mode: 0644]
client/aes.h [new file with mode: 0644]
client/cmddata.c
client/cmddata.h
client/cmdhf.c
client/cmdhf14a.c
client/cmdhf14b.c
client/cmdhf15.c
client/cmdhficlass.c
client/cmdhflegic.c
client/cmdhfmf.c
client/cmdhfmfu.c
client/cmdlf.c
client/cmdlfem4x.c
client/cmdlfhid.c
client/cmdlfhitag.c
client/cmdlfio.c
client/cmdmain.c
client/data.c
client/data.h
client/flash.c
client/graph.c
client/graph.h
client/loclass/cipher.c
client/loclass/cipher.h
client/loclass/cipherutils.c
client/loclass/cipherutils.h
client/loclass/des.h
client/loclass/elite_crack.c
client/loclass/fileutils.c
client/loclass/iclass_dump.bin [new file with mode: 0644]
client/loclass/ikeys.c
client/loclass/loclass_main.h [new file with mode: 0644]
client/loclass/main.c
client/lualibs/commands.lua
client/lualibs/html_dumplib.lua
client/lualibs/mf_default_keys.lua
client/lualibs/utils.lua
client/mifarehost.c
client/mifarehost.h
client/nonce2key/crapto1.c
client/polarssl_config.h [new file with mode: 0644]
client/proxmark3.c
client/scripting.c
client/scripts/remagic.lua [new file with mode: 0644]
client/scripts/tnp3dump.lua
client/scripts/tnp3sim.lua
client/scripts/tracetest.lua
common/Makefile.common
common/cmd.c
common/cmd.h
common/lfdemod.c
common/lfdemod.h
common/usb_cdc.c
common/usb_cdc.h
fpga/fpga_hf.bit
fpga/fpga_lf.bit
fpga/hi_simulate.v
include/hitag2.h
traces/ATA5577-HIDemu-FC1-C9.pm3 [new file with mode: 0644]
traces/AWID-15-259.pm3 [new file with mode: 0644]
traces/HID-weak-fob-11647.pm3 [new file with mode: 0644]
traces/Paradox-96_40426-APJN08.pm3 [new file with mode: 0644]
traces/README.txt
traces/modulation-ask-biph-50.pm3 [new file with mode: 0644]
traces/modulation-ask-man-100.pm3 [new file with mode: 0644]
traces/modulation-ask-man-128.pm3 [new file with mode: 0644]
traces/modulation-ask-man-16.pm3 [new file with mode: 0644]
traces/modulation-ask-man-32.pm3 [new file with mode: 0644]
traces/modulation-ask-man-40.pm3 [new file with mode: 0644]
traces/modulation-ask-man-8.pm3 [new file with mode: 0644]
traces/modulation-direct-32.pm3 [new file with mode: 0644]
traces/modulation-direct-40.pm3 [new file with mode: 0644]
traces/modulation-direct-50.pm3 [new file with mode: 0644]
traces/modulation-fsk1-50.pm3 [new file with mode: 0644]
traces/modulation-fsk1a-50.pm3 [new file with mode: 0644]
traces/modulation-fsk2-50.pm3 [new file with mode: 0644]
traces/modulation-fsk2a-40.pm3 [new file with mode: 0644]
traces/modulation-fsk2a-50.pm3 [new file with mode: 0644]
traces/modulation-psk1-32-4.pm3 [new file with mode: 0644]
traces/modulation-psk1-64-8.pm3 [new file with mode: 0644]
traces/modulation-psk2-32-2.pm3 [new file with mode: 0644]
traces/modulation-psk3-32-8.pm3 [new file with mode: 0644]

diff --git a/armsrc/BigBuf.c b/armsrc/BigBuf.c
new file mode 100644 (file)
index 0000000..7f56e9a
--- /dev/null
@@ -0,0 +1,97 @@
+//-----------------------------------------------------------------------------
+// Jonathan Westhues, Aug 2005
+// Gerhard de Koning Gans, April 2008, May 2011
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// BigBuf and functions to allocate/free parts of it.
+//-----------------------------------------------------------------------------
+
+#include <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;
+}
diff --git a/armsrc/BigBuf.h b/armsrc/BigBuf.h
new file mode 100644 (file)
index 0000000..9d89a4f
--- /dev/null
@@ -0,0 +1,34 @@
+//-----------------------------------------------------------------------------
+// Jonathan Westhues, Aug 2005
+// Gerhard de Koning Gans, April 2008, May 2011
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// BigBuf and functions to allocate/free parts of it.
+//-----------------------------------------------------------------------------
+
+#ifndef __BIGBUF_H
+#define __BIGBUF_H
+
+
+#define BIGBUF_SIZE                            40000
+#define MAX_FRAME_SIZE                 256             // maximum allowed ISO14443 frame
+#define MAX_PARITY_SIZE                        ((MAX_FRAME_SIZE + 7) / 8)
+#define MAX_MIFARE_FRAME_SIZE  18              // biggest Mifare frame is answer to a read (one block = 16 Bytes) + 2 Bytes CRC
+#define MAX_MIFARE_PARITY_SIZE 3               // need 18 parity bits for the 18 Byte above. 3 Bytes are enough to store these
+#define CARD_MEMORY_SIZE               4096    
+#define DMA_BUFFER_SIZE                128
+
+extern uint8_t *BigBuf_get_addr(void);
+extern uint8_t *BigBuf_get_EM_addr(void);
+extern uint16_t BigBuf_max_traceLen(void);
+void BigBuf_Clear(void);
+extern uint8_t *BigBuf_malloc(uint16_t);
+extern void BigBuf_free(void);
+extern void BigBuf_free_keep_EM(void);
+
+extern uint16_t traceLen;
+
+#endif /* __BIGBUF_H */
index 69e4738ad544e1328c96968c32887767c7f1b943..523171656925a585c3440d9aa5403307f0573ac9 100644 (file)
@@ -16,9 +16,9 @@ APP_CFLAGS    = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_
 #SRC_LCD = fonts.c LCD.c
 SRC_LF = lfops.c hitag2.c
 SRC_ISO15693 = iso15693.c iso15693tools.c 
-SRC_ISO14443a = epa.c iso14443a.c mifareutil.c mifarecmd.c mifaresniff.c 
-SRC_ISO14443b = iso14443.c 
-SRC_CRAPTO1 = crapto1.c crypto1.c des.c aes.c desfire_key.c desfire_crypto.c mifaredesfire.c
+SRC_ISO14443a = epa.c iso14443a.c mifareutil.c mifarecmd.c mifaresniff.c
+SRC_ISO14443b = iso14443.c
+SRC_CRAPTO1 = crapto1.c crypto1.c des.c aes.c 
 SRC_CRC = iso14443crc.c crc.c crc16.c crc32.c 
 
 THUMBSRC = start.c \
@@ -41,7 +41,8 @@ ARMSRC = fpgaloader.c \
        $(SRC_CRAPTO1) \
        $(SRC_CRC) \
        legic_prng.c \
-       iclass.c
+       iclass.c \
+       BigBuf.c \
 
 
 # stdint.h provided locally until GCC 4.5 becomes C99 compliant
index c158ad2c2d005bfd507625dd4ec273655444110d..00e9ba4dadc85d9b95e43c8ac9742981ff24d8ae 100644 (file)
 // is the order in which they go out on the wire.
 //=============================================================================
 
-#define TOSEND_BUFFER_SIZE (9*MAX_FRAME_SIZE + 1 + 1 + 2) // 8 data bits and 1 parity bit per payload byte, 1 correction bit, 1 SOC bit, 2 EOC bits
+#define TOSEND_BUFFER_SIZE (9*MAX_FRAME_SIZE + 1 + 1 + 2)  // 8 data bits and 1 parity bit per payload byte, 1 correction bit, 1 SOC bit, 2 EOC bits 
 uint8_t ToSend[TOSEND_BUFFER_SIZE];
 int ToSendMax;
 static int ToSendBit;
 struct common_area common_area __attribute__((section(".commonarea")));
 
-void BufferClear(void)
-{
-       memset(BigBuf,0,sizeof(BigBuf));
-       Dbprintf("Buffer cleared (%i bytes)",sizeof(BigBuf));
-}
-
 void ToSendReset(void)
 {
        ToSendMax = -1;
@@ -68,7 +62,7 @@ void ToSendStuffBit(int b)
 
        ToSendBit++;
 
-       if(ToSendMax  >= sizeof(ToSend)) {
+       if(ToSendMax >= sizeof(ToSend)) {
                ToSendBit = 0;
                DbpString("ToSendStuffBit overflowed!");
        }
@@ -246,7 +240,10 @@ void MeasureAntennaTuningHf(void)
 
 void SimulateTagHfListen(void)
 {
-       uint8_t *dest = (uint8_t *)BigBuf+FREE_BUFFER_OFFSET;
+       // ToDo: historically this used the free buffer, which was 2744 Bytes long. 
+       // There might be a better size to be defined:
+       #define HF_14B_SNOOP_BUFFER_SIZE 2744
+       uint8_t *dest = BigBuf_malloc(HF_14B_SNOOP_BUFFER_SIZE);
        uint8_t v = 0;
        int i;
        int p = 0;
@@ -281,7 +278,7 @@ void SimulateTagHfListen(void)
                                p = 0;
                                i++;
 
-                               if(i >= FREE_BUFFER_SIZE) {
+                               if(i >= HF_14B_SNOOP_BUFFER_SIZE) {
                                        break;
                                }
                        }
@@ -811,11 +808,11 @@ void UsbPacketReceived(uint8_t *packet, int len)
                        MifareUC_Auth2(c->arg[0],c->d.asBytes);
                        break;
                case CMD_MIFAREU_READCARD:
-                       MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes);
+                       MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes);
                         break;
                case CMD_MIFAREUC_READCARD:
-                       MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes);
-                        break;
+                       MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes);
+                       break;
                case CMD_MIFARE_READSC:
                        MifareReadSector(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
                        break;
@@ -870,27 +867,6 @@ void UsbPacketReceived(uint8_t *packet, int len)
                case CMD_MIFARE_SNIFFER:
                        SniffMifare(c->arg[0]);
                        break;
-                       
-               // mifare desfire
-               case CMD_MIFARE_DESFIRE_READBL:
-                       break;
-               case CMD_MIFARE_DESFIRE_WRITEBL:
-                       break;
-               case CMD_MIFARE_DESFIRE_AUTH1:
-                       MifareDES_Auth1(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
-                       break;
-               case CMD_MIFARE_DESFIRE_AUTH2:
-                       //MifareDES_Auth2(c->arg[0],c->d.asBytes);
-                       break;
-               // case CMD_MIFARE_DES_READER:
-                       // ReaderMifareDES(c->arg[0], c->arg[1], c->d.asBytes);
-                       //break;
-               case CMD_MIFARE_DESFIRE_INFO:
-                       MifareDesfireGetInformation();
-                       break;
-               case CMD_MIFARE_DESFIRE:
-                       MifareSendCommand(c->arg[0], c->arg[1], c->d.asBytes);
-                       break;
 
 #endif
 
@@ -915,7 +891,7 @@ void UsbPacketReceived(uint8_t *packet, int len)
                        break;
 
                case CMD_BUFF_CLEAR:
-                       BufferClear();
+                       BigBuf_Clear();
                        break;
 
                case CMD_MEASURE_ANTENNA_TUNING:
@@ -939,17 +915,18 @@ void UsbPacketReceived(uint8_t *packet, int len)
                case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K:
 
                        LED_B_ON();
+                       uint8_t *BigBuf = BigBuf_get_addr();
                        for(size_t i=0; 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;
index 30010f1b3290b34a1799743fa22790529e98bc98..39ee321154db33209c104f66ac42fa121a22cacd 100644 (file)
 #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;
@@ -82,7 +52,6 @@ void DoAcquisition125k();
 
 extern int ToSendMax;
 extern uint8_t ToSend[];
-extern uint32_t BigBuf[];
 
 /// fpga.h
 void FpgaSendCommand(uint16_t cmd, uint16_t v);
@@ -130,6 +99,8 @@ void SetAdcMuxFor(uint32_t whichGpio);
 #define FPGA_HF_SIMULATOR_MODULATE_BPSK                                (1<<0)
 #define FPGA_HF_SIMULATOR_MODULATE_212K                                (2<<0)
 #define FPGA_HF_SIMULATOR_MODULATE_424K                                (4<<0)
+#define FPGA_HF_SIMULATOR_MODULATE_424K_8BIT           0x5//101
+
 // Options for ISO14443A
 #define FPGA_HF_ISO14443A_SNIFFER                              (0<<0)
 #define FPGA_HF_ISO14443A_TAGSIM_LISTEN                                (1<<0)
@@ -181,7 +152,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data);
 void ReaderIso14443a(UsbCommand * c);
 // Also used in iclass.c
 bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t len, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag);
-void GetParity(const uint8_t * pbtCmd, uint16_t len, uint8_t *parity);
+void GetParity(const uint8_t *pbtCmd, uint16_t len, uint8_t *parity);
 void iso14a_set_trigger(bool enable);
 void iso14a_clear_trace();
 void iso14a_set_tracing(bool enable);
@@ -231,17 +202,6 @@ void       OnError(uint8_t reason);
 
 
 
-// desfire_crypto.h
-void   *mifare_cryto_preprocess_data (desfiretag_t tag, void *data, size_t *nbytes, off_t offset, int communication_settings);
-void    *mifare_cryto_postprocess_data (desfiretag_t tag, void *data, ssize_t *nbytes, int communication_settings);
-void    mifare_cypher_single_block (desfirekey_t  key, uint8_t *data, uint8_t *ivect, MifareCryptoDirection direction, MifareCryptoOperation operation, size_t block_size);
-void    mifare_cypher_blocks_chained (desfiretag_t tag, desfirekey_t key, uint8_t *ivect, uint8_t *data, size_t data_size, MifareCryptoDirection direction, MifareCryptoOperation operation);
-size_t  key_block_size (const desfirekey_t  key);
-size_t  padded_data_length (const size_t nbytes, const size_t block_size);
-size_t  maced_data_length (const desfirekey_t  key, const size_t nbytes);
-size_t  enciphered_data_length (const desfiretag_t tag, const size_t nbytes, int communication_settings);
-void    cmac_generate_subkeys (desfirekey_t key);
-void    cmac (const desfirekey_t  key, uint8_t *ivect, const uint8_t *data, size_t len, uint8_t *cmac);
 
 
 /// iso15693.h
index 0bbd2dd786e18af9a43a927dcf66c5b6618a9446..a04b76280d8f387a9f35504735e6670c112e29e8 100644 (file)
@@ -435,6 +435,8 @@ int EPA_Setup()
        
        iso14a_set_timeout(10500);
        
+       iso14a_set_timeout(10500);
+       
        // select the card
        return_code = iso14443a_select_card(uid, &card_select_info, NULL);
        if (return_code != 1) {
index d25fe4c8293cf7c4b71d4a2536ffe82c855c8757..f9005c7176bcfe412526dca28e5a9bc221b89598 100644 (file)
 
 static bool bQuiet;
 
-bool bCrypto;
-bool bAuthenticating;
-bool bPwd;
-bool bSuccessful;
+static bool bCrypto;
+static bool bAuthenticating;
+static bool bPwd;
+static bool bSuccessful;
 
-int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader)
+
+static int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader)
 {
+  static uint16_t traceLen = 0;
+  uint8_t *trace = BigBuf_get_addr();
+
   // Return when trace is full
-  if (traceLen >= TRACE_SIZE) return FALSE;
+  if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + nbytes(iBits) > BigBuf_max_traceLen()) return FALSE;
   
   // Trace the random, i'm curious
   rsamples += iSamples;
@@ -85,21 +89,17 @@ static struct hitag2_tag tag = {
     },
 };
 
-//#define TRACE_LENGTH 3000
-//uint8_t *trace = (uint8_t *) BigBuf;
-//int traceLen = 0;
-//int rsamples = 0;
+// ToDo: define a meaningful maximum size for auth_table. The bigger this is, the lower will be the available memory for traces. 
+// Historically it used to be FREE_BUFFER_SIZE, which was 2744.
+#define AUTH_TABLE_LENGTH 2744
+static byte_t* auth_table;
+static size_t auth_table_pos = 0;
+static size_t auth_table_len = AUTH_TABLE_LENGTH;
 
-#define AUTH_TABLE_OFFSET FREE_BUFFER_OFFSET
-#define AUTH_TABLE_LENGTH FREE_BUFFER_SIZE
-byte_t* auth_table = (byte_t *)BigBuf+AUTH_TABLE_OFFSET;
-size_t auth_table_pos = 0;
-size_t auth_table_len = AUTH_TABLE_LENGTH;
-
-byte_t password[4];
-byte_t NrAr[8];
-byte_t key[8];
-uint64_t cipher_state;
+static byte_t password[4];
+static byte_t NrAr[8];
+static byte_t key[8];
+static uint64_t cipher_state;
 
 /* Following is a modified version of cryptolib.com/ciphers/hitag2/ */
 // Software optimized 48-bit Philips/NXP Mifare Hitag2 PCF7936/46/47/52 stream cipher algorithm by I.C. Wiener 2006-2007.
@@ -177,14 +177,14 @@ static u32 _hitag2_byte (u64 * x)
        return c;
 }
 
-int hitag2_reset(void)
+static int hitag2_reset(void)
 {
        tag.state = TAG_STATE_RESET;
        tag.crypto_active = 0;
        return 0;
 }
 
-int hitag2_init(void)
+static int hitag2_init(void)
 {
 //     memcpy(&tag, &resetdata, sizeof(tag));
        hitag2_reset();
@@ -300,7 +300,8 @@ static void hitag_send_frame(const byte_t* frame, size_t frame_len)
        LOW(GPIO_SSC_DOUT);
 }
 
-void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen)
+
+static void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen)
 {
        byte_t rx_air[HITAG_FRAME_LEN];
        
@@ -457,6 +458,7 @@ static void hitag_reader_send_bit(int bit) {
        LED_A_OFF();
 }
 
+
 static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len)
 {
        // Send the content of the frame
@@ -475,7 +477,7 @@ static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len)
 
 size_t blocknr;
 
-bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
+static bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
        // Reset the transmission frame length
        *txlen = 0;
        
@@ -530,7 +532,7 @@ bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen)
        return true;
 }
 
-bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
+static bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
        // Reset the transmission frame length
        *txlen = 0;
        
@@ -623,7 +625,7 @@ bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
 }
 
 
-bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
+static bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
        // Reset the transmission frame length 
        *txlen = 0;
        
@@ -663,7 +665,9 @@ bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txl
        return true;
 }
 
-bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
+
+static bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) {
+
        // Reset the transmission frame length 
        *txlen = 0;
        
@@ -675,17 +679,17 @@ bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_
                        if (bCrypto) {
                                Dbprintf("auth: %02x%02x%02x%02x%02x%02x%02x%02x Failed, removed entry!",NrAr[0],NrAr[1],NrAr[2],NrAr[3],NrAr[4],NrAr[5],NrAr[6],NrAr[7]);
 
-        // Removing failed entry from authentiations table
-        memcpy(auth_table+auth_table_pos,auth_table+auth_table_pos+8,8);
-        auth_table_len -= 8;
+                               // Removing failed entry from authentiations table
+                               memcpy(auth_table+auth_table_pos,auth_table+auth_table_pos+8,8);
+                               auth_table_len -= 8;
 
-        // Return if we reached the end of the authentiactions table
+                               // Return if we reached the end of the authentications table
                                bCrypto = false;
                                if (auth_table_pos == auth_table_len) {
                                        return false;
                                }
-        
-        // Copy the next authentication attempt in row (at the same position, b/c we removed last failed entry)
+
+                               // Copy the next authentication attempt in row (at the same position, b/c we removed last failed entry)
                                memcpy(NrAr,auth_table+auth_table_pos,8);
                        }
                        *txlen = 5;
@@ -718,6 +722,7 @@ bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_
        return true;
 }
 
+
 void SnoopHitag(uint32_t type) {
        int frame_count;
        int response;
@@ -730,13 +735,15 @@ void SnoopHitag(uint32_t type) {
        byte_t rx[HITAG_FRAME_LEN];
        size_t rxlen=0;
        
-       // Clean up trace and prepare it for storing frames
-       iso14a_set_tracing(TRUE);
-       iso14a_clear_trace();
-
        auth_table_len = 0;
        auth_table_pos = 0;
+       BigBuf_free();
+    auth_table = (byte_t *)BigBuf_malloc(AUTH_TABLE_LENGTH);
        memset(auth_table, 0x00, AUTH_TABLE_LENGTH);
+
+       // Clean up trace and prepare it for storing frames
+       iso14a_set_tracing(TRUE);
+       iso14a_clear_trace();
        
        DbpString("Starting Hitag2 snoop");
        LED_D_ON();
@@ -760,7 +767,7 @@ void SnoopHitag(uint32_t type) {
        AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC1);
        AT91C_BASE_PIOA->PIO_BSR = GPIO_SSC_FRAME;
        
-  // Disable timer during configuration        
+       // Disable timer during configuration   
        AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS;
        
        // Capture mode, defaul timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger,
@@ -940,13 +947,17 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) {
        bool bQuitTraceFull = false;
        bQuiet = false;
        
-       // Clean up trace and prepare it for storing frames
-  iso14a_set_tracing(TRUE);
-  iso14a_clear_trace();
        auth_table_len = 0;
        auth_table_pos = 0;
+    byte_t* auth_table;
+       BigBuf_free();
+    auth_table = (byte_t *)BigBuf_malloc(AUTH_TABLE_LENGTH);
        memset(auth_table, 0x00, AUTH_TABLE_LENGTH);
 
+       // Clean up trace and prepare it for storing frames
+       iso14a_set_tracing(TRUE);
+       iso14a_clear_trace();
+
        DbpString("Starting Hitag2 simulation");
        LED_D_ON();
        hitag2_init();
@@ -1126,21 +1137,22 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) {
        bool bStop;
        bool bQuitTraceFull = false;
   
-  FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
-  // Reset the return status
-  bSuccessful = false;
+       FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+       // Reset the return status
+       bSuccessful = false;
   
        // Clean up trace and prepare it for storing frames
-  iso14a_set_tracing(TRUE);
-  iso14a_clear_trace();
+       iso14a_set_tracing(TRUE);
+       iso14a_clear_trace();
+
        DbpString("Starting Hitag reader family");
 
        // Check configuration
        switch(htf) {
                case RHT2F_PASSWORD: {
-      Dbprintf("List identifier in password mode");
+                       Dbprintf("List identifier in password mode");
                        memcpy(password,htd->pwd.password,4);
-      blocknr = 0;
+               blocknr = 0;
                        bQuitTraceFull = false;
                        bQuiet = false;
                        bPwd = false;
@@ -1152,7 +1164,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) {
                        Dbhexdump(8,NrAr,false);
                        bQuiet = false;
                        bCrypto = false;
-      bAuthenticating = false;
+                       bAuthenticating = false;
                        bQuitTraceFull = true;
                } break;
       
@@ -1160,17 +1172,17 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) {
                        DbpString("Authenticating using key:");
                        memcpy(key,htd->crypto.key,4);    //HACK; 4 or 6??  I read both in the code.
                        Dbhexdump(6,key,false);
-      blocknr = 0;
+                       blocknr = 0;
                        bQuiet = false;
                        bCrypto = false;
-      bAuthenticating = false;
+                       bAuthenticating = false;
                        bQuitTraceFull = true;
                } break;
 
                case RHT2F_TEST_AUTH_ATTEMPTS: {
                        Dbprintf("Testing %d authentication attempts",(auth_table_len/8));
                        auth_table_pos = 0;
-                       memcpy(NrAr,auth_table,8);
+                       memcpy(NrAr, auth_table, 8);
                        bQuitTraceFull = false;
                        bQuiet = false;
                        bCrypto = false;
index aca2c91833363f7357bda1506c657e59fe31446a..c0edc1e08db6156c57060a94961efcf93f8d69d6 100644 (file)
@@ -435,7 +435,7 @@ static RAMFUNC int ManchesterDecoding(int v)
        else {
                modulation = bit & Demod.syncBit;
                modulation |= ((bit << 1) ^ ((Demod.buffer & 0x08) >> 3)) & Demod.syncBit;
-       
+
                Demod.samples += 4;
 
                if(Demod.posCount==0) {
@@ -642,21 +642,25 @@ void RAMFUNC SnoopIClass(void)
     // The command (reader -> tag) that we're receiving.
        // The length of a received command will in most cases be no more than 18 bytes.
        // So 32 should be enough!
-       uint8_t *readerToTagCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET);
+       #define ICLASS_BUFFER_SIZE 32
+       uint8_t readerToTagCmd[ICLASS_BUFFER_SIZE];
     // The response (tag -> reader) that we're receiving.
-       uint8_t *tagToReaderResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET);
-
+       uint8_t tagToReaderResponse[ICLASS_BUFFER_SIZE];
+       
     FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
  
+       // free all BigBuf memory
+       BigBuf_free();
+    // The DMA buffer, used to stream samples from the FPGA
+    uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE);
     // reset traceLen to 0
     iso14a_set_tracing(TRUE);
     iso14a_clear_trace();
     iso14a_set_trigger(FALSE);
 
-    // The DMA buffer, used to stream samples from the FPGA
-    int8_t *dmaBuf = ((int8_t *)BigBuf) + DMA_BUFFER_OFFSET;
     int lastRxCounter;
-    int8_t *upTo;
+    uint8_t *upTo;
     int smpl;
     int maxBehindBy = 0;
 
@@ -689,7 +693,8 @@ void RAMFUNC SnoopIClass(void)
     SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
 
        uint32_t time_0 = GetCountSspClk();
-
+       uint32_t time_start = 0;
+       uint32_t time_stop  = 0;
 
     int div = 0;
     //int div2 = 0;
@@ -704,7 +709,7 @@ void RAMFUNC SnoopIClass(void)
                                 (DMA_BUFFER_SIZE-1);
         if(behindBy > maxBehindBy) {
             maxBehindBy = behindBy;
-            if(behindBy > 400) {
+            if(behindBy > (9 * DMA_BUFFER_SIZE / 10)) {
                 Dbprintf("blew circular buffer! behindBy=0x%x", behindBy);
                 goto done;
             }
@@ -740,14 +745,15 @@ void RAMFUNC SnoopIClass(void)
                smpl = decbyter;        
                if(OutOfNDecoding((smpl & 0xF0) >> 4)) {
                    rsamples = samples - Uart.samples;
+                       time_stop = (GetCountSspClk()-time_0) << 4;
                    LED_C_ON();
 
                        //if(!LogTrace(Uart.output,Uart.byteCnt, rsamples, Uart.parityBits,TRUE)) break;
                        //if(!LogTrace(NULL, 0, Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, 0, TRUE)) break;
-                       if(tracing) {
+                       if(tracing)     {
                                uint8_t parity[MAX_PARITY_SIZE];
                                GetParity(Uart.output, Uart.byteCnt, parity);
-                               LogTrace(Uart.output,Uart.byteCnt, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, TRUE);
+                               LogTrace(Uart.output,Uart.byteCnt, time_start, time_stop, parity, TRUE);
                        }
 
 
@@ -758,6 +764,8 @@ void RAMFUNC SnoopIClass(void)
                    Demod.state = DEMOD_UNSYNCD;
                    LED_B_OFF();
                    Uart.byteCnt = 0;
+               }else{
+                       time_start = (GetCountSspClk()-time_0) << 4;
                }
                decbyter = 0;
        }
@@ -765,21 +773,24 @@ void RAMFUNC SnoopIClass(void)
        if(div > 3) {
                smpl = decbyte;
                if(ManchesterDecoding(smpl & 0x0F)) {
+                       time_stop = (GetCountSspClk()-time_0) << 4;
+
                    rsamples = samples - Demod.samples;
                    LED_B_ON();
 
-                       if(tracing) {
+                       if(tracing)     {
                                uint8_t parity[MAX_PARITY_SIZE];
                                GetParity(Demod.output, Demod.len, parity);
-                               LogTrace(Demod.output, Demod.len, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, FALSE);
+                               LogTrace(Demod.output, Demod.len, time_start, time_stop, parity, FALSE);
                        }
 
-
                    // And ready to receive another response.
                    memset(&Demod, 0, sizeof(Demod));
                        Demod.output = tagToReaderResponse;
                    Demod.state = DEMOD_UNSYNCD;
                    LED_C_OFF();
+               }else{
+                       time_start = (GetCountSspClk()-time_0) << 4;
                }
                
                div = 0;
@@ -852,57 +863,93 @@ static int GetIClassCommandFromReader(uint8_t *received, int *len, int maxLen)
     }
 }
 
+static uint8_t encode4Bits(const uint8_t b)
+{
+       uint8_t c = b & 0xF;
+       // OTA, the least significant bits first
+       //         The columns are
+       //               1 - Bit value to send
+       //               2 - Reversed (big-endian)
+       //               3 - Encoded
+       //               4 - Hex values
+
+       switch(c){
+       //                          1       2         3         4
+         case 15: return 0x55; // 1111 -> 1111 -> 01010101 -> 0x55
+         case 14: return 0x95; // 1110 -> 0111 -> 10010101 -> 0x95
+         case 13: return 0x65; // 1101 -> 1011 -> 01100101 -> 0x65
+         case 12: return 0xa5; // 1100 -> 0011 -> 10100101 -> 0xa5
+         case 11: return 0x59; // 1011 -> 1101 -> 01011001 -> 0x59
+         case 10: return 0x99; // 1010 -> 0101 -> 10011001 -> 0x99
+         case 9:  return 0x69; // 1001 -> 1001 -> 01101001 -> 0x69
+         case 8:  return 0xa9; // 1000 -> 0001 -> 10101001 -> 0xa9
+         case 7:  return 0x56; // 0111 -> 1110 -> 01010110 -> 0x56
+         case 6:  return 0x96; // 0110 -> 0110 -> 10010110 -> 0x96
+         case 5:  return 0x66; // 0101 -> 1010 -> 01100110 -> 0x66
+         case 4:  return 0xa6; // 0100 -> 0010 -> 10100110 -> 0xa6
+         case 3:  return 0x5a; // 0011 -> 1100 -> 01011010 -> 0x5a
+         case 2:  return 0x9a; // 0010 -> 0100 -> 10011010 -> 0x9a
+         case 1:  return 0x6a; // 0001 -> 1000 -> 01101010 -> 0x6a
+         default: return 0xaa; // 0000 -> 0000 -> 10101010 -> 0xaa
+
+       }
+}
 
 //-----------------------------------------------------------------------------
 // Prepare tag messages
 //-----------------------------------------------------------------------------
 static void CodeIClassTagAnswer(const uint8_t *cmd, int len)
 {
-       //So far a dummy implementation, not used
-       //int lastProxToAirDuration =0;
+
+       /*
+        * SOF comprises 3 parts;
+        * * An unmodulated time of 56.64 us
+        * * 24 pulses of 423.75 KHz (fc/32)
+        * * A logic 1, which starts with an unmodulated time of 18.88us
+        *   followed by 8 pulses of 423.75kHz (fc/32)
+        *
+        *
+        * EOF comprises 3 parts:
+        * - A logic 0 (which starts with 8 pulses of fc/32 followed by an unmodulated
+        *   time of 18.88us.
+        * - 24 pulses of fc/32
+        * - An unmodulated time of 56.64 us
+        *
+        *
+        * A logic 0 starts with 8 pulses of fc/32
+        * followed by an unmodulated time of 256/fc (~18,88us).
+        *
+        * A logic 0 starts with unmodulated time of 256/fc (~18,88us) followed by
+        * 8 pulses of fc/32 (also 18.88us)
+        *
+        * The mode FPGA_HF_SIMULATOR_MODULATE_424K_8BIT which we use to simulate tag,
+        * works like this.
+        * - A 1-bit input to the FPGA becomes 8 pulses on 423.5kHz (fc/32) (18.88us).
+        * - A 0-bit inptu to the FPGA becomes an unmodulated time of 18.88us
+        *
+        * In this mode the SOF can be written as 00011101 = 0x1D
+        * The EOF can be written as 10111000 = 0xb8
+        * A logic 1 is 01
+        * A logic 0 is 10
+        *
+        * */
+
        int i;
 
        ToSendReset();
 
        // Send SOF
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0xff;//Proxtoair duration starts here
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0xff;
+       ToSend[++ToSendMax] = 0x1D;
 
        for(i = 0; i < len; i++) {
-               int j;
                uint8_t b = cmd[i];
-
-               // Data bits
-               for(j = 0; j < 8; j++) {
-                       if(b & 1) {
-                               ToSend[++ToSendMax] = 0x00;
-                               ToSend[++ToSendMax] = 0xff;
-                       } else {
-                               ToSend[++ToSendMax] = 0xff;
-                               ToSend[++ToSendMax] = 0x00;
+               ToSend[++ToSendMax] = encode4Bits(b & 0xF); //Least significant half
+               ToSend[++ToSendMax] = encode4Bits((b >>4) & 0xF);//Most significant half
                        }
-                       b >>= 1;
-               }
-       }
 
        // Send EOF
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0xff;     
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0x00;
-
+       ToSend[++ToSendMax] = 0xB8;
        //lastProxToAirDuration  = 8*ToSendMax - 3*8 - 3*8;//Not counting zeroes in the beginning or end
-
        // Convert from last byte pos to length
        ToSendMax++;
 }
@@ -915,21 +962,13 @@ static void CodeIClassTagSOF()
 
        ToSendReset();
        // Send SOF
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0xff;
-       ToSend[++ToSendMax] = 0x00;
-       ToSend[++ToSendMax] = 0xff;
-
+       ToSend[++ToSendMax] = 0x1D;
 //     lastProxToAirDuration  = 8*ToSendMax - 3*8;//Not counting zeroes in the beginning
 
-       
        // Convert from last byte pos to length
        ToSendMax++;
 }
+
 int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf);
 /**
  * @brief SimulateIClass simulates an iClass card.
@@ -965,7 +1004,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain
        else if(simType == 2)
        {
 
-               uint8_t mac_responses[64] = { 0 };
+               uint8_t mac_responses[USB_CMD_DATA_SIZE] = { 0 };
                Dbprintf("Going into attack mode, %d CSNS sent", numberOfCSNS);
                // In this mode, a number of csns are within datain. We'll simulate each one, one at a time
                // in order to collect MAC's from the reader. This can later be used in an offlne-attack
@@ -978,6 +1017,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain
                        memcpy(csn_crc, datain+(i*8), 8);
                        if(doIClassSimulation(csn_crc,1,mac_responses+i*8))
                        {
+                               cmd_send(CMD_ACK,CMD_SIMULATE_TAG_ICLASS,i,0,mac_responses,i*8);
                                return; // Button pressed
                        }
                }
@@ -999,7 +1039,9 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain
  */
 int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf)
 {
+
        // CSN followed by two CRC bytes
+       uint8_t response1[] = { 0x0F} ;
        uint8_t response2[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
        uint8_t response3[] = { 0,0,0,0,0,0,0,0,0,0};
        memcpy(response3,csn,sizeof(response3));
@@ -1022,33 +1064,34 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
        // Reader 81 anticoll. CSN
        // Tag    CSN
 
-       uint8_t *resp;
-       int respLen;
-       uint8_t* respdata = NULL;
-       int respsize = 0;
-       uint8_t sof = 0x0f;
+       uint8_t *modulated_response;
+       int modulated_response_size;
+       uint8_t* trace_data = NULL;
+       int trace_data_size = 0;
+       //uint8_t sof = 0x0f;
 
-       // Respond SOF -- takes 8 bytes
-       uint8_t *resp1 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET);
+       // free eventually allocated BigBuf memory
+       BigBuf_free();
+       // Respond SOF -- takes 1 bytes
+       uint8_t *resp1 = BigBuf_malloc(2);
        int resp1Len;
 
        // Anticollision CSN (rotated CSN)
-       // 176: Takes 16 bytes for SOF/EOF and 10 * 16 = 160 bytes (2 bytes/bit)
-       uint8_t *resp2 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 10);
+       // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte)
+       uint8_t *resp2 = BigBuf_malloc(28);
        int resp2Len;
 
        // CSN
-       // 176: Takes 16 bytes for SOF/EOF and 10 * 16 = 160 bytes (2 bytes/bit)
-       uint8_t *resp3 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 190);
+       // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte)
+       uint8_t *resp3 = BigBuf_malloc(30);
        int resp3Len;
 
        // e-Purse
-       // 144: Takes 16 bytes for SOF/EOF and 8 * 16 = 128 bytes (2 bytes/bit)
-       uint8_t *resp4 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 370);
+       // 18: Takes 2 bytes for SOF/EOF and 8 * 2 = 16 bytes (2 bytes/bit)
+       uint8_t *resp4 = BigBuf_malloc(20);
        int resp4Len;
 
-       // + 1720..
-       uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET);
+       uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE);
        memset(receivedCmd, 0x44, MAX_FRAME_SIZE);
        int len;
 
@@ -1091,11 +1134,6 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
        LED_A_ON();
        bool buttonPressed = false;
 
-       /** Hack  for testing
-       memcpy(reader_mac_buf,csn,8);
-       exitLoop = true;
-       end hack **/
-
        while(!exitLoop) {
 
                LED_B_OFF();
@@ -1114,35 +1152,35 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
                // Okay, look at the command now.
                if(receivedCmd[0] == 0x0a ) {
                        // Reader in anticollission phase
-                       resp = resp1; respLen = resp1Len; //order = 1;
-                       respdata = &sof;
-                       respsize = sizeof(sof);
+                       modulated_response = resp1; modulated_response_size = resp1Len; //order = 1;
+                       trace_data = response1;
+                       trace_data_size = sizeof(response1);
                } else if(receivedCmd[0] == 0x0c) {
                        // Reader asks for anticollission CSN
-                       resp = resp2; respLen = resp2Len; //order = 2;
-                       respdata = response2;
-                       respsize = sizeof(response2);
+                       modulated_response = resp2; modulated_response_size = resp2Len; //order = 2;
+                       trace_data = response2;
+                       trace_data_size = sizeof(response2);
                        //DbpString("Reader requests anticollission CSN:");
                } else if(receivedCmd[0] == 0x81) {
                        // Reader selects anticollission CSN.
                        // Tag sends the corresponding real CSN
-                       resp = resp3; respLen = resp3Len; //order = 3;
-                       respdata = response3;
-                       respsize = sizeof(response3);
+                       modulated_response = resp3; modulated_response_size = resp3Len; //order = 3;
+                       trace_data = response3;
+                       trace_data_size = sizeof(response3);
                        //DbpString("Reader selects anticollission CSN:");
                } else if(receivedCmd[0] == 0x88) {
                        // Read e-purse (88 02)
-                       resp = resp4; respLen = resp4Len; //order = 4;
-                       respdata = response4;
-                       respsize = sizeof(response4);
+                       modulated_response = resp4; modulated_response_size = resp4Len; //order = 4;
+                       trace_data = response4;
+                       trace_data_size = sizeof(response4);
                        LED_B_ON();
                } else if(receivedCmd[0] == 0x05) {
                        // Reader random and reader MAC!!!
                        // Do not respond
             // We do not know what to answer, so lets keep quiet
-                       resp = resp1; respLen = 0; //order = 5;
-                       respdata = NULL;
-                       respsize = 0;
+                       modulated_response = resp1; modulated_response_size = 0; //order = 5;
+                       trace_data = NULL;
+                       trace_data_size = 0;
                        if (breakAfterMacReceived){
                                // dbprintf:ing ...
                                Dbprintf("CSN: %02x %02x %02x %02x %02x %02x %02x %02x"
@@ -1159,9 +1197,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
                        }
                } else if(receivedCmd[0] == 0x00 && len == 1) {
                        // Reader ends the session
-                       resp = resp1; respLen = 0; //order = 0;
-                       respdata = NULL;
-                       respsize = 0;
+                       modulated_response = resp1; modulated_response_size = 0; //order = 0;
+                       trace_data = NULL;
+                       trace_data_size = 0;
                } else {
                        //#db# Unknown command received from reader (len=5): 26 1 0 f6 a 44 44 44 44
                        // Never seen this command before
@@ -1171,9 +1209,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
                        receivedCmd[3], receivedCmd[4], receivedCmd[5],
                        receivedCmd[6], receivedCmd[7], receivedCmd[8]);
                        // Do not respond
-                       resp = resp1; respLen = 0; //order = 0;
-                       respdata = NULL;
-                       respsize = 0;
+                       modulated_response = resp1; modulated_response_size = 0; //order = 0;
+                       trace_data = NULL;
+                       trace_data_size = 0;
                }
 
                if(cmdsRecvd >  100) {
@@ -1183,9 +1221,11 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
                else {
                        cmdsRecvd++;
                }
-
-               if(respLen > 0) {
-                       SendIClassAnswer(resp, respLen, 21);
+               /**
+               A legit tag has about 380us delay between reader EOT and tag SOF.
+               **/
+               if(modulated_response_size > 0) {
+                       SendIClassAnswer(modulated_response, modulated_response_size, 1);
                        t2r_time = GetCountSspClk();
                }
 
@@ -1194,9 +1234,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
                        GetParity(receivedCmd, len, parity);
                        LogTrace(receivedCmd,len, (r2t_time-time_0)<< 4, (r2t_time-time_0) << 4, parity, TRUE);
 
-                       if (respdata != NULL) {
-                               GetParity(respdata, respsize, parity);
-                               LogTrace(respdata, respsize, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE);
+                       if (trace_data != NULL) {
+                               GetParity(trace_data, trace_data_size, parity);
+                               LogTrace(trace_data, trace_data_size, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE);
                        }
                        if(!tracing) {
                                DbpString("Trace full");
@@ -1210,6 +1250,8 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader
        //Dbprintf("%x", cmdsRecvd);
        LED_A_OFF();
        LED_B_OFF();
+       LED_C_OFF();
+
        if(buttonPressed)
        {
                DbpString("Button pressed");
@@ -1222,7 +1264,8 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay)
        int i = 0, d=0;//, u = 0, d = 0;
        uint8_t b = 0;
 
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K);
+       //FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K);
+       FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K_8BIT);
 
        AT91C_BASE_SSC->SSC_THR = 0x00;
        FpgaSetupSsc();
@@ -1246,7 +1289,8 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay)
                        AT91C_BASE_SSC->SSC_THR = b;
                }
 
-               if (i > respLen +4) break;
+//             if (i > respLen +4) break;
+               if (i > respLen +1) break;
        }
 
        return 0;
@@ -1267,7 +1311,7 @@ static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int
    if (wait)
    {
      if(*wait < 10) *wait = 10;
-
+     
   for(c = 0; c < *wait;) {
     if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
       AT91C_BASE_SSC->SSC_THR = 0x00;          // For exact timing!
@@ -1373,7 +1417,7 @@ void ReaderTransmitIClass(uint8_t* frame, int len)
        LED_A_ON();
 
   // Store reader command in buffer
-  if (tracing) {
+       if (tracing) {
                uint8_t par[MAX_PARITY_SIZE];
                GetParity(frame, len, par);
                LogTrace(frame, len, rsamples, rsamples, par, TRUE);
@@ -1433,10 +1477,10 @@ int ReaderReceiveIClass(uint8_t* receivedAnswer)
   int samples = 0;
   if (!GetIClassAnswer(receivedAnswer,160,&samples,0)) return FALSE;
   rsamples += samples;
-  if (tracing){
-               uint8_t parity[MAX_PARITY_SIZE];
-               GetParity(receivedAnswer, Demod.len, parity);
-               LogTrace(receivedAnswer,Demod.len,rsamples,rsamples,parity,FALSE);
+  if (tracing) {
+       uint8_t parity[MAX_PARITY_SIZE];
+       GetParity(receivedAnswer, Demod.len, parity);
+       LogTrace(receivedAnswer,Demod.len,rsamples,rsamples,parity,FALSE);
   }
   if(samples == 0) return FALSE;
   return Demod.len;
@@ -1492,7 +1536,7 @@ uint8_t handshakeIclassTag(uint8_t *card_data)
        static uint8_t identify[]    = { 0x0c };
        static uint8_t select[]      = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
        static uint8_t readcheck_cc[]= { 0x88, 0x02 };
-       uint8_t *resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET);
+       uint8_t resp[ICLASS_BUFFER_SIZE];
 
        uint8_t read_status = 0;
 
@@ -1539,7 +1583,7 @@ void ReaderIClass(uint8_t arg0) {
 
     uint8_t card_data[24]={0};
     uint8_t last_csn[8]={0};
-
+       
     int read_status= 0;
     bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE;
        bool get_cc = arg0 & FLAG_ICLASS_READER_GET_CC;
@@ -1550,11 +1594,11 @@ void ReaderIClass(uint8_t arg0) {
     while(!BUTTON_PRESS())
     {
 
-               if(traceLen > TRACE_SIZE) {
+               if(traceLen > BigBuf_max_traceLen()) {
                        DbpString("Trace full");
                        break;
                }
-        WDT_HIT();
+               WDT_HIT();
 
                read_status = handshakeIclassTag(card_data);
 
@@ -1579,7 +1623,7 @@ void ReaderIClass(uint8_t arg0) {
                        }
                        //If 'get_cc' was specified and we didn't get a CC, we'll just keep trying...
                }
-                    LED_B_OFF();
+               LED_B_OFF();
     }
     cmd_send(CMD_ACK,0,0,0,card_data, 0);
     LED_A_OFF();
@@ -1613,16 +1657,16 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
          int keyaccess;
        } memory;
        
-       uint8_t* resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET);
-
+       uint8_t resp[ICLASS_BUFFER_SIZE];
+       
     setupIclassReader();
 
 
        while(!BUTTON_PRESS()) {
        
                WDT_HIT();
-       
-               if(traceLen > TRACE_SIZE) {
+
+               if(traceLen > BigBuf_max_traceLen()) {
                        DbpString("Trace full");
                        break;
                }
index 775c583aaea4505331324e30262bb8987364aafa..48a32b1024db8ef59e024421c938715a0b4be246 100644 (file)
@@ -339,10 +339,10 @@ void SimulateIso14443Tag(void)
     uint8_t *resp;
     int respLen;
 
-    uint8_t *resp1 = (((uint8_t *)BigBuf) + 800);
+    uint8_t *resp1 = BigBuf_get_addr() + 800;
     int resp1Len;
 
-    uint8_t *receivedCmd = (uint8_t *)BigBuf;
+    uint8_t *receivedCmd = BigBuf_get_addr();
     int len;
 
     int i;
@@ -629,31 +629,32 @@ static void GetSamplesFor14443Demod(int weTx, int n, int quiet)
     int gotFrame = FALSE;
 
 //#   define DMA_BUFFER_SIZE 8
-    int8_t *dmaBuf;
+    uint8_t *dmaBuf;
 
     int lastRxCounter;
-    int8_t *upTo;
+    uint8_t *upTo;
 
     int ci, cq;
 
     int samples = 0;
 
     // Clear out the state of the "UART" that receives from the tag.
+       uint8_t *BigBuf = BigBuf_get_addr();
     memset(BigBuf, 0x00, 400);
-    Demod.output = (uint8_t *)BigBuf;
+    Demod.output = BigBuf;
     Demod.len = 0;
     Demod.state = DEMOD_UNSYNCD;
 
     // And the UART that receives from the reader
-    Uart.output = (((uint8_t *)BigBuf) + 1024);
+    Uart.output = BigBuf + 1024;
     Uart.byteCntMax = 100;
     Uart.state = STATE_UNSYNCD;
 
     // Setup for the DMA.
-    dmaBuf = (int8_t *)(BigBuf + 32);
+    dmaBuf = BigBuf + 32;
     upTo = dmaBuf;
     lastRxCounter = DEMOD_DMA_BUFFER_SIZE;
-    FpgaSetupSscDma((uint8_t *)dmaBuf, DEMOD_DMA_BUFFER_SIZE);
+    FpgaSetupSscDma(dmaBuf, DEMOD_DMA_BUFFER_SIZE);
 
     // Signal field is ON with the appropriate LED:
     if (weTx) LED_D_ON(); else LED_D_OFF();
@@ -1012,20 +1013,21 @@ void RAMFUNC SnoopIso14443(void)
     int triggered = TRUE;
 
     FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
+       BigBuf_free();
     // The command (reader -> tag) that we're working on receiving.
-    uint8_t *receivedCmd = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE;
+    uint8_t *receivedCmd = BigBuf_malloc(READER_TAG_BUFFER_SIZE);
     // The response (tag -> reader) that we're working on receiving.
-    uint8_t *receivedResponse = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE;
+    uint8_t *receivedResponse = BigBuf_malloc(TAG_READER_BUFFER_SIZE);
 
     // As we receive stuff, we copy it from receivedCmd or receivedResponse
     // into trace, along with its length and other annotations.
-    uint8_t *trace = (uint8_t *)BigBuf;
-    int traceLen = 0;
+    uint8_t *trace = BigBuf_get_addr();
+    traceLen = 0;
 
     // The DMA buffer, used to stream samples from the FPGA.
-    int8_t *dmaBuf = (int8_t *)(BigBuf) + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE + TAG_READER_BUFFER_SIZE;
+    uint8_t *dmaBuf = BigBuf_malloc(DEMOD_DMA_BUFFER_SIZE);
     int lastRxCounter;
-    int8_t *upTo;
+    uint8_t *upTo;
     int ci, cq;
     int maxBehindBy = 0;
 
@@ -1034,7 +1036,7 @@ void RAMFUNC SnoopIso14443(void)
     int samples = 0;
 
     // Initialize the trace buffer
-    memset(trace, 0x44, DEMOD_TRACE_SIZE);
+    memset(trace, 0x44, BigBuf_max_traceLen());
 
     // Set up the demodulator for tag -> reader responses.
     Demod.output = receivedResponse;
@@ -1049,7 +1051,7 @@ void RAMFUNC SnoopIso14443(void)
 
     // Print some debug information about the buffer sizes
     Dbprintf("Snooping buffers initialized:");
-    Dbprintf("  Trace: %i bytes", DEMOD_TRACE_SIZE);
+    Dbprintf("  Trace: %i bytes", BigBuf_max_traceLen());
     Dbprintf("  Reader -> tag: %i bytes", READER_TAG_BUFFER_SIZE);
     Dbprintf("  tag -> Reader: %i bytes", TAG_READER_BUFFER_SIZE);
     Dbprintf("  DMA: %i bytes", DEMOD_DMA_BUFFER_SIZE);
@@ -1076,7 +1078,7 @@ void RAMFUNC SnoopIso14443(void)
                                 (DEMOD_DMA_BUFFER_SIZE-1);
         if(behindBy > maxBehindBy) {
             maxBehindBy = behindBy;
-            if(behindBy > (DEMOD_DMA_BUFFER_SIZE-2)) { // TODO: understand whether we can increase/decrease as we want or not?
+            if(behindBy > (9*DEMOD_DMA_BUFFER_SIZE/10)) { // TODO: understand whether we can increase/decrease as we want or not?
                 Dbprintf("blew circular buffer! behindBy=0x%x", behindBy);
                 goto done;
             }
@@ -1147,7 +1149,7 @@ void RAMFUNC SnoopIso14443(void)
             trace[traceLen++] = Demod.len;
             memcpy(trace+traceLen, receivedResponse, Demod.len);
             traceLen += Demod.len;
-            if(traceLen > DEMOD_TRACE_SIZE) {
+            if(traceLen > BigBuf_max_traceLen()) {
                                DbpString("Reached trace limit");
                                goto done;
                        }
@@ -1173,9 +1175,9 @@ done:
        LED_A_OFF();
        LED_B_OFF();
        LED_C_OFF();
-  AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS;
+       AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS;
        DbpString("Snoop statistics:");
-  Dbprintf("  Max behind by: %i", maxBehindBy);
+       Dbprintf("  Max behind by: %i", maxBehindBy);
        Dbprintf("  Uart State: %x", Uart.state);
        Dbprintf("  Uart ByteCnt: %i", Uart.byteCnt);
        Dbprintf("  Uart ByteCntMax: %i", Uart.byteCntMax);
index 3c5c9c243d9b68b4a89508a1a71a4bfbbe67cc68..b1639a88c0568693e40e5f904b343885e777562a 100644 (file)
 // Routines to support ISO 14443 type A.
 //-----------------------------------------------------------------------------
 
-#include "../include/proxmark3.h"
+#include "proxmark3.h"
 #include "apps.h"
 #include "util.h"
 #include "string.h"
-#include "../common/cmd.h"
-#include "../common/iso14443crc.h"
+#include "cmd.h"
+
+#include "iso14443crc.h"
 #include "iso14443a.h"
 #include "crapto1.h"
 #include "mifareutil.h"
 
 static uint32_t iso14a_timeout;
-uint8_t *trace = (uint8_t *) BigBuf+TRACE_OFFSET;
 int rsamples = 0;
-int traceLen = 0;
 int tracing = TRUE;
 uint8_t trigger = 0;
 // the block number for the ISO14443-4 PCB
@@ -148,7 +147,9 @@ void iso14a_set_trigger(bool enable) {
 }
 
 void iso14a_clear_trace() {
-       memset(trace, 0x44, TRACE_SIZE);
+       uint8_t *trace = BigBuf_get_addr();
+       uint16_t max_traceLen = BigBuf_max_traceLen();
+       memset(trace, 0x44, max_traceLen);
        traceLen = 0;
 }
 
@@ -169,7 +170,7 @@ byte_t oddparity (const byte_t bt)
        return OddByteParity[bt];
 }
 
-void GetParity(const uint8_t * pbtCmd, uint16_t iLen, uint8_t *par)
+void GetParity(const uint8_t *pbtCmd, uint16_t iLen, uint8_t *par)
 {
        uint16_t paritybit_cnt = 0;
        uint16_t paritybyte_cnt = 0;
@@ -179,15 +180,15 @@ void GetParity(const uint8_t * pbtCmd, uint16_t iLen, uint8_t *par)
                // Generate the parity bits
                parityBits |= ((OddByteParity[pbtCmd[i]]) << (7-paritybit_cnt));
                if (paritybit_cnt == 7) {
-                       par[paritybyte_cnt] = parityBits; // save 8 Bits parity
-                       parityBits = 0; // and advance to next Parity Byte
+                       par[paritybyte_cnt] = parityBits;       // save 8 Bits parity
+                       parityBits = 0;                                         // and advance to next Parity Byte
                        paritybyte_cnt++;
                        paritybit_cnt = 0;
                } else {
-               paritybit_cnt++;
+                       paritybit_cnt++;
                }
        }
-               
+
        // save remaining parity bits
        par[paritybyte_cnt] = parityBits;
        
@@ -203,11 +204,13 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
 {
        if (!tracing) return FALSE;
        
-       uint16_t num_paritybytes = (iLen-1)/8 + 1; // number of valid paritybytes in *parity
+       uint8_t *trace = BigBuf_get_addr();
+       uint16_t num_paritybytes = (iLen-1)/8 + 1;      // number of valid paritybytes in *parity
        uint16_t duration = timestamp_end - timestamp_start;
 
        // Return when trace is full
-       if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= TRACE_SIZE) {
+       uint16_t max_traceLen = BigBuf_max_traceLen();
+       if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= max_traceLen) {
                tracing = FALSE;        // don't trace any more
                return FALSE;
        }
@@ -218,7 +221,7 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
        // 16 bits data length (little endian, Highest Bit used as readerToTag flag)
        // y Bytes data
        // x Bytes parity (one byte per 8 bytes data)
-
+       
        // timestamp (start)
        trace[traceLen++] = ((timestamp_start >> 0) & 0xff);
        trace[traceLen++] = ((timestamp_start >> 8) & 0xff);
@@ -228,28 +231,28 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
        // duration
        trace[traceLen++] = ((duration >> 0) & 0xff);
        trace[traceLen++] = ((duration >> 8) & 0xff);
-       
+
        // data length
        trace[traceLen++] = ((iLen >> 0) & 0xff);
        trace[traceLen++] = ((iLen >> 8) & 0xff);
-       
+
        // readerToTag flag
        if (!readerToTag) {
                trace[traceLen - 1] |= 0x80;
-       }
+       }
 
        // data bytes
        if (btBytes != NULL && iLen != 0) {
                memcpy(trace + traceLen, btBytes, iLen);
        }
-       traceLen += iLen;
-       
+       traceLen += iLen;
+
        // parity bytes
        if (parity != NULL && iLen != 0) {
                memcpy(trace + traceLen, parity, num_paritybytes);
        }
        traceLen += num_paritybytes;
-       
+
        return TRUE;
 }
 
@@ -307,7 +310,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time)
 
        Uart.twoBits = (Uart.twoBits << 8) | bit;
        
-       if (Uart.state == STATE_UNSYNCD) {                                                                                      // not yet synced
+       if (Uart.state == STATE_UNSYNCD) {                                                                                              // not yet synced
        
                if (Uart.highCnt < 7) {                                                                                                 // wait for a stable unmodulated signal
                        if (Uart.twoBits == 0xffff) {
@@ -315,7 +318,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time)
                        } else {
                                Uart.highCnt = 0;
                        }
-               } else {
+               } else {        
                        Uart.syncBit = 0xFFFF; // not set
                        // look for 00xx1111 (the start bit)
                        if              ((Uart.twoBits & 0x6780) == 0x0780) Uart.syncBit = 7; 
@@ -355,9 +358,9 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time)
                                                Uart.parityBits |= ((Uart.shiftReg >> 8) & 0x01);               // store parity bit
                                                Uart.bitCount = 0;
                                                Uart.shiftReg = 0;
-                                               if((Uart.len & 0x0007) == 0) { // every 8 data bytes
-                                                               Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits
-                                                               Uart.parityBits = 0;
+                                               if((Uart.len&0x0007) == 0) {                                                    // every 8 data bytes
+                                                       Uart.parity[Uart.parityLen++] = Uart.parityBits;        // store 8 parity bits
+                                                       Uart.parityBits = 0;
                                                }
                                        }
                                }
@@ -374,32 +377,32 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time)
                                        Uart.parityBits |= ((Uart.shiftReg >> 8) & 0x01);                       // store parity bit
                                        Uart.bitCount = 0;
                                        Uart.shiftReg = 0;
-                                       if ((Uart.len & 0x0007) == 0) { // every 8 data bytes
-                                               Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits
+                                       if ((Uart.len&0x0007) == 0) {                                                           // every 8 data bytes
+                                               Uart.parity[Uart.parityLen++] = Uart.parityBits;                // store 8 parity bits
                                                Uart.parityBits = 0;
                                        }
                                }
                        } else {                                                                                                                        // no modulation in both halves - Sequence Y
                                if (Uart.state == STATE_MILLER_Z || Uart.state == STATE_MILLER_Y) {     // Y after logic "0" - End of Communication
                                        Uart.state = STATE_UNSYNCD;
-                                       Uart.bitCount--;                                        // last "0" was part of EOC sequence
-                                       Uart.shiftReg <<= 1;                            // drop it
-                                       if(Uart.bitCount > 0) {                         // if we decoded some bits
-                                       Uart.shiftReg >>= (9 - Uart.bitCount); // right align them
-                                       Uart.output[Uart.len++] = (Uart.shiftReg & 0xff); // add last byte to the output
-                                       Uart.parityBits <<= 1;                          // add a (void) parity bit
-                                       Uart.parityBits <<= (8 - (Uart.len & 0x0007)); // left align parity bits
-                                       Uart.parity[Uart.parityLen++] = Uart.parityBits; // and store it
-                                       return TRUE;
-                               } else if (Uart.len & 0x0007) {                 // there are some parity bits to store
-                                       Uart.parityBits <<= (8 - (Uart.len & 0x0007)); // left align remaining parity bits
-                                       Uart.parity[Uart.parityLen++] = Uart.parityBits; // and store them
+                                       Uart.bitCount--;                                                                                        // last "0" was part of EOC sequence
+                                       Uart.shiftReg <<= 1;                                                                            // drop it
+                                       if(Uart.bitCount > 0) {                                                                         // if we decoded some bits
+                                               Uart.shiftReg >>= (9 - Uart.bitCount);                                  // right align them
+                                               Uart.output[Uart.len++] = (Uart.shiftReg & 0xff);               // add last byte to the output
+                                               Uart.parityBits <<= 1;                                                                  // add a (void) parity bit
+                                               Uart.parityBits <<= (8 - (Uart.len&0x0007));                    // left align parity bits
+                                               Uart.parity[Uart.parityLen++] = Uart.parityBits;                // and store it
+                                               return TRUE;
+                                       } else if (Uart.len & 0x0007) {                                                         // there are some parity bits to store
+                                               Uart.parityBits <<= (8 - (Uart.len&0x0007));                    // left align remaining parity bits
+                                               Uart.parity[Uart.parityLen++] = Uart.parityBits;                // and store them
                                        }
-                                       if ( Uart.len) {
-                                       return TRUE;                                            // we are finished with decoding the raw data sequence
+                                       if (Uart.len) {
+                                               return TRUE;                                                                                    // we are finished with decoding the raw data sequence
                                        } else {
                                                UartReset();                                    // Nothing receiver - start over
-                                       }                                       
+                                       }
                                }
                                if (Uart.state == STATE_START_OF_COMMUNICATION) {                               // error - must not follow directly after SOC
                                        UartReset();
@@ -414,8 +417,8 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time)
                                                Uart.parityBits |= ((Uart.shiftReg >> 8) & 0x01);               // store parity bit
                                                Uart.bitCount = 0;
                                                Uart.shiftReg = 0;
-                                               if ((Uart.len & 0x0007) == 0) {                                          // every 8 data bytes
-                                                       Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits
+                                               if ((Uart.len&0x0007) == 0) {                                                   // every 8 data bytes
+                                                       Uart.parity[Uart.parityLen++] = Uart.parityBits;        // store 8 parity bits
                                                        Uart.parityBits = 0;
                                                }
                                        }
@@ -423,7 +426,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time)
                        }
                }
                        
-       }       
+       } 
 
     return FALSE;      // not finished yet, need more data
 }
@@ -527,8 +530,8 @@ static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non
                                Demod.parityBits |= ((Demod.shiftReg >> 8) & 0x01);     // store parity bit
                                Demod.bitCount = 0;
                                Demod.shiftReg = 0;
-                               if((Demod.len & 0x0007) == 0) { // every 8 data bytes
-                                       Demod.parity[Demod.parityLen++] = Demod.parityBits; // store 8 parity bits
+                               if((Demod.len&0x0007) == 0) {                                                   // every 8 data bytes
+                                       Demod.parity[Demod.parityLen++] = Demod.parityBits;     // store 8 parity bits
                                        Demod.parityBits = 0;
                                }
                        }
@@ -543,26 +546,26 @@ static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non
                                        Demod.parityBits |= ((Demod.shiftReg >> 8) & 0x01); // store parity bit
                                        Demod.bitCount = 0;
                                        Demod.shiftReg = 0;
-                                       if ((Demod.len & 0x0007) == 0) { // every 8 data bytes
-                                               Demod.parity[Demod.parityLen++] = Demod.parityBits; // store 8 parity bits1
+                                       if ((Demod.len&0x0007) == 0) {                                          // every 8 data bytes
+                                               Demod.parity[Demod.parityLen++] = Demod.parityBits;     // store 8 parity bits1
                                                Demod.parityBits = 0;
                                        }
                                }
                                Demod.endTime = Demod.startTime + 8*(9*Demod.len + Demod.bitCount + 1);
                        } else {                                                                                                        // no modulation in both halves - End of communication
-                                       if(Demod.bitCount > 0) { // there are some remaining data bits
-                                               Demod.shiftReg >>= (9 - Demod.bitCount); // right align the decoded bits
-                                               Demod.output[Demod.len++] = Demod.shiftReg & 0xff; // and add them to the output
-                                               Demod.parityBits <<= 1; // add a (void) parity bit
-                                               Demod.parityBits <<= (8 - (Demod.len & 0x0007)); // left align remaining parity bits
-                                               Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them
-                                               return TRUE;
-                                       } else if (Demod.len & 0x0007) { // there are some parity bits to store
-                                               Demod.parityBits <<= (8 - (Demod.len & 0x0007)); // left align remaining parity bits
-                                               Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them
-                                       }
-                                       if (Demod.len) {
-                                       return TRUE; // we are finished with decoding the raw data sequence
+                               if(Demod.bitCount > 0) {                                                                // there are some remaining data bits
+                                       Demod.shiftReg >>= (9 - Demod.bitCount);                        // right align the decoded bits
+                                       Demod.output[Demod.len++] = Demod.shiftReg & 0xff;      // and add them to the output
+                                       Demod.parityBits <<= 1;                                                         // add a (void) parity bit
+                                       Demod.parityBits <<= (8 - (Demod.len&0x0007));          // left align remaining parity bits
+                                       Demod.parity[Demod.parityLen++] = Demod.parityBits;     // and store them
+                                       return TRUE;
+                               } else if (Demod.len & 0x0007) {                                                // there are some parity bits to store
+                                       Demod.parityBits <<= (8 - (Demod.len&0x0007));          // left align remaining parity bits
+                                       Demod.parity[Demod.parityLen++] = Demod.parityBits;     // and store them
+                               }
+                               if (Demod.len) {
+                                       return TRUE;                                                                            // we are finished with decoding the raw data sequence
                                } else {                                                                                                // nothing received. Start over
                                        DemodReset();
                                }
@@ -590,9 +593,6 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
        // bit 1 - trigger from first reader 7-bit request
        
        LEDsoff();
-       // init trace buffer
-       iso14a_clear_trace();
-       iso14a_set_tracing(TRUE);
 
        // We won't start recording the frames that we acquire until we trigger;
        // a good trigger condition to get started is probably when we see a
@@ -600,22 +600,25 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
        // triggered == FALSE -- to wait first for card
        bool triggered = !(param & 0x03); 
        
+       // Allocate memory from BigBuf for some buffers
+       // free all previous allocations first
+       BigBuf_free();
+
        // The command (reader -> tag) that we're receiving.
-       // The length of a received command will in most cases be no more than 18 bytes.
-       // So 32 should be enough!
-       uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET;
-       uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET;
+       uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE);
+       uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE);
        
        // The response (tag -> reader) that we're receiving.
-       uint8_t *receivedResponse = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET;
-       uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET;
-       
-       // As we receive stuff, we copy it from receivedCmd or receivedResponse
-       // into trace, along with its length and other annotations.
-       //uint8_t *trace = (uint8_t *)BigBuf;
+       uint8_t *receivedResponse = BigBuf_malloc(MAX_FRAME_SIZE);
+       uint8_t *receivedResponsePar = BigBuf_malloc(MAX_PARITY_SIZE);
        
        // The DMA buffer, used to stream samples from the FPGA
-       uint8_t *dmaBuf = ((uint8_t *)BigBuf) + DMA_BUFFER_OFFSET;
+       uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE);
+
+       // init trace buffer
+       iso14a_clear_trace();
+       iso14a_set_tracing(TRUE);
+
        uint8_t *data = dmaBuf;
        uint8_t previous_data = 0;
        int maxDataLen = 0;
@@ -627,10 +630,10 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
 
        // Set up the demodulator for tag -> reader responses.
        DemodInit(receivedResponse, receivedResponsePar);
-
+       
        // Set up the demodulator for the reader -> tag commands
        UartInit(receivedCmd, receivedCmdPar);
-
+       
        // Setup and start DMA.
        FpgaSetupSscDma((uint8_t *)dmaBuf, DMA_BUFFER_SIZE);
        
@@ -655,7 +658,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
                // test for length of buffer
                if(dataLen > maxDataLen) {
                        maxDataLen = dataLen;
-                       if(dataLen > 400) {
+                       if(dataLen > (9 * DMA_BUFFER_SIZE / 10)) {
                                Dbprintf("blew circular buffer! dataLen=%d", dataLen);
                                break;
                        }
@@ -687,12 +690,12 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
                                        if ((!triggered) && (param & 0x02) && (Uart.len == 1) && (Uart.bitCount == 7)) triggered = TRUE;
 
                                        if(triggered) {
-                                               if (!LogTrace(receivedCmd,
-                                                       Uart.len,
-                                                       Uart.startTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER,
-                                                       Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER,
-                                                       Uart.parity,
-                                                       TRUE)) break;
+                                               if (!LogTrace(receivedCmd, 
+                                                                               Uart.len, 
+                                                                               Uart.startTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER,
+                                                                               Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER,
+                                                                               Uart.parity, 
+                                                                               TRUE)) break;
                                        }
                                        /* And ready to receive another command. */
                                        UartReset();
@@ -709,12 +712,12 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
                                if(ManchesterDecoding(tagdata, 0, (rsamples-1)*4)) {
                                        LED_B_ON();
 
-                                       if (!LogTrace(receivedResponse,
-                                               Demod.len,
-                                               Demod.startTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER,
-                                               Demod.endTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER,
-                                               Demod.parity,
-                                               FALSE)) break;
+                                       if (!LogTrace(receivedResponse, 
+                                                                       Demod.len, 
+                                                                       Demod.startTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER, 
+                                                                       Demod.endTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER,
+                                                                       Demod.parity,
+                                                                       FALSE)) break;
 
                                        if ((!triggered) && (param & 0x01)) triggered = TRUE;
 
@@ -745,7 +748,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
 //-----------------------------------------------------------------------------
 // Prepare tag messages
 //-----------------------------------------------------------------------------
-static void CodeIso14443aAsTagPar(const uint8_t *cmd,  uint16_t len, uint8_t *parity)
+static void CodeIso14443aAsTagPar(const uint8_t *cmd, uint16_t len, uint8_t *parity)
 {
        ToSendReset();
 
@@ -763,7 +766,7 @@ static void CodeIso14443aAsTagPar(const uint8_t *cmd,  uint16_t len, uint8_t *pa
        ToSend[++ToSendMax] = SEC_D;
        LastProxToAirDuration = 8 * ToSendMax - 4;
 
-       for( uint16_t i = 0; i < len; i++) {
+       for(uint16_t i = 0; i < len; i++) {
                uint8_t b = cmd[i];
 
                // Data bits
@@ -884,7 +887,7 @@ int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par);
 bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity,
                                 uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity);
 
-static uint8_t* free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET);
+static uint8_t* free_buffer_pointer;
 
 typedef struct {
   uint8_t* response;
@@ -894,10 +897,6 @@ typedef struct {
   uint32_t ProxToAirDuration;
 } tag_response_info_t;
 
-void reset_free_buffer() {
-  free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET);
-}
-
 bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffer_size) {
        // Example response, answer to MIFARE Classic read block will be 16 bytes + 2 CRC = 18 bytes
        // This will need the following byte array for a modulation sequence
@@ -909,7 +908,8 @@ bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffe
        // ----------- +
        //    166 bytes, since every bit that needs to be send costs us a byte
        //
-  
   // Prepare the tag modulation bits from the message
   CodeIso14443aAsTag(response_info->response,response_info->response_n);
   
@@ -930,15 +930,22 @@ bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffe
   return true;
 }
 
+
+// "precompile" responses. There are 7 predefined responses with a total of 28 bytes data to transmit.
+// Coded responses need one byte per bit to transfer (data, parity, start, stop, correction) 
+// 28 * 8 data bits, 28 * 1 parity bits, 7 start bits, 7 stop bits, 7 correction bits
+// -> need 273 bytes buffer
+#define ALLOCATED_TAG_MODULATION_BUFFER_SIZE 273
+
 bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) {
   // Retrieve and store the current buffer index
   response_info->modulation = free_buffer_pointer;
   
   // Determine the maximum size we can use from our buffer
-  size_t max_buffer_size = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + FREE_BUFFER_SIZE) - free_buffer_pointer;
+  size_t max_buffer_size = ALLOCATED_TAG_MODULATION_BUFFER_SIZE;
   
   // Forward the prepare tag modulation function to the inner function
-  if (prepare_tag_modulation(response_info,max_buffer_size)) {
+  if (prepare_tag_modulation(response_info, max_buffer_size)) {
     // Update the free buffer offset
     free_buffer_pointer += ToSendMax;
     return true;
@@ -953,10 +960,6 @@ bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) {
 //-----------------------------------------------------------------------------
 void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
 {
-       // Enable and clear the trace
-       iso14a_clear_trace();
-       iso14a_set_tracing(TRUE);
-
        uint8_t sak;
 
        // The first response contains the ATQA (note: bytes are transmitted in reverse order).
@@ -1000,10 +1003,11 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
        }
        
        // The second response contains the (mandatory) first 24 bits of the UID
-       uint8_t response2[5];
+       uint8_t response2[5] = {0x00};
 
        // Check if the uid uses the (optional) part
-       uint8_t response2a[5];
+       uint8_t response2a[5] = {0x00};
+       
        if (uid_2nd) {
                response2[0] = 0x88;
                num_to_bytes(uid_1st,3,response2+1);
@@ -1024,18 +1028,18 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
        response2[4] = response2[0] ^ response2[1] ^ response2[2] ^ response2[3];
 
        // Prepare the mandatory SAK (for 4 and 7 byte UID)
-       uint8_t response3[3];
+       uint8_t response3[3]  = {0x00};
        response3[0] = sak;
        ComputeCrc14443(CRC_14443_A, response3, 1, &response3[1], &response3[2]);
 
        // Prepare the optional second SAK (for 7 byte UID), drop the cascade bit
-       uint8_t response3a[3];
+       uint8_t response3a[3]  = {0x00};
        response3a[0] = sak & 0xFB;
        ComputeCrc14443(CRC_14443_A, response3a, 1, &response3a[1], &response3a[2]);
 
        uint8_t response5[] = { 0x00, 0x00, 0x00, 0x00 }; // Very random tag nonce
-       uint8_t response6[] = { 0x04, 0x58, 0x80, 0x02, 0x00, 0x00 }; // dummy ATS (pseudo-ATR), answer to RATS:
-       // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present,
+       uint8_t response6[] = { 0x04, 0x58, 0x80, 0x02, 0x00, 0x00 }; // dummy ATS (pseudo-ATR), answer to RATS: 
+       // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present, 
        // TA(1) = 0x80: different divisors not supported, DR = 1, DS = 1
        // TB(1) = not present. Defaults: FWI = 4 (FWT = 256 * 16 * 2^4 * 1/fc = 4833us), SFGI = 0 (SFG = 256 * 16 * 2^0 * 1/fc = 302us)
        // TC(1) = 0x02: CID supported, NAD not supported
@@ -1065,9 +1069,17 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
                .modulation_n = 0
        };
   
-       // Reset the offset pointer of the free buffer
-       reset_free_buffer();
-  
+       BigBuf_free_keep_EM();
+
+       // allocate buffers:
+       uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE);
+       uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE);
+       free_buffer_pointer = BigBuf_malloc(ALLOCATED_TAG_MODULATION_BUFFER_SIZE);
+
+       // clear trace
+    iso14a_clear_trace();
+       iso14a_set_tracing(TRUE);
+
        // Prepare the responses of the anticollision phase
        // there will be not enough time to do this at the moment the reader sends it REQA
        for (size_t i=0; i<TAG_RESPONSE_COUNT; i++) {
@@ -1088,10 +1100,6 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
        // We need to listen to the high-frequency, peak-detected path.
        iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN);
 
-       // buffers used on software Uart:
-       uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET;
-       uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET;
-       
        cmdsRecvd = 0;
        tag_response_info_t* p_response;
 
@@ -1101,7 +1109,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
                
                if(!GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len)) {
                        DbpString("Button press");
-                       break;  
+                       break;
                }
 
                p_response = NULL;
@@ -1252,6 +1260,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data)
 
        Dbprintf("%x %x %x", happened, happened2, cmdsRecvd);
        LED_A_OFF();
+       BigBuf_free_keep_EM();
 }
 
 
@@ -1323,14 +1332,14 @@ static void TransmitFor14443a(const uint8_t *cmd, uint16_t len, uint32_t *timing
                }
        }
        
-       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;
@@ -1411,7 +1420,7 @@ void CodeIso14443aBitsAsReaderPar(const uint8_t * cmd, uint16_t bits, const uint
 //-----------------------------------------------------------------------------
 // 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);
 }
@@ -1595,7 +1604,7 @@ int EmSendCmdEx(uint8_t *resp, uint16_t respLen, bool correctionNeeded){
        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);
@@ -1610,16 +1619,16 @@ bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_Start
                                 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;
@@ -1643,7 +1652,7 @@ static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint8_t *receive
        
        // Now get the answer from the card
        DemodInit(receivedResponse, receivedResponsePar);
-       
+
        // clear RXRDY:
     uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
        
@@ -1685,23 +1694,23 @@ void ReaderTransmitPar(uint8_t* frame, uint16_t len, uint8_t *par, uint32_t *tim
 
 void ReaderTransmitBits(uint8_t* frame, uint16_t len, uint32_t *timing)
 {
-       // Generate parity and redirect
-       uint8_t par[MAX_PARITY_SIZE];
-       GetParity(frame, len/8, par);
-       ReaderTransmitBitsPar(frame, len, par, timing);
+  // Generate parity and redirect
+  uint8_t par[MAX_PARITY_SIZE];
+  GetParity(frame, len/8, par);
+  ReaderTransmitBitsPar(frame, len, par, timing);
 }
 
 void ReaderTransmit(uint8_t* frame, uint16_t len, uint32_t *timing)
 {
-       // Generate parity and redirect
-       uint8_t par[MAX_PARITY_SIZE];
-       GetParity(frame, len, par);
-       ReaderTransmitBitsPar(frame, len*8, par, timing);
+  // Generate parity and redirect
+  uint8_t par[MAX_PARITY_SIZE];
+  GetParity(frame, len, par);
+  ReaderTransmitBitsPar(frame, len*8, par, timing);
 }
 
 int ReaderReceiveOffset(uint8_t* receivedAnswer, uint16_t offset, uint8_t *parity)
 {
-       if (!GetIso14443aAnswerFromTag(receivedAnswer,parity,offset)) return FALSE;
+       if (!GetIso14443aAnswerFromTag(receivedAnswer, parity, offset)) return FALSE;
        if (tracing) {
                LogTrace(receivedAnswer, Demod.len, Demod.startTime*16 - DELAY_AIR2ARM_AS_READER, Demod.endTime*16 - DELAY_AIR2ARM_AS_READER, parity, FALSE);
        }
@@ -1720,34 +1729,26 @@ int ReaderReceive(uint8_t *receivedAnswer, uint8_t *parity)
 /* performs iso14443a anticollision procedure
  * fills the uid pointer unless NULL
  * fills resp_data unless NULL */
-int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, uint32_t* cuid_ptr) {
-       
-       //uint8_t deselect[]   = {0xc2};  //DESELECT
-       //uint8_t halt[]       = { 0x50, 0x00, 0x57, 0xCD };  // HALT
-       uint8_t wupa[]       = { 0x52 };  // WAKE-UP
-       //uint8_t reqa[]       = { 0x26 };  // REQUEST A
+int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, uint32_t *cuid_ptr) {
+       uint8_t wupa[]       = { 0x52 };  // 0x26 - REQA  0x52 - WAKE-UP
        uint8_t sel_all[]    = { 0x93,0x20 };
        uint8_t sel_uid[]    = { 0x93,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
        uint8_t rats[]       = { 0xE0,0x80,0x00,0x00 }; // FSD=256, FSDI=8, CID=0
-       uint8_t *resp = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET;
-       uint8_t *resp_par = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET;
-
+       uint8_t resp[MAX_FRAME_SIZE]; // theoretically. A usual RATS will be much smaller
+       uint8_t resp_par[MAX_PARITY_SIZE];
        byte_t uid_resp[4];
        size_t uid_resp_len;
+
        uint8_t sak = 0x04; // cascade uid
        int cascade_level = 0;
-       int len =0;
-       
-       // test for the SKYLANDERS TOY.
-       // ReaderTransmit(deselect,sizeof(deselect), NULL);
-       // len = ReaderReceive(resp, resp_par);
-       
+       int len;
+
        // Broadcast for a card, WUPA (0x52) will force response from all cards in the field
-       ReaderTransmitBitsPar(wupa,7,0, NULL);
+    ReaderTransmitBitsPar(wupa,7,0, NULL);
        
        // Receive the ATQA
        if(!ReaderReceive(resp, resp_par)) return 0;
-       
+
        if(p_hi14a_card) {
                memcpy(p_hi14a_card->atqa, resp, 2);
                p_hi14a_card->uidlen = 0;
@@ -1759,99 +1760,99 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u
                memset(uid_ptr,0,10);
        }
 
-  // OK we will select at least at cascade 1, lets see if first byte of UID was 0x88 in
-  // which case we need to make a cascade 2 request and select - this is a long UID
-  // While the UID is not complete, the 3nd bit (from the right) is set in the SAK.
-  for(; sak & 0x04; cascade_level++) {
-    // SELECT_* (L1: 0x93, L2: 0x95, L3: 0x97)
-    sel_uid[0] = sel_all[0] = 0x93 + cascade_level * 2;
-
-    // SELECT_ALL
-    ReaderTransmit(sel_all,sizeof(sel_all), NULL);
-    if (!ReaderReceive(resp, resp_par)) return 0;
-
-       if (Demod.collisionPos) {                       // we had a collision and need to construct the UID bit by bit
-               memset(uid_resp, 0, 4);
-               uint16_t uid_resp_bits = 0;
-               uint16_t collision_answer_offset = 0;
-               // anti-collision-loop:
-               while (Demod.collisionPos) {
-                       Dbprintf("Multiple tags detected. Collision after Bit %d", Demod.collisionPos);
-                       for (uint16_t i = collision_answer_offset; i < Demod.collisionPos; i++, uid_resp_bits++) {      // add valid UID bits before collision point
-                               uint16_t UIDbit = (resp[i/8] >> (i % 8)) & 0x01;
-                               uid_resp[uid_resp_bits & 0xf8] |= UIDbit << (uid_resp_bits % 8);
+       // OK we will select at least at cascade 1, lets see if first byte of UID was 0x88 in
+       // which case we need to make a cascade 2 request and select - this is a long UID
+       // While the UID is not complete, the 3nd bit (from the right) is set in the SAK.
+       for(; sak & 0x04; cascade_level++) {
+               // SELECT_* (L1: 0x93, L2: 0x95, L3: 0x97)
+               sel_uid[0] = sel_all[0] = 0x93 + cascade_level * 2;
+
+               // SELECT_ALL
+               ReaderTransmit(sel_all, sizeof(sel_all), NULL);
+               if (!ReaderReceive(resp, resp_par)) return 0;
+
+               if (Demod.collisionPos) {                       // we had a collision and need to construct the UID bit by bit
+                       memset(uid_resp, 0, 4);
+                       uint16_t uid_resp_bits = 0;
+                       uint16_t collision_answer_offset = 0;
+                       // anti-collision-loop:
+                       while (Demod.collisionPos) {
+                               Dbprintf("Multiple tags detected. Collision after Bit %d", Demod.collisionPos);
+                               for (uint16_t i = collision_answer_offset; i < Demod.collisionPos; i++, uid_resp_bits++) {      // add valid UID bits before collision point
+                                       uint16_t UIDbit = (resp[i/8] >> (i % 8)) & 0x01;
+                                       uid_resp[uid_resp_bits / 8] |= UIDbit << (uid_resp_bits % 8);
+                               }
+                               uid_resp[uid_resp_bits/8] |= 1 << (uid_resp_bits % 8);                                  // next time select the card(s) with a 1 in the collision position
+                               uid_resp_bits++;
+                               // construct anticollosion command:
+                               sel_uid[1] = ((2 + uid_resp_bits/8) << 4) | (uid_resp_bits & 0x07);     // length of data in bytes and bits
+                               for (uint16_t i = 0; i <= uid_resp_bits/8; i++) {
+                                       sel_uid[2+i] = uid_resp[i];
+                               }
+                               collision_answer_offset = uid_resp_bits%8;
+                               ReaderTransmitBits(sel_uid, 16 + uid_resp_bits, NULL);
+                               if (!ReaderReceiveOffset(resp, collision_answer_offset, resp_par)) return 0;
                        }
-                       uid_resp[uid_resp_bits/8] |= 1 << (uid_resp_bits % 8);                                  // next time select the card(s) with a 1 in the collision position
-                       uid_resp_bits++;
-                       // construct anticollosion command:
-                       sel_uid[1] = ((2 + uid_resp_bits/8) << 4) | (uid_resp_bits & 0x07);     // length of data in bytes and bits
-                       for (uint16_t i = 0; i <= uid_resp_bits/8; i++) {
-                               sel_uid[2+i] = uid_resp[i];
+                       // finally, add the last bits and BCC of the UID
+                       for (uint16_t i = collision_answer_offset; i < (Demod.len-1)*8; i++, uid_resp_bits++) {
+                               uint16_t UIDbit = (resp[i/8] >> (i%8)) & 0x01;
+                               uid_resp[uid_resp_bits/8] |= UIDbit << (uid_resp_bits % 8);
                        }
-                       collision_answer_offset = uid_resp_bits%8;
-                       ReaderTransmitBits(sel_uid, 16 + uid_resp_bits, NULL);
-                       if (!ReaderReceiveOffset(resp, collision_answer_offset,resp_par)) return 0;
-               }
-               // finally, add the last bits and BCC of the UID
-               for (uint16_t i = collision_answer_offset; i < (Demod.len-1)*8; i++, uid_resp_bits++) {
-                       uint16_t UIDbit = (resp[i/8] >> (i%8)) & 0x01;
-                       uid_resp[uid_resp_bits/8] |= UIDbit << (uid_resp_bits % 8);
-               }
 
-       } else {                // no collision, use the response to SELECT_ALL as current uid
-               memcpy(uid_resp,resp,4);
-       }
-       uid_resp_len = 4;
+               } else {                // no collision, use the response to SELECT_ALL as current uid
+                       memcpy(uid_resp, resp, 4);
+               }
+               uid_resp_len = 4;
 
-    // calculate crypto UID. Always use last 4 Bytes.
-    if(cuid_ptr) {
-        *cuid_ptr = bytes_to_num(uid_resp, 4);
-    }
+               // calculate crypto UID. Always use last 4 Bytes.
+               if(cuid_ptr) {
+                       *cuid_ptr = bytes_to_num(uid_resp, 4);
+               }
 
-    // Construct SELECT UID command
-       sel_uid[1] = 0x70;                                                                                                      // transmitting a full UID (1 Byte cmd, 1 Byte NVB, 4 Byte UID, 1 Byte BCC, 2 Bytes CRC)
-    memcpy(sel_uid+2,uid_resp,4);                                                                              // the UID
-       sel_uid[6] = sel_uid[2] ^ sel_uid[3] ^ sel_uid[4] ^ sel_uid[5];         // calculate and add BCC
-    AppendCrc14443a(sel_uid,7);                                                                                        // calculate and add CRC
-    ReaderTransmit(sel_uid,sizeof(sel_uid), NULL);
+               // Construct SELECT UID command
+               sel_uid[1] = 0x70;                                                                                                      // transmitting a full UID (1 Byte cmd, 1 Byte NVB, 4 Byte UID, 1 Byte BCC, 2 Bytes CRC)
+               memcpy(sel_uid+2, uid_resp, 4);                                                                         // the UID
+               sel_uid[6] = sel_uid[2] ^ sel_uid[3] ^ sel_uid[4] ^ sel_uid[5];         // calculate and add BCC
+               AppendCrc14443a(sel_uid, 7);                                                                            // calculate and add CRC
+               ReaderTransmit(sel_uid, sizeof(sel_uid), NULL);
 
-    // Receive the SAK
+               // Receive the SAK
                if (!ReaderReceive(resp, resp_par)) return 0;
-    sak = resp[0];
-       
+               sak = resp[0];
+
     // Test if more parts of the uid are coming
-    if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) {
-               // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of:
-               // http://www.nxp.com/documents/application_note/AN10927.pdf
-               uid_resp[0] = uid_resp[1];
-               uid_resp[1] = uid_resp[2];
-               uid_resp[2] = uid_resp[3]; 
-                
-               uid_resp_len = 3;
-    }
+               if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) {
+                       // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of:
+                       // http://www.nxp.com/documents/application_note/AN10927.pdf
+                       uid_resp[0] = uid_resp[1];
+                       uid_resp[1] = uid_resp[2];
+                       uid_resp[2] = uid_resp[3]; 
+
+                       uid_resp_len = 3;
+               }
 
-    if(uid_ptr) {
-      memcpy(uid_ptr + (cascade_level*3), uid_resp, uid_resp_len);
-    }
+               if(uid_ptr) {
+                       memcpy(uid_ptr + (cascade_level*3), uid_resp, uid_resp_len);
+               }
 
-    if(p_hi14a_card) {
-      memcpy(p_hi14a_card->uid + (cascade_level*3), uid_resp, uid_resp_len);
-      p_hi14a_card->uidlen += uid_resp_len;
-    }
-  }
+               if(p_hi14a_card) {
+                       memcpy(p_hi14a_card->uid + (cascade_level*3), uid_resp, uid_resp_len);
+                       p_hi14a_card->uidlen += uid_resp_len;
+               }
+       }
 
-  if(p_hi14a_card) {
-    p_hi14a_card->sak = sak;
-    p_hi14a_card->ats_len = 0;
-  }
+       if(p_hi14a_card) {
+               p_hi14a_card->sak = sak;
+               p_hi14a_card->ats_len = 0;
+       }
 
        // non iso14443a compliant tag
        if( (sak & 0x20) == 0) return 2; 
-       
+
        // Request for answer to select
        AppendCrc14443a(rats, 2);
        ReaderTransmit(rats, sizeof(rats), NULL);
-       
+
        if (!(len = ReaderReceive(resp, resp_par))) return 0;
 
        
@@ -1862,7 +1863,7 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u
 
        // reset the PCB block number
        iso14_pcb_blocknum = 0;
-       return 1;
+       return 1;       
 }
 
 void iso14443a_setup(uint8_t fpga_minor_mode) {
@@ -1873,7 +1874,8 @@ void iso14443a_setup(uint8_t fpga_minor_mode) {
        SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
 
        // Signal field is on with the appropriate LED
-       if (fpga_minor_mode == FPGA_HF_ISO14443A_READER_MOD     || fpga_minor_mode == FPGA_HF_ISO14443A_READER_LISTEN) {
+       if (fpga_minor_mode == FPGA_HF_ISO14443A_READER_MOD
+               || fpga_minor_mode == FPGA_HF_ISO14443A_READER_LISTEN) {
                LED_D_ON();
        } else {
                LED_D_OFF();
@@ -1886,7 +1888,7 @@ void iso14443a_setup(uint8_t fpga_minor_mode) {
        DemodReset();
        UartReset();
        NextTransferTime = 2*DELAY_ARM2AIR_AS_READER;
-       iso14a_set_timeout(1050); // 10ms default  10*105 = 
+       iso14a_set_timeout(1050); // 10ms default
 }
 
 int iso14_apdu(uint8_t *cmd, uint16_t cmd_len, void *data) {
@@ -1901,7 +1903,7 @@ int iso14_apdu(uint8_t *cmd, uint16_t cmd_len, void *data) {
  
        ReaderTransmit(real_cmd, cmd_len+4, NULL);
        size_t len = ReaderReceive(data, parity);
-       uint8_t * data_bytes = (uint8_t *) data;
+       uint8_t *data_bytes = (uint8_t *) data;
        if (!len)
                return 0; //DATA LINK ERROR
        // if we received an I- or R(ACK)-Block with a block number equal to the
@@ -1965,8 +1967,8 @@ void ReaderIso14443a(UsbCommand *c)
                        len += 2;
                        if (lenbits) lenbits += 16;
                }
-               if(lenbits>0) {         
-                       GetParity(cmd, lenbits/8, par);         
+               if(lenbits>0) {
+                       GetParity(cmd, lenbits/8, par);
                        ReaderTransmitBitsPar(cmd, lenbits, par, NULL);
                } else {
                        ReaderTransmit(cmd,len, NULL);
@@ -2025,9 +2027,12 @@ void ReaderMifare(bool first_try)
        uint8_t mf_nr_ar[]   = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
        static uint8_t mf_nr_ar3;
 
-       uint8_t* receivedAnswer = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET);
-       uint8_t* receivedAnswerPar = (((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET);
+       uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];
+       uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];
 
+       // free eventually allocated BigBuf memory. We want all for tracing.
+       BigBuf_free();
+       
        iso14a_clear_trace();
        iso14a_set_tracing(TRUE);
 
@@ -2164,7 +2169,7 @@ void ReaderMifare(bool first_try)
                        led_on = !led_on;
                        if(led_on) LED_B_ON(); else LED_B_OFF();
 
-                       par_list[nt_diff] =  SwapBits(par[0], 8);
+                       par_list[nt_diff] = SwapBits(par[0], 8);
                        ks_list[nt_diff] = receivedAnswer[0] ^ 0x05;
 
                        // Test if the information is complete
@@ -2237,10 +2242,10 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t *
        struct Crypto1State *pcs;
        pcs = &mpcs;
        uint32_t numReads = 0;//Counts numer of times reader read a block
-       uint8_t* receivedCmd = get_bigbufptr_recvcmdbuf();
-       uint8_t* receivedCmd_par = receivedCmd + MAX_FRAME_SIZE;
-       uint8_t* response = get_bigbufptr_recvrespbuf();
-       uint8_t* response_par = response + MAX_FRAME_SIZE;
+       uint8_t receivedCmd[MAX_MIFARE_FRAME_SIZE];
+       uint8_t receivedCmd_par[MAX_MIFARE_PARITY_SIZE];
+       uint8_t response[MAX_MIFARE_FRAME_SIZE];
+       uint8_t response_par[MAX_MIFARE_PARITY_SIZE];
        
        uint8_t rATQA[] = {0x04, 0x00}; // Mifare classic 1k 4BUID
        uint8_t rUIDBCC1[] = {0xde, 0xad, 0xbe, 0xaf, 0x62};
@@ -2257,6 +2262,8 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t *
        uint32_t ar_nr_responses[] = {0,0,0,0,0,0,0,0};
        uint8_t ar_nr_collected = 0;
 
+       // free eventually allocated BigBuf memory but keep Emulator Memory
+       BigBuf_free_keep_EM();
        // clear trace
     iso14a_clear_trace();
        iso14a_set_tracing(TRUE);
@@ -2727,18 +2734,20 @@ void RAMFUNC SniffMifare(uint8_t param) {
        // The command (reader -> tag) that we're receiving.
        // The length of a received command will in most cases be no more than 18 bytes.
        // So 32 should be enough!
-       uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET);
-       uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET;
+       uint8_t receivedCmd[MAX_MIFARE_FRAME_SIZE];
+       uint8_t receivedCmdPar[MAX_MIFARE_PARITY_SIZE];
        // The response (tag -> reader) that we're receiving.
-       uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET);
-       uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET;
-       
+       uint8_t receivedResponse[MAX_MIFARE_FRAME_SIZE];
+       uint8_t receivedResponsePar[MAX_MIFARE_PARITY_SIZE];
+
        // As we receive stuff, we copy it from receivedCmd or receivedResponse
        // into trace, along with its length and other annotations.
        //uint8_t *trace = (uint8_t *)BigBuf;
        
-       // The DMA buffer, used to stream samples from the FPGA
-       uint8_t *dmaBuf = ((uint8_t *)BigBuf) + DMA_BUFFER_OFFSET;
+       // free eventually allocated BigBuf memory
+       BigBuf_free();
+       // allocate the DMA buffer, used to stream samples from the FPGA
+       uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE);
        uint8_t *data = dmaBuf;
        uint8_t previous_data = 0;
        int maxDataLen = 0;
@@ -2797,7 +2806,7 @@ void RAMFUNC SniffMifare(uint8_t param) {
                // test for length of buffer
                if(dataLen > maxDataLen) {                                      // we are more behind than ever...
                        maxDataLen = dataLen;                                   
-                       if(dataLen > 400) {
+                       if(dataLen > (9 * DMA_BUFFER_SIZE / 10)) {
                                Dbprintf("blew circular buffer! dataLen=0x%x", dataLen);
                                break;
                        }
index 15e2a2f0259f27aa90b2b3804d40133ae8b41203..771a6f59513a3993f7f09e36b73f897d2238ed9e 100644 (file)
@@ -28,8 +28,8 @@ typedef struct {
        uint16_t bitCount;
        uint16_t collisionPos;
        uint16_t syncBit;
-       uint8_t parityBits;
-       uint8_t parityLen;
+       uint8_t  parityBits;
+       uint8_t  parityLen;
        uint16_t shiftReg;
        uint16_t samples;
        uint16_t len;
@@ -61,8 +61,8 @@ typedef struct {
        uint16_t byteCntMax;
        uint16_t posCnt;
        uint16_t syncBit;
-       uint8_t parityBits;
-       uint8_t parityLen;
+       uint8_t  parityBits;
+       uint8_t  parityLen;
        uint16_t highCnt;
        uint16_t twoBits;
        uint32_t startTime, endTime;
index 5af6efb338b6744f23408f074b240e80ea02c82d..94040a85796a36eb38b7e5976b2339123845234f 100644 (file)
 // *) document all the functions
 
 
-#include "../include/proxmark3.h"
+#include "proxmark3.h"
 #include "util.h"
 #include "apps.h"
 #include "string.h"
-#include "../common/iso15693tools.h"
-#include "../common/cmd.h"
-
+#include "iso15693tools.h"
+#include "cmd.h"
 
 #define arraylen(x) (sizeof(x)/sizeof((x)[0]))
 
@@ -297,7 +296,7 @@ static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int
 static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed)
 {
        int c = 0;
-       uint8_t *dest = (uint8_t *)BigBuf;
+       uint8_t *dest = BigBuf_get_addr();
        int getNext = 0;
 
        int8_t prev = 0;
@@ -447,12 +446,12 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *
 static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed)
 {
        int c = 0;
-       uint8_t *dest = (uint8_t *)BigBuf;
+       uint8_t *dest = BigBuf_get_addr();
        int getNext = 0;
 
        int8_t prev = 0;
 
-    // NOW READ RESPONSE
+// NOW READ RESPONSE
        FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR);
        //spindelay(60);        // greg - experiment to get rid of some of the 0 byte/failed reads
        c = 0;
@@ -468,7 +467,7 @@ static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int
                        // tone that the tag AM-modulates, so every other sample is I,
                        // every other is Q. We just want power, so abs(I) + abs(Q) is
                        // close to what we want.
-                       if (getNext) {
+                       if(getNext) {
                                int8_t r;
 
                                if(b < 0) {
@@ -597,7 +596,7 @@ static void BuildIdentifyRequest(void);
 //-----------------------------------------------------------------------------
 void AcquireRawAdcSamplesIso15693(void)
 {
-       uint8_t *dest = (uint8_t *)BigBuf;
+       uint8_t *dest = BigBuf_get_addr();
 
        int c = 0;
        int getNext = 0;
@@ -679,7 +678,7 @@ void AcquireRawAdcSamplesIso15693(void)
 
 void RecordRawAdcSamplesIso15693(void)
 {
-       uint8_t *dest =  (uint8_t *)BigBuf;
+       uint8_t *dest = BigBuf_get_addr();
 
        int c = 0;
        int getNext = 0;
@@ -690,8 +689,8 @@ void RecordRawAdcSamplesIso15693(void)
        FpgaSetupSsc();
 
        // Start from off (no field generated)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelay(200);
+       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+       SpinDelay(200);
 
        SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
 
@@ -879,8 +878,8 @@ int SendDataTag(uint8_t *send, int sendlen, int init, int speed, uint8_t **recv)
        LED_D_OFF();
        
        int answerLen=0;
-       uint8_t *answer = (((uint8_t *)BigBuf) + 3660);
-       if (recv!=NULL) memset(BigBuf + 3660, 0, 100);
+       uint8_t *answer = BigBuf_get_addr() + 3660;
+       if (recv != NULL) memset(answer, 0, 100);
 
        if (init) Iso15693InitReader();
        
@@ -993,16 +992,16 @@ void SetDebugIso15693(uint32_t debug) {
 // Simulate an ISO15693 reader, perform anti-collision and then attempt to read a sector
 // all demodulation performed in arm rather than host. - greg
 //-----------------------------------------------------------------------------
-void ReaderIso15693(uint32_t parameter )
+void ReaderIso15693(uint32_t parameter)
 {
        LED_A_ON();
        LED_B_ON();
        LED_C_OFF();
        LED_D_OFF();
 
-       uint8_t *answer1 = (((uint8_t *)BigBuf) + 3660); //
-       uint8_t *answer2 = (((uint8_t *)BigBuf) + 3760);
-       uint8_t *answer3 = (((uint8_t *)BigBuf) + 3860);
+       uint8_t *answer1 = BigBuf_get_addr() + 3660;
+       uint8_t *answer2 = BigBuf_get_addr() + 3760;
+       uint8_t *answer3 = BigBuf_get_addr() + 3860;
 
        int answerLen1 = 0;
        int answerLen2 = 0;
@@ -1014,9 +1013,9 @@ void ReaderIso15693(uint32_t parameter )
        int elapsed = 0;
        uint8_t TagUID[8] = {0x00};
 
-        
+
        // Blank arrays
-       memset(BigBuf + 3660, 0x00, 300);
+       memset(answer1, 0x00, 300);
 
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
 
@@ -1025,9 +1024,9 @@ void ReaderIso15693(uint32_t parameter )
        FpgaSetupSsc();
 
        // Start from off (no field generated)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelay(200);
-       
+       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+       SpinDelay(200);
+
        // Give the tags time to energize
        FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR);
        SpinDelay(200);
@@ -1066,7 +1065,7 @@ void ReaderIso15693(uint32_t parameter )
        Dbhexdump(answerLen1,answer1,true);
 
        // UID is reverse
-       if (answerLen1 >= 12) 
+       if (answerLen1>=12) 
                Dbprintf("UID = %02hX%02hX%02hX%02hX%02hX%02hX%02hX%02hX",
                        TagUID[7],TagUID[6],TagUID[5],TagUID[4],
                        TagUID[3],TagUID[2],TagUID[1],TagUID[0]);
@@ -1080,14 +1079,14 @@ void ReaderIso15693(uint32_t parameter )
        DbdecodeIso15693Answer(answerLen3,answer3);
        Dbhexdump(answerLen3,answer3,true);
 
-       // read all pages
-       if (answerLen1 >= 12 && DEBUG) {
+       // read all pages
+       if (answerLen1>=12 && DEBUG) {
                i=0;                    
-               while (i < 32) {  // sanity check, assume max 32 pages
+               while (i<32) {  // sanity check, assume max 32 pages
                        BuildReadBlockRequest(TagUID,i);
-                       TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait);  
-                       answerLen2 = GetIso15693AnswerFromTag(answer2, 100, &samples, &elapsed);
-                       if (answerLen2 > 0) {
+             TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait);  
+         answerLen2 = GetIso15693AnswerFromTag(answer2, 100, &samples, &elapsed);
+                       if (answerLen2>0) {
                                Dbprintf("READ SINGLE BLOCK %d returned %d octets:",i,answerLen2);
                                DbdecodeIso15693Answer(answerLen2,answer2);
                                Dbhexdump(answerLen2,answer2,true);
@@ -1112,16 +1111,16 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid)
        LED_C_OFF();
        LED_D_OFF();
 
-       uint8_t *buf = (((uint8_t *)BigBuf) + 3660); //
+       uint8_t *buf = BigBuf_get_addr() + 3660;
        
        int answerLen1 = 0;
        int samples = 0;
        int tsamples = 0;
        int wait = 0;
        int elapsed = 0;
-       
+
        memset(buf, 0x00, 100);
-       
+
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
 
        SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
@@ -1129,8 +1128,8 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid)
        FpgaSetupSsc();
 
        // Start from off (no field generated)
-    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-    SpinDelay(200);
+       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+       SpinDelay(200);
 
        LED_A_OFF();
        LED_B_OFF();
@@ -1147,7 +1146,7 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid)
                
                BuildInventoryResponse(uid);
        
-               TransmitTo15693Reader(ToSend, ToSendMax, &tsamples, &wait);
+               TransmitTo15693Reader(ToSend,ToSendMax, &tsamples, &wait);
        }
 
        Dbprintf("%d octets read from reader command: %x %x %x %x %x %x %x %x %x", answerLen1,
@@ -1214,7 +1213,7 @@ void BruteforceIso15693Afi(uint32_t speed)
 void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]) {
 
        int recvlen=0;
-       uint8_t *recvbuf=(uint8_t *)BigBuf;
+       uint8_t *recvbuf = BigBuf_get_addr();
 //     UsbCommand n;
        
        if (DEBUG) {
index 0e63ef5e4b49d0636fbab5b8d2c2866e2ddcdda6..d11436ec72c21905bf89c19764012b3148e80536 100644 (file)
@@ -98,13 +98,14 @@ static uint32_t get_key_stream(int skip, int count)
   }
 
   /* Write Time Data into LOG */
+  uint8_t *BigBuf = BigBuf_get_addr();
   if(count == 6) { i = -1; } else { i = legic_read_count; }
-  ((uint8_t*)BigBuf)[OFFSET_LOG+128+i] = legic_prng_count();
-  ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4]   = (legic_prng_bc >> 0) & 0xff;
-  ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+1] = (legic_prng_bc >> 8) & 0xff;
-  ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+2] = (legic_prng_bc >>16) & 0xff;
-  ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+3] = (legic_prng_bc >>24) & 0xff;
-  ((uint8_t*)BigBuf)[OFFSET_LOG+384+i] = count;
+  BigBuf[OFFSET_LOG+128+i] = legic_prng_count();
+  BigBuf[OFFSET_LOG+256+i*4]   = (legic_prng_bc >> 0) & 0xff;
+  BigBuf[OFFSET_LOG+256+i*4+1] = (legic_prng_bc >> 8) & 0xff;
+  BigBuf[OFFSET_LOG+256+i*4+2] = (legic_prng_bc >>16) & 0xff;
+  BigBuf[OFFSET_LOG+256+i*4+3] = (legic_prng_bc >>24) & 0xff;
+  BigBuf[OFFSET_LOG+384+i] = count;
 
   /* Generate KeyStream */
   for(i=0; i<count; i++) {
@@ -426,6 +427,7 @@ int LegicRfReader(int offset, int bytes) {
 
        LegicCommonInit();
 
+       uint8_t *BigBuf = BigBuf_get_addr();
        memset(BigBuf, 0, 1024);
 
        DbpString("setting up legic card");
@@ -465,7 +467,7 @@ int LegicRfReader(int offset, int bytes) {
                        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();
@@ -480,7 +482,8 @@ int LegicRfReader(int offset, int bytes) {
 
 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");
@@ -512,7 +515,7 @@ void LegicRfWriter(int bytes, int offset) {
        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();
@@ -534,6 +537,8 @@ int timestamp;
 /* 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) {
@@ -582,9 +587,9 @@ static void frame_handle_tag(struct legic_frame const * const f)
       if(legic_state == STATE_CON) {
          int key   = get_key_stream(-1, 11); //legic_phase_drift, 11);
          int addr  = f->data ^ key; addr = addr >> 1;
-         int data = ((uint8_t*)BigBuf)[addr];
+         int data = BigBuf[addr];
          int hash = LegicCRC(addr, data, 11) << 8;
-         ((uint8_t*)BigBuf)[OFFSET_LOG+legic_read_count] = (uint8_t)addr;
+         BigBuf[OFFSET_LOG+legic_read_count] = (uint8_t)addr;
          legic_read_count++;
 
          //Dbprintf("Data:%03.3x, key:%03.3x, addr: %03.3x, read_c:%u", f->data, key, addr, read_c);
@@ -619,19 +624,19 @@ static void frame_handle_tag(struct legic_frame const * const f)
       int i;
       Dbprintf("IV: %03.3x", legic_prng_iv);
       for(i = 0; 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);
       }
    }
index 08bae44db615faa756450813062e404923dd7eaf..7b6fa97a71d51d73231d8251d8b9ff04b5c07be2 100644 (file)
 // 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
@@ -151,228 +169,228 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1,
 */
 void ReadTItag(void)
 {
-       // some hardcoded initial params
-       // when we read a TI tag we sample the zerocross line at 2Mhz
-       // TI tags modulate a 1 as 16 cycles of 123.2Khz
-       // TI tags modulate a 0 as 16 cycles of 134.2Khz
-       #define FSAMPLE 2000000
-       #define FREQLO 123200
-       #define FREQHI 134200
-
-       signed char *dest = (signed char *)BigBuf;
-       int n = sizeof(BigBuf);
-
-       // 128 bit shift register [shift3:shift2:shift1:shift0]
-       uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0;
-
-       int i, cycles=0, samples=0;
-       // how many sample points fit in 16 cycles of each frequency
-       uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI;
-       // when to tell if we're close enough to one freq or another
-       uint32_t threshold = (sampleslo - sampleshi + 1)>>1;
-
-       // TI tags charge at 134.2Khz
-       FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz
-
-       // Place FPGA in passthrough mode, in this mode the CROSS_LO line
-       // connects to SSP_DIN and the SSP_DOUT logic level controls
-       // whether we're modulating the antenna (high)
-       // or listening to the antenna (low)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU);
-
-       // get TI tag data into the buffer
-       AcquireTiType();
-
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-
-       for (i=0; 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
@@ -380,233 +398,127 @@ void AcquireTiType(void)
 // if not provided a valid crc will be computed from the data and written.
 void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc)
 {
-       FpgaDownloadAndGo(FPGA_BITSTREAM_LF);   
-       if(crc == 0) {
-               crc = update_crc16(crc, (idlo)&0xff);
-               crc = update_crc16(crc, (idlo>>8)&0xff);
-               crc = update_crc16(crc, (idlo>>16)&0xff);
-               crc = update_crc16(crc, (idlo>>24)&0xff);
-               crc = update_crc16(crc, (idhi)&0xff);
-               crc = update_crc16(crc, (idhi>>8)&0xff);
-               crc = update_crc16(crc, (idhi>>16)&0xff);
-               crc = update_crc16(crc, (idhi>>24)&0xff);
-       }
-       Dbprintf("Writing to tag: %x%08x, crc=%x",
-               (unsigned int) idhi, (unsigned int) idlo, crc);
-
-       // TI tags charge at 134.2Khz
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz
-       // Place FPGA in passthrough mode, in this mode the CROSS_LO line
-       // connects to SSP_DIN and the SSP_DOUT logic level controls
-       // whether we're modulating the antenna (high)
-       // or listening to the antenna (low)
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU);
-       LED_A_ON();
-
-       // steal this pin from the SSP and use it to control the modulation
-       AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT;
-       AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT;
-
-       // writing algorithm:
-       // a high bit consists of a field off for 1ms and field on for 1ms
-       // a low bit consists of a field off for 0.3ms and field on for 1.7ms
-       // initiate a charge time of 50ms (field on) then immediately start writing bits
-       // start by writing 0xBB (keyword) and 0xEB (password)
-       // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer)
-       // finally end with 0x0300 (write frame)
-       // all data is sent lsb firts
-       // finish with 15ms programming time
-
-       // modulate antenna
-       HIGH(GPIO_SSC_DOUT);
-       SpinDelay(50);  // charge time
-
-       WriteTIbyte(0xbb); // keyword
-       WriteTIbyte(0xeb); // password
-       WriteTIbyte( (idlo    )&0xff );
-       WriteTIbyte( (idlo>>8 )&0xff );
-       WriteTIbyte( (idlo>>16)&0xff );
-       WriteTIbyte( (idlo>>24)&0xff );
-       WriteTIbyte( (idhi    )&0xff );
-       WriteTIbyte( (idhi>>8 )&0xff );
-       WriteTIbyte( (idhi>>16)&0xff );
-       WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo
-       WriteTIbyte( (crc     )&0xff ); // crc lo
-       WriteTIbyte( (crc>>8  )&0xff ); // crc hi
-       WriteTIbyte(0x00); // write frame lo
-       WriteTIbyte(0x03); // write frame hi
-       HIGH(GPIO_SSC_DOUT);
-       SpinDelay(50);  // programming time
-
-       LED_A_OFF();
-
-       // get TI tag data into the buffer
-       AcquireTiType();
-
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       DbpString("Now use tiread to check");
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    if(crc == 0) {
+        crc = update_crc16(crc, (idlo)&0xff);
+        crc = update_crc16(crc, (idlo>>8)&0xff);
+        crc = update_crc16(crc, (idlo>>16)&0xff);
+        crc = update_crc16(crc, (idlo>>24)&0xff);
+        crc = update_crc16(crc, (idhi)&0xff);
+        crc = update_crc16(crc, (idhi>>8)&0xff);
+        crc = update_crc16(crc, (idhi>>16)&0xff);
+        crc = update_crc16(crc, (idhi>>24)&0xff);
+    }
+    Dbprintf("Writing to tag: %x%08x, crc=%x",
+             (unsigned int) idhi, (unsigned int) idlo, crc);
+
+    // TI tags charge at 134.2Khz
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz
+    // Place FPGA in passthrough mode, in this mode the CROSS_LO line
+    // connects to SSP_DIN and the SSP_DOUT logic level controls
+    // whether we're modulating the antenna (high)
+    // or listening to the antenna (low)
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU);
+    LED_A_ON();
+
+    // steal this pin from the SSP and use it to control the modulation
+    AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT;
+    AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT;
+
+    // writing algorithm:
+    // a high bit consists of a field off for 1ms and field on for 1ms
+    // a low bit consists of a field off for 0.3ms and field on for 1.7ms
+    // initiate a charge time of 50ms (field on) then immediately start writing bits
+    // start by writing 0xBB (keyword) and 0xEB (password)
+    // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer)
+    // finally end with 0x0300 (write frame)
+    // all data is sent lsb firts
+    // finish with 15ms programming time
+
+    // modulate antenna
+    HIGH(GPIO_SSC_DOUT);
+    SpinDelay(50);     // charge time
+
+    WriteTIbyte(0xbb); // keyword
+    WriteTIbyte(0xeb); // password
+    WriteTIbyte( (idlo    )&0xff );
+    WriteTIbyte( (idlo>>8 )&0xff );
+    WriteTIbyte( (idlo>>16)&0xff );
+    WriteTIbyte( (idlo>>24)&0xff );
+    WriteTIbyte( (idhi    )&0xff );
+    WriteTIbyte( (idhi>>8 )&0xff );
+    WriteTIbyte( (idhi>>16)&0xff );
+    WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo
+    WriteTIbyte( (crc     )&0xff ); // crc lo
+    WriteTIbyte( (crc>>8  )&0xff ); // crc hi
+    WriteTIbyte(0x00); // write frame lo
+    WriteTIbyte(0x03); // write frame hi
+    HIGH(GPIO_SSC_DOUT);
+    SpinDelay(50);     // programming time
+
+    LED_A_OFF();
+
+    // get TI tag data into the buffer
+    AcquireTiType();
+
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    DbpString("Now use tiread to check");
 }
 
-
-        
-// PIO_CODR = Clear Output Data Register
-// PIO_SODR = Set Output Data Register
-//#define LOW(x)        AT91C_BASE_PIOA->PIO_CODR = (x)
-//#define HIGH(x)       AT91C_BASE_PIOA->PIO_SODR = (x)
-void SimulateTagLowFrequency( uint16_t period, uint32_t gap, uint8_t ledcontrol)
+void SimulateTagLowFrequency(int period, int gap, int ledcontrol)
 {
-       LED_D_ON();
-
-       uint16_t i = 0;
-       uint8_t send = 0;
-       
-       //int overflow = 0;
-       uint8_t *buf = (uint8_t *)BigBuf;
-
-       FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT | FPGA_LF_EDGE_DETECT_READER_FIELD); 
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-       SetAdcMuxFor(GPIO_MUXSEL_LOPKD);
-       RELAY_OFF();
-       
-       // Configure output pin that is connected to the FPGA (for modulating)
-       AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT;
-       AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT;
-
-       SHORT_COIL();
-
-       // Enable Peripheral Clock for TIMER_CLOCK0, used to measure exact timing before answering
-       AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC0);
-       
-       // Enable Peripheral Clock for TIMER_CLOCK1, used to capture edges of the reader frames
-       AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC1);
-       AT91C_BASE_PIOA->PIO_BSR = GPIO_SSC_FRAME;
-       
-    // Disable timer during configuration      
-       AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS;
-       
-       // Capture mode, default timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger,
-       // external trigger rising edge, load RA on rising edge of TIOA.
-       AT91C_BASE_TC1->TC_CMR = AT91C_TC_CLKS_TIMER_DIV1_CLOCK | AT91C_TC_ETRGEDG_RISING | AT91C_TC_ABETRG | AT91C_TC_LDRA_RISING;
-       
-       // Enable and reset counter
-       //AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
-       AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
-
-       while(!BUTTON_PRESS()) { 
-               WDT_HIT();
-               
-               // Receive frame, watch for at most T0*EOF periods
-               while (AT91C_BASE_TC1->TC_CV < T0 * 55) {
-
-               // Check if rising edge in modulation is detected
-                       if(AT91C_BASE_TC1->TC_SR & AT91C_TC_LDRAS) {
-                               // Retrieve the new timing values 
-                               //int ra = (AT91C_BASE_TC1->TC_RA/T0) + overflow;
-                               //Dbprintf("Timing value - %d  %d", ra, overflow);
-                               //overflow = 0;
-
-                               // Reset timer every frame, we have to capture the last edge for timing
-                               AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
-                               send = 1;
-                               
-                               LED_B_ON();
-                       }
-               } 
-
-               if ( send ) {
-                       // Disable timer 1 with external trigger to avoid triggers during our own modulation
-                       AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS;
-                       
-                       // Wait for HITAG_T_WAIT_1 carrier periods after the last reader bit,
-                       // not that since the clock counts since the rising edge, but T_Wait1 is
-                       // with respect to the falling edge, we need to wait actually (T_Wait1 - T_Low)
-                       // periods. The gap time T_Low varies (4..10). All timer values are in 
-                       // terms of T0 units
-                       while(AT91C_BASE_TC0->TC_CV < T0 * 16  );
-                       
-                       // datat kommer in som 1 bit för varje position i arrayn
-                       for(i = 0; i < period; ++i) {
-                               
-                               // Reset clock for the next bit 
-                               AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
-
-                               if ( buf[i] > 0 )
-                                       HIGH(GPIO_SSC_DOUT);
-                               else
-                                       LOW(GPIO_SSC_DOUT);
-                               
-                               while(AT91C_BASE_TC0->TC_CV < T0 * 1 );
-                       }
-                       // Drop modulation
-                       LOW(GPIO_SSC_DOUT);
-                                                       
-                       // Enable and reset external trigger in timer for capturing future frames
-                       AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
-                       LED_B_OFF();
-               }
-               
-               send = 0;
-               
-               // Save the timer overflow, will be 0 when frame was received
-               //overflow += (AT91C_BASE_TC1->TC_CV/T0);
-               
-               // Reset the timer to restart while-loop that receives frames
-               AT91C_BASE_TC1->TC_CCR = AT91C_TC_SWTRG;
-       }
-       
-       LED_B_OFF();
-       LED_D_OFF();
-       AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS;
-       AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS;
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       
-       DbpString("Sim Stopped");
-}
+    int i;
+    uint8_t *tab = BigBuf_get_addr();
 
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT);
 
-void SimulateTagLowFrequencyA(int len, int gap)
-{
-       uint8_t *buf = (uint8_t *)BigBuf;
-
-       FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT | FPGA_LF_EDGE_DETECT_TOGGLE_MODE); // new izsh toggle mode!
-       
-       // Connect the A/D to the peak-detected low-frequency path.
-       SetAdcMuxFor(GPIO_MUXSEL_LOPKD);
-
-       // Now set up the SSC to get the ADC samples that are now streaming at us.
-       FpgaSetupSsc();
-       SpinDelay(5);
-       
-       AT91C_BASE_SSC->SSC_THR = 0x00;
-       
-       int i = 0;
-       while(!BUTTON_PRESS()) { 
-               WDT_HIT();
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
-                       
-                       if ( buf[i] > 0 )
-                               AT91C_BASE_SSC->SSC_THR = 0x43;
-                       else
-                               AT91C_BASE_SSC->SSC_THR = 0x00;
-
-                       ++i;
-                       LED_A_ON();
-                       if (i >= len){
-                               i = 0;
-                       }
-               }
-               
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
-                       volatile uint32_t r = AT91C_BASE_SSC->SSC_RHR;
-                       (void)r;
-                       LED_A_OFF();
-               }
-       }
-       DbpString("lf simulate stopped");
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK;
+
+    AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT;
+    AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK;
+
+#define SHORT_COIL()   LOW(GPIO_SSC_DOUT)
+#define OPEN_COIL()            HIGH(GPIO_SSC_DOUT)
+
+    i = 0;
+    for(;;) {
+        while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) {
+            if(BUTTON_PRESS()) {
+                DbpString("Stopped");
+                return;
+            }
+            WDT_HIT();
+        }
+
+        if (ledcontrol)
+            LED_D_ON();
+
+        if(tab[i])
+            OPEN_COIL();
+        else
+            SHORT_COIL();
+
+        if (ledcontrol)
+            LED_D_OFF();
+
+        while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) {
+            if(BUTTON_PRESS()) {
+                DbpString("Stopped");
+                return;
+            }
+            WDT_HIT();
+        }
+
+        i++;
+        if(i == period) {
+            i = 0;
+            if (gap) {
+                SHORT_COIL();
+                SpinDelayUs(gap);
+            }
+        }
+    }
 }
 
 #define DEBUG_FRAME_CONTENTS 1
@@ -615,319 +527,315 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0)
 }
 
 // compose fc/8 fc/10 waveform
-static void fc(int c, uint16_t *n) {
-       uint8_t *dest = (uint8_t *)BigBuf;
-       int idx;
-
-       // for when we want an fc8 pattern every 4 logical bits
-       if(c == 0) {
-               dest[((*n)++)]=1;
-               dest[((*n)++)]=1;
-               dest[((*n)++)]=0;
-               dest[((*n)++)]=0;
-               dest[((*n)++)]=0;
-               dest[((*n)++)]=0;
-               dest[((*n)++)]=0;
-               dest[((*n)++)]=0;
-       }
-       //      an fc/8  encoded bit is a bit pattern of  11000000  x6 = 48 samples
-       if(c == 8) {
-               for (idx=0; idx<6; idx++) {
-                       dest[((*n)++)]=1;
-                       dest[((*n)++)]=1;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-               }
-       }
-
-       //      an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples
-       if(c == 10) {
-               for (idx = 0; idx < 5; idx++) {
-                       dest[((*n)++)]=1;
-                       dest[((*n)++)]=1;
-                       dest[((*n)++)]=1;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-                       dest[((*n)++)]=0;
-               }
-       }
+static void fc(int c, int *n) {
+    uint8_t *dest = BigBuf_get_addr();
+    int idx;
+
+    // for when we want an fc8 pattern every 4 logical bits
+    if(c==0) {
+        dest[((*n)++)]=1;
+        dest[((*n)++)]=1;
+        dest[((*n)++)]=0;
+        dest[((*n)++)]=0;
+        dest[((*n)++)]=0;
+        dest[((*n)++)]=0;
+        dest[((*n)++)]=0;
+        dest[((*n)++)]=0;
+    }
+    // an fc/8  encoded bit is a bit pattern of  11000000  x6 = 48 samples
+    if(c==8) {
+        for (idx=0; idx<6; idx++) {
+            dest[((*n)++)]=1;
+            dest[((*n)++)]=1;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+        }
+    }
+
+    // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples
+    if(c==10) {
+        for (idx=0; idx<5; idx++) {
+            dest[((*n)++)]=1;
+            dest[((*n)++)]=1;
+            dest[((*n)++)]=1;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+            dest[((*n)++)]=0;
+        }
+    }
 }
 
 // prepare a waveform pattern in the buffer based on the ID given then
 // simulate a HID tag until the button is pressed
-void CmdHIDsimTAG(int hi, int lo, uint8_t ledcontrol)
+void CmdHIDsimTAG(int hi, int lo, int ledcontrol)
 {
-       uint16_t n = 0, i = 0;
-       /*
-        HID tag bitstream format
-        The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits
-        A 1 bit is represented as 6 fc8 and 5 fc10 patterns
-        A 0 bit is represented as 5 fc10 and 6 fc8 patterns
-        A fc8 is inserted before every 4 bits
-        A special start of frame pattern is used consisting a0b0 where a and b are neither 0
-        nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10)
-       */
-
-       if (hi > 0xFFF) {
-               DbpString("Tags can only have 44 bits.");
-               return;
-       }
-       fc(0, &n);
-       // special start of frame marker containing invalid bit sequences
-       fc(8,  &n);     fc(8,  &n);     // invalid
-       fc(8,  &n);     fc(10, &n); // logical 0
-       fc(10, &n);     fc(10, &n); // invalid
-       fc(8,  &n);     fc(10, &n); // logical 0
-
-       WDT_HIT();
-       // manchester encode bits 43 to 32
-       for (i = 11; i >= 0; i--) {
-               if ((i % 4) == 3) fc(0, &n);
-               if ((hi >> i) & 1) {
-                       fc(10, &n);     fc(8,  &n);             // low-high transition
-               } else {
-                       fc(8,  &n);     fc(10, &n);             // high-low transition
-               }
-       }
-
-       WDT_HIT();
-       // manchester encode bits 31 to 0
-       for (i = 31; i >= 0; i--) {
-               if ((i % 4 ) == 3) fc(0, &n);
-               if ((lo >> i ) & 1) {
-                       fc(10, &n);     fc(8,  &n);             // low-high transition
-               } else {
-                       fc(8,  &n);     fc(10, &n);             // high-low transition
-               }
-       }
-
-       if (ledcontrol)
-               LED_A_ON();
-       
-       SimulateTagLowFrequency(n, 0, ledcontrol);
-
-       if (ledcontrol)
-               LED_A_OFF();
+    int n=0, i=0;
+    /*
+     HID tag bitstream format
+     The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits
+     A 1 bit is represented as 6 fc8 and 5 fc10 patterns
+     A 0 bit is represented as 5 fc10 and 6 fc8 patterns
+     A fc8 is inserted before every 4 bits
+     A special start of frame pattern is used consisting a0b0 where a and b are neither 0
+     nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10)
+    */
+
+    if (hi>0xFFF) {
+        DbpString("Tags can only have 44 bits.");
+        return;
+    }
+    fc(0,&n);
+    // special start of frame marker containing invalid bit sequences
+    fc(8,  &n);        fc(8,  &n);     // invalid
+    fc(8,  &n);        fc(10, &n); // logical 0
+    fc(10, &n);        fc(10, &n); // invalid
+    fc(8,  &n);        fc(10, &n); // logical 0
+
+    WDT_HIT();
+    // manchester encode bits 43 to 32
+    for (i=11; i>=0; i--) {
+        if ((i%4)==3) fc(0,&n);
+        if ((hi>>i)&1) {
+            fc(10, &n);        fc(8,  &n);             // low-high transition
+        } else {
+            fc(8,  &n);        fc(10, &n);             // high-low transition
+        }
+    }
+
+    WDT_HIT();
+    // manchester encode bits 31 to 0
+    for (i=31; i>=0; i--) {
+        if ((i%4)==3) fc(0,&n);
+        if ((lo>>i)&1) {
+            fc(10, &n);        fc(8,  &n);             // low-high transition
+        } else {
+            fc(8,  &n);        fc(10, &n);             // high-low transition
+        }
+    }
+
+    if (ledcontrol)
+        LED_A_ON();
+    SimulateTagLowFrequency(n, 0, ledcontrol);
+
+    if (ledcontrol)
+        LED_A_OFF();
 }
 
 // loop to get raw HID waveform then FSK demodulate the TAG ID from it
 void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol)
 {
-       uint8_t *dest = (uint8_t *)BigBuf;
-       uint32_t hi2 = 0, hi = 0, lo = 0;
-
-       // Configure to go in 125Khz listen mode
-       LFSetupFPGAForADC(0, true);
-
-       while(!BUTTON_PRESS()) {
-
-               WDT_HIT();
-               if (ledcontrol) LED_A_ON();
-
-               DoAcquisition125k_internal(-1,true);
-
-               // FSK demodulator
-               int bitLen = HIDdemodFSK(dest,BIGBUF_SIZE,&hi2,&hi,&lo);
-
-               WDT_HIT();
-
-               if (bitLen > 0 && lo > 0){
-
-               // final loop, go over previously decoded manchester data and decode into usable tag ID
-               // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0
-
-                       if (hi2 != 0){ 
-                               //extra large HID tags
-                               Dbprintf("TAG ID: %x%08x%08x (%d)",
-                                        (unsigned int) hi2,
-                                        (unsigned int) hi,
-                                        (unsigned int) lo,
-                                        (unsigned int) (lo >> 1) & 0xFFFF);
-                                        
-                       } else {
-                               //standard HID tags <38 bits
-                               uint8_t bitlen = 0;
-                               uint32_t fc = 0;
-                               uint32_t cardnum = 0;
-
-                               if ((( hi >> 5 ) & 1) ==1){//if bit 38 is set then < 37 bit format is used
-                                       uint32_t lo2 = 0;
-                                       lo2 = (((hi & 31) << 12) | (lo >> 20)); //get bits 21-37 to check for format len bit                                    
-                                       uint8_t idx3 = 1;
+    uint8_t *dest = BigBuf_get_addr();
+    const size_t sizeOfBigBuff = BigBuf_max_traceLen();
+    size_t size = 0; 
+    uint32_t hi2=0, hi=0, lo=0;
+    int idx=0;
+    // Configure to go in 125Khz listen mode
+    LFSetupFPGAForADC(95, true);
+
+    while(!BUTTON_PRESS()) {
+
+        WDT_HIT();
+        if (ledcontrol) LED_A_ON();
+
+        DoAcquisition125k_internal(-1,true);
+        // FSK demodulator
+        size = sizeOfBigBuff;  //variable size will change after demod so re initialize it before use
+               idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo);
+        
+               if (idx>0 && lo>0){
+            // final loop, go over previously decoded manchester data and decode into usable tag ID
+            // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0
+            if (hi2 != 0){ //extra large HID tags
+                Dbprintf("TAG ID: %x%08x%08x (%d)",
+                         (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF);
+            }else {  //standard HID tags <38 bits
+                //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd
+                uint8_t bitlen = 0;
+                uint32_t fc = 0;
+                uint32_t cardnum = 0;
+                               if (((hi>>5)&1) == 1){//if bit 38 is set then < 37 bit format is used
+                    uint32_t lo2=0;
+                    lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit
+                    uint8_t idx3 = 1;
                                        while(lo2 > 1){ //find last bit set to 1 (format len bit)
-                                               lo2 = lo2 >> 1;
-                                               idx3++;
-                                       }
-                                       bitlen =idx3 + 19;  
-                                       fc = 0;
-                                       cardnum = 0;
+                                               lo2=lo2 >> 1;
+                        idx3++;
+                    }
+                                       bitlen = idx3+19;
+                    fc =0;
+                    cardnum=0;
                                        if(bitlen == 26){
-                                               cardnum = (lo >> 1) & 0xFFFF;
-                                               fc = (lo >> 17) & 0xFF;
-                                       }
+                        cardnum = (lo>>1)&0xFFFF;
+                        fc = (lo>>17)&0xFF;
+                    }
                                        if(bitlen == 37){
-                                               cardnum = (lo >> 1) & 0x7FFFF;
-                                               fc = ((hi & 0xF) << 12)|( lo >> 20);
-                                       }
+                        cardnum = (lo>>1)&0x7FFFF;
+                        fc = ((hi&0xF)<<12)|(lo>>20);
+                    }
                                        if(bitlen == 34){
-                                               cardnum = (lo >> 1) & 0xFFFF;
-                                               fc = ((hi & 1) << 15) | (lo >> 17);
-                                       }
+                        cardnum = (lo>>1)&0xFFFF;
+                        fc= ((hi&1)<<15)|(lo>>17);
+                    }
                                        if(bitlen == 35){
-                                               cardnum = (lo >> 1 ) & 0xFFFFF;
-                                               fc = ((hi & 1) << 11 ) | ( lo >> 21);
-                                       }
-                               }
-                               else { //if bit 38 is not set then 37 bit format is used
-                                       bitlen = 37;
-                                       fc = 0;
-                                       cardnum = 0;
-                                       if(bitlen == 37){
-                                               cardnum = ( lo >> 1) & 0x7FFFF;
-                                               fc = ((hi & 0xF) << 12 ) |(lo >> 20);
-                                       }
-                               }
-                               Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d",
-                                       (unsigned int) hi,
-                                       (unsigned int) lo,
-                                       (unsigned int) (lo >> 1) & 0xFFFF,
-                                       (unsigned int) bitlen,
-                                       (unsigned int) fc,
-                                       (unsigned int) cardnum);
-                       }
-                       if (findone){
-                               if (ledcontrol) LED_A_OFF();
-                               return;
-                       }
-                       // reset
-                       hi2 = hi = lo = 0;
-               }
-               WDT_HIT();
-       }       
-       DbpString("Stopped");
-       if (ledcontrol) LED_A_OFF();
+                        cardnum = (lo>>1)&0xFFFFF;
+                        fc = ((hi&1)<<11)|(lo>>21);
+                    }
+                }
+                else { //if bit 38 is not set then 37 bit format is used
+                    bitlen= 37;
+                    fc =0;
+                    cardnum=0;
+                    if(bitlen==37){
+                        cardnum = (lo>>1)&0x7FFFF;
+                        fc = ((hi&0xF)<<12)|(lo>>20);
+                    }
+                }
+                //Dbprintf("TAG ID: %x%08x (%d)",
+                // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF);
+                Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d",
+                         (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF,
+                         (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum);
+            }
+            if (findone){
+                if (ledcontrol)        LED_A_OFF();
+                *high = hi;
+                *low = lo;
+                return;
+            }
+            // reset
+            hi2 = hi = lo = 0;
+        }
+        WDT_HIT();
+    }
+    DbpString("Stopped");
+    if (ledcontrol) LED_A_OFF();
 }
 
 void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol)
 {
-       uint8_t *dest = (uint8_t *)BigBuf;
-       uint32_t bitLen = 0;
-       int clk = 0, invert = 0, errCnt  = 0;
-       uint64_t lo = 0;
-       
-       // Configure to go in 125Khz listen mode
-       LFSetupFPGAForADC(0, true);
-
-       while(!BUTTON_PRESS()) {
-
-               WDT_HIT();
-               if (ledcontrol) LED_A_ON();
-
-               DoAcquisition125k_internal(-1,true);
-       
-               // FSK demodulator
-               bitLen = BIGBUF_SIZE;
-               errCnt = askmandemod(dest,&bitLen,&clk,&invert); 
-               if ( errCnt < 0 ) continue;
-
-               WDT_HIT();
-               
-               lo = Em410xDecode(dest,bitLen);
-               
-               if ( lo <= 0) continue;
-                               
-               Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",
-                       (uint32_t)(lo >> 32),
-                       (uint32_t)lo,
-                       (uint32_t)(lo & 0xFFFF),
-                       (uint32_t)((lo >> 16LL) & 0xFF),
-                       (uint32_t)(lo & 0xFFFFFF)
-               );
-
-               if (findone){
-                       if (ledcontrol) LED_A_OFF();
-                               return;
-               }
-               
-               WDT_HIT();
-               lo = clk = invert = errCnt = 0;
-       }
-       DbpString("Stopped");
-       if (ledcontrol) LED_A_OFF();
+    uint8_t *dest = BigBuf_get_addr();
+
+       size_t size=0, idx=0;
+    int clk=0, invert=0, errCnt=0;
+    uint64_t lo=0;
+    // Configure to go in 125Khz listen mode
+    LFSetupFPGAForADC(95, true);
+
+    while(!BUTTON_PRESS()) {
+
+        WDT_HIT();
+        if (ledcontrol) LED_A_ON();
+
+        DoAcquisition125k_internal(-1,true);
+        size  = BigBuf_max_traceLen();
+        //Dbprintf("DEBUG: Buffer got");
+               //askdemod and manchester decode
+               errCnt = askmandemod(dest, &size, &clk, &invert);
+        //Dbprintf("DEBUG: ASK Got");
+        WDT_HIT();
+
+        if (errCnt>=0){
+                       lo = Em410xDecode(dest, &size, &idx);
+            //Dbprintf("DEBUG: EM GOT");
+            if (lo>0){
+                               Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",
+                                   (uint32_t)(lo>>32),
+                                   (uint32_t)lo,
+                                   (uint32_t)(lo&0xFFFF),
+                                   (uint32_t)((lo>>16LL) & 0xFF),
+                                   (uint32_t)(lo & 0xFFFFFF));
+            }
+            if (findone){
+                if (ledcontrol)        LED_A_OFF();
+                *high=lo>>32;
+                *low=lo & 0xFFFFFFFF;
+                return;
+            }
+        } else{
+            //Dbprintf("DEBUG: No Tag");
+        }
+        WDT_HIT();
+        lo = 0;
+        clk=0;
+        invert=0;
+        errCnt=0;
+        size=0;
+    }
+    DbpString("Stopped");
+    if (ledcontrol) LED_A_OFF();
 }
 
 void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol)
 {
-       uint8_t *dest = (uint8_t *)BigBuf;
-       int idx = 0;
-       uint32_t code = 0, code2 = 0;
-       uint8_t version = 0;
-       uint8_t facilitycode = 0;
-       uint16_t number = 0;
-
-       LFSetupFPGAForADC(0, true);
-
-       while(!BUTTON_PRESS()) {
-
-               WDT_HIT();
-               if (ledcontrol) LED_A_ON();
-
-               DoAcquisition125k_internal(-1, true);
-
-               idx = IOdemodFSK(dest, BIGBUF_SIZE);
-               
-               if ( idx < 0 )
-                       continue;
-                       
-               WDT_HIT();
-
-               //Index map
-               //0 10 20 30 40 50 60
-               //| | | | | | |
-               //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23
-               //-----------------------------------------------------------------------------
-               //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11
-               //
-               //XSF(version)facility:codeone+codetwo
-               //Handle the data
-
-               if(findone){ //only print binary if we are doing one
-                       Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]);
-                       Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]);
-                       Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]);
-                       Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]);
-                       Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]);
-                       Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]);
-                       Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]);
-               }
-
-               code = bytebits_to_byte(dest+idx,32);
-               code2 = bytebits_to_byte(dest+idx+32,32);
-               version = bytebits_to_byte(dest+idx+27,8); //14,4
-               facilitycode = bytebits_to_byte(dest+idx+18,8) ;
-               number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9
-
-               Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)", version, facilitycode, number, code, code2);                  
-               if (findone){
-                       if (ledcontrol) LED_A_OFF();
-                               return;
-               }
-               code = code2 = 0;
-               version = facilitycode = 0;
-               number = 0;
-               idx = 0;
-       }
-
-       DbpString("Stopped");
-       if (ledcontrol) LED_A_OFF();
+    uint8_t *dest = BigBuf_get_addr();
+    int idx=0;
+    uint32_t code=0, code2=0;
+    uint8_t version=0;
+    uint8_t facilitycode=0;
+    uint16_t number=0;
+    // Configure to go in 125Khz listen mode
+    LFSetupFPGAForADC(95, true);
+
+    while(!BUTTON_PRESS()) {
+        WDT_HIT();
+        if (ledcontrol) LED_A_ON();
+        DoAcquisition125k_internal(-1,true);
+        //fskdemod and get start index
+        WDT_HIT();
+        idx = IOdemodFSK(dest, BigBuf_max_traceLen());
+        if (idx>0){
+            //valid tag found
+
+            //Index map
+            //0           10          20          30          40          50          60
+            //|           |           |           |           |           |           |
+            //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23
+            //-----------------------------------------------------------------------------
+            //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11
+            //
+            //XSF(version)facility:codeone+codetwo
+            //Handle the data
+            if(findone){ //only print binary if we are doing one
+                Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx],   dest[idx+1],   dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]);
+                Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]);
+                Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]);
+                Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]);
+                Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]);
+                Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]);
+                Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]);
+            }
+            code = bytebits_to_byte(dest+idx,32);
+            code2 = bytebits_to_byte(dest+idx+32,32);
+            version = bytebits_to_byte(dest+idx+27,8); //14,4
+            facilitycode = bytebits_to_byte(dest+idx+18,8) ;
+            number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9
+
+            Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2);
+            // if we're only looking for one tag
+            if (findone){
+                if (ledcontrol)        LED_A_OFF();
+                //LED_A_OFF();
+                *high=code;
+                *low=code2;
+                return;
+            }
+            code=code2=0;
+            version=facilitycode=0;
+            number=0;
+            idx=0;
+        }
+        WDT_HIT();
+    }
+    DbpString("Stopped");
+    if (ledcontrol) LED_A_OFF();
 }
 
 /*------------------------------
@@ -936,14 +844,14 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol)
  */
 
 /* T55x7 configuration register definitions */
-#define T55x7_POR_DELAY                                0x00000001
-#define T55x7_ST_TERMINATOR                    0x00000008
-#define T55x7_PWD                                      0x00000010
+#define T55x7_POR_DELAY                        0x00000001
+#define T55x7_ST_TERMINATOR            0x00000008
+#define T55x7_PWD                      0x00000010
 #define T55x7_MAXBLOCK_SHIFT           5
-#define T55x7_AOR                                      0x00000200
-#define T55x7_PSKCF_RF_2                       0
-#define T55x7_PSKCF_RF_4                       0x00000400
-#define T55x7_PSKCF_RF_8                       0x00000800
+#define T55x7_AOR                      0x00000200
+#define T55x7_PSKCF_RF_2               0
+#define T55x7_PSKCF_RF_4               0x00000400
+#define T55x7_PSKCF_RF_8               0x00000800
 #define T55x7_MODULATION_DIRECT                0
 #define T55x7_MODULATION_PSK1          0x00001000
 #define T55x7_MODULATION_PSK2          0x00002000
@@ -954,17 +862,17 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol)
 #define T55x7_MODULATION_FSK2a         0x00007000
 #define T55x7_MODULATION_MANCHESTER    0x00008000
 #define T55x7_MODULATION_BIPHASE       0x00010000
-#define T55x7_BITRATE_RF_8                     0
-#define T55x7_BITRATE_RF_16                    0x00040000
-#define T55x7_BITRATE_RF_32                    0x00080000
-#define T55x7_BITRATE_RF_40                    0x000C0000
-#define T55x7_BITRATE_RF_50                    0x00100000
-#define T55x7_BITRATE_RF_64                    0x00140000
+#define T55x7_BITRATE_RF_8             0
+#define T55x7_BITRATE_RF_16            0x00040000
+#define T55x7_BITRATE_RF_32            0x00080000
+#define T55x7_BITRATE_RF_40            0x000C0000
+#define T55x7_BITRATE_RF_50            0x00100000
+#define T55x7_BITRATE_RF_64            0x00140000
 #define T55x7_BITRATE_RF_100           0x00180000
 #define T55x7_BITRATE_RF_128           0x001C0000
 
 /* T5555 (Q5) configuration register definitions */
-#define T5555_ST_TERMINATOR                    0x00000001
+#define T5555_ST_TERMINATOR            0x00000001
 #define T5555_MAXBLOCK_SHIFT           0x00000001
 #define T5555_MODULATION_MANCHESTER    0
 #define T5555_MODULATION_PSK1          0x00000010
@@ -974,334 +882,343 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol)
 #define T5555_MODULATION_FSK2          0x00000050
 #define T5555_MODULATION_BIPHASE       0x00000060
 #define T5555_MODULATION_DIRECT                0x00000070
-#define T5555_INVERT_OUTPUT                    0x00000080
-#define T5555_PSK_RF_2                         0
-#define T5555_PSK_RF_4                         0x00000100
-#define T5555_PSK_RF_8                         0x00000200
-#define T5555_USE_PWD                          0x00000400
-#define T5555_USE_AOR                          0x00000800
-#define T5555_BITRATE_SHIFT                    12
-#define T5555_FAST_WRITE                       0x00004000
-#define T5555_PAGE_SELECT                      0x00008000
+#define T5555_INVERT_OUTPUT            0x00000080
+#define T5555_PSK_RF_2                 0
+#define T5555_PSK_RF_4                 0x00000100
+#define T5555_PSK_RF_8                 0x00000200
+#define T5555_USE_PWD                  0x00000400
+#define T5555_USE_AOR                  0x00000800
+#define T5555_BITRATE_SHIFT            12
+#define T5555_FAST_WRITE               0x00004000
+#define T5555_PAGE_SELECT              0x00008000
 
 /*
  * Relevant times in microsecond
  * To compensate antenna falling times shorten the write times
  * and enlarge the gap ones.
  */
-#define START_GAP 30*8 // 10 - 50fc 250
-#define WRITE_GAP 20*8 //  8 - 30fc
-#define WRITE_0   24*8 // 16 - 31fc 24fc 192
-#define WRITE_1   54*8 // 48 - 63fc 54fc 432 for T55x7; 448 for E5550
-
-//  VALUES TAKEN FROM EM4x function: SendForward
-//  START_GAP = 440;       (55*8) cycles at 125Khz (8us = 1cycle)
-//  WRITE_GAP = 128;       (16*8)
-//  WRITE_1   = 256 32*8;  (32*8) 
-
-//  These timings work for 4469/4269/4305 (with the 55*8 above)
-//  WRITE_0 = 23*8 , 9*8  SpinDelayUs(23*8); 
-
-#define T55xx_SAMPLES_SIZE             12000 // 32 x 32 x 10  (32 bit times numofblock (7), times clock skip..)
+#define START_GAP 250
+#define WRITE_GAP 160
+#define WRITE_0   144 // 192
+#define WRITE_1   400 // 432 for T55x7; 448 for E5550
 
 // Write one bit to card
 void T55xxWriteBit(int bit)
 {
-       FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
-       if (!bit)
-               SpinDelayUs(WRITE_0);
-       else
-               SpinDelayUs(WRITE_1);
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelayUs(WRITE_GAP);
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+    if (bit == 0)
+        SpinDelayUs(WRITE_0);
+    else
+        SpinDelayUs(WRITE_1);
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    SpinDelayUs(WRITE_GAP);
 }
 
 // Write one card block in page 0, no lock
 void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode)
 {
-       uint32_t i = 0;
-
-       // Set up FPGA, 125kHz
-       // Wait for config.. (192+8190xPOW)x8 == 67ms
-       LFSetupFPGAForADC(0, true);
-
-       // Now start writting
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelayUs(START_GAP);
-
-       // Opcode
-       T55xxWriteBit(1);
-       T55xxWriteBit(0); //Page 0
-       if (PwdMode == 1){
-               // Pwd
-               for (i = 0x80000000; i != 0; i >>= 1)
-                       T55xxWriteBit(Pwd & i);
-       }
-       // Lock bit
-       T55xxWriteBit(0);
-
-       // Data
-       for (i = 0x80000000; i != 0; i >>= 1)
-               T55xxWriteBit(Data & i);
-
-       // Block
-       for (i = 0x04; i != 0; i >>= 1)
-               T55xxWriteBit(Block & i);
-
-       // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550,
-       // so wait a little more)
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
-       SpinDelay(20);
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    //unsigned int i;  //enio adjustment 12/10/14
+    uint32_t i;
+
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+
+    // Give it a bit of time for the resonant antenna to settle.
+    // And for the tag to fully power up
+    SpinDelay(150);
+
+    // Now start writting
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    SpinDelayUs(START_GAP);
+
+    // Opcode
+    T55xxWriteBit(1);
+    T55xxWriteBit(0); //Page 0
+    if (PwdMode == 1){
+        // Pwd
+        for (i = 0x80000000; i != 0; i >>= 1)
+            T55xxWriteBit(Pwd & i);
+    }
+    // Lock bit
+    T55xxWriteBit(0);
+
+    // Data
+    for (i = 0x80000000; i != 0; i >>= 1)
+        T55xxWriteBit(Data & i);
+
+    // Block
+    for (i = 0x04; i != 0; i >>= 1)
+        T55xxWriteBit(Block & i);
+
+    // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550,
+    // so wait a little more)
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+    SpinDelay(20);
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
 }
 
 // Read one card block in page 0
 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode)
 {
-       uint8_t *dest =  get_bigbufptr_recvrespbuf();
-       uint16_t bufferlength = T55xx_SAMPLES_SIZE;
-       uint32_t i = 0;
-
-       // Clear destination buffer before sending the command  0x80 = average.
-       memset(dest, 0x80, bufferlength);
-
-       // Set up FPGA, 125kHz
-       // Wait for config.. (192+8190xPOW)x8 == 67ms
-       LFSetupFPGAForADC(0, true);
-
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelayUs(START_GAP);
-  
-       // Opcode
-       T55xxWriteBit(1);
-       T55xxWriteBit(0); //Page 0
-       if (PwdMode == 1){
-               // Pwd
-               for (i = 0x80000000; i != 0; i >>= 1)
-                       T55xxWriteBit(Pwd & i);
-       }
-       // Lock bit
-       T55xxWriteBit(0);
-       // Block
-       for (i = 0x04; i != 0; i >>= 1)
-               T55xxWriteBit(Block & i);
-  
-       // Turn field on to read the response
-       TurnReadLFOn();
-  
-       // Now do the acquisition
-       i = 0;
-       for(;;) {
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
-                       AT91C_BASE_SSC->SSC_THR = 0x43;
-                       //AT91C_BASE_SSC->SSC_THR = 0xff;
-                       LED_D_ON();
-               }
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
-                       dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
-                       ++i;
-                       LED_D_OFF();
-                       if (i >= bufferlength) break;
-               }
-       }
-       cmd_send(CMD_ACK,0,0,0,0,0);
+    uint8_t *dest = BigBuf_get_addr();
+    //int m=0, i=0; //enio adjustment 12/10/14
+    uint32_t m=0, i=0;
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    m = BigBuf_max_traceLen();
+    // Clear destination buffer before sending the command
+    memset(dest, 128, m);
+    // Connect the A/D to the peak-detected low-frequency path.
+    SetAdcMuxFor(GPIO_MUXSEL_LOPKD);
+    // Now set up the SSC to get the ADC samples that are now streaming at us.
+    FpgaSetupSsc();
+
+    LED_D_ON();
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+
+    // Give it a bit of time for the resonant antenna to settle.
+    // And for the tag to fully power up
+    SpinDelay(150);
+
+    // Now start writting
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    SpinDelayUs(START_GAP);
+
+    // Opcode
+    T55xxWriteBit(1);
+    T55xxWriteBit(0); //Page 0
+    if (PwdMode == 1){
+        // Pwd
+        for (i = 0x80000000; i != 0; i >>= 1)
+            T55xxWriteBit(Pwd & i);
+    }
+    // Lock bit
+    T55xxWriteBit(0);
+    // Block
+    for (i = 0x04; i != 0; i >>= 1)
+        T55xxWriteBit(Block & i);
+
+    // Turn field on to read the response
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+
+    // Now do the acquisition
+    i = 0;
+    for(;;) {
+        if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
+            AT91C_BASE_SSC->SSC_THR = 0x43;
+        }
+        if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
+            dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
+            // we don't care about actual value, only if it's more or less than a
+            // threshold essentially we capture zero crossings for later analysis
+            //                 if(dest[i] < 127) dest[i] = 0; else dest[i] = 1;
+            i++;
+            if (i >= m) break;
+        }
+    }
+
     FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
-       LED_D_OFF();
+    LED_D_OFF();
+    DbpString("DONE!");
 }
 
 // Read card traceability data (page 1)
 void T55xxReadTrace(void){
-       uint8_t *dest =  get_bigbufptr_recvrespbuf();
-       uint16_t bufferlength = T55xx_SAMPLES_SIZE;
-       uint32_t i = 0;
-       
-       // Clear destination buffer before sending the command 0x80 = average
-       memset(dest, 0x80, bufferlength);  
-  
-       LFSetupFPGAForADC(0, true);
-  
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelayUs(START_GAP);
-  
-       // Opcode
-       T55xxWriteBit(1);
-       T55xxWriteBit(1); //Page 1
-  
-       // Turn field on to read the response
-       TurnReadLFOn();
-  
-       // Now do the acquisition
-       for(;;) {
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
-                       AT91C_BASE_SSC->SSC_THR = 0x43;
-                       LED_D_ON();
-               }
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
-                       dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
-                       ++i;
-                       LED_D_OFF();
-               
-                       if (i >= bufferlength) break;
-               }
-       }
-  
-       cmd_send(CMD_ACK,0,0,0,0,0);
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
-       LED_D_OFF();
-}
+    uint8_t *dest = BigBuf_get_addr();
+    int m=0, i=0;
+
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    m = BigBuf_max_traceLen();
+    // Clear destination buffer before sending the command
+    memset(dest, 128, m);
+    // Connect the A/D to the peak-detected low-frequency path.
+    SetAdcMuxFor(GPIO_MUXSEL_LOPKD);
+    // Now set up the SSC to get the ADC samples that are now streaming at us.
+    FpgaSetupSsc();
 
-void TurnReadLFOn(){
-       FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
-       // Give it a bit of time for the resonant antenna to settle.
-       //SpinDelay(30);
-       SpinDelayUs(8*150);
+    LED_D_ON();
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+
+    // Give it a bit of time for the resonant antenna to settle.
+    // And for the tag to fully power up
+    SpinDelay(150);
+
+    // Now start writting
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
+    SpinDelayUs(START_GAP);
+
+    // Opcode
+    T55xxWriteBit(1);
+    T55xxWriteBit(1); //Page 1
+
+    // Turn field on to read the response
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+
+    // Now do the acquisition
+    i = 0;
+    for(;;) {
+        if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
+            AT91C_BASE_SSC->SSC_THR = 0x43;
+        }
+        if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
+            dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
+            i++;
+            if (i >= m) break;
+        }
+    }
+
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
+    LED_D_OFF();
+    DbpString("DONE!");
 }
 
 /*-------------- Cloning routines -----------*/
 // Copy HID id to card and setup block 0 config
 void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT)
 {
-       int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format
-       int last_block = 0;
-  
-  if (longFMT){
-         // Ensure no more than 84 bits supplied
-         if (hi2>0xFFFFF) {
-                 DbpString("Tags can only have 84 bits.");
-                 return;
-         }
-    // Build the 6 data blocks for supplied 84bit ID
-    last_block = 6;
-    data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded)
-         for (int i=0;i<4;i++) {
-                 if (hi2 & (1<<(19-i)))
-                         data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10
-                 else
-                         data1 |= (1<<((3-i)*2)); // 0 -> 01
-         }
-    
-       data2 = 0;
-       for (int i=0;i<16;i++) {
-               if (hi2 & (1<<(15-i)))
-                       data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data2 |= (1<<((15-i)*2)); // 0 -> 01
-    }
-    
-       data3 = 0;
-       for (int i=0;i<16;i++) {
-               if (hi & (1<<(31-i)))
-                       data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data3 |= (1<<((15-i)*2)); // 0 -> 01
-       }
-    
-       data4 = 0;
-       for (int i=0;i<16;i++) {
-               if (hi & (1<<(15-i)))
-                       data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data4 |= (1<<((15-i)*2)); // 0 -> 01
+    int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format
+    int last_block = 0;
+
+    if (longFMT){
+        // Ensure no more than 84 bits supplied
+        if (hi2>0xFFFFF) {
+            DbpString("Tags can only have 84 bits.");
+            return;
+        }
+        // Build the 6 data blocks for supplied 84bit ID
+        last_block = 6;
+        data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded)
+        for (int i=0;i<4;i++) {
+            if (hi2 & (1<<(19-i)))
+                data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10
+            else
+                data1 |= (1<<((3-i)*2)); // 0 -> 01
+        }
+
+        data2 = 0;
+        for (int i=0;i<16;i++) {
+            if (hi2 & (1<<(15-i)))
+                data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data2 |= (1<<((15-i)*2)); // 0 -> 01
+        }
+
+        data3 = 0;
+        for (int i=0;i<16;i++) {
+            if (hi & (1<<(31-i)))
+                data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data3 |= (1<<((15-i)*2)); // 0 -> 01
+        }
+
+        data4 = 0;
+        for (int i=0;i<16;i++) {
+            if (hi & (1<<(15-i)))
+                data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data4 |= (1<<((15-i)*2)); // 0 -> 01
+        }
+
+        data5 = 0;
+        for (int i=0;i<16;i++) {
+            if (lo & (1<<(31-i)))
+                data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data5 |= (1<<((15-i)*2)); // 0 -> 01
+        }
+
+        data6 = 0;
+        for (int i=0;i<16;i++) {
+            if (lo & (1<<(15-i)))
+                data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data6 |= (1<<((15-i)*2)); // 0 -> 01
+        }
     }
-    
-       data5 = 0;
-       for (int i=0;i<16;i++) {
-               if (lo & (1<<(31-i)))
-                       data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data5 |= (1<<((15-i)*2)); // 0 -> 01
-       }
-    
-       data6 = 0;
-       for (int i=0;i<16;i++) {
-               if (lo & (1<<(15-i)))
-                       data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data6 |= (1<<((15-i)*2)); // 0 -> 01
+    else {
+        // Ensure no more than 44 bits supplied
+        if (hi>0xFFF) {
+            DbpString("Tags can only have 44 bits.");
+            return;
+        }
+
+        // Build the 3 data blocks for supplied 44bit ID
+        last_block = 3;
+
+        data1 = 0x1D000000; // load preamble
+
+        for (int i=0;i<12;i++) {
+            if (hi & (1<<(11-i)))
+                data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10
+            else
+                data1 |= (1<<((11-i)*2)); // 0 -> 01
+        }
+
+        data2 = 0;
+        for (int i=0;i<16;i++) {
+            if (lo & (1<<(31-i)))
+                data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data2 |= (1<<((15-i)*2)); // 0 -> 01
+        }
+
+        data3 = 0;
+        for (int i=0;i<16;i++) {
+            if (lo & (1<<(15-i)))
+                data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10
+            else
+                data3 |= (1<<((15-i)*2)); // 0 -> 01
+        }
     }
-  }
-  else {
-         // Ensure no more than 44 bits supplied
-         if (hi>0xFFF) {
-                 DbpString("Tags can only have 44 bits.");
-                 return;
-         }
-    
-       // Build the 3 data blocks for supplied 44bit ID
-       last_block = 3;
-       
-       data1 = 0x1D000000; // load preamble
-    
-    for (int i=0;i<12;i++) {
-      if (hi & (1<<(11-i)))
-        data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10
-      else
-        data1 |= (1<<((11-i)*2)); // 0 -> 01
+
+    LED_D_ON();
+    // Program the data blocks for supplied ID
+    // and the block 0 for HID format
+    T55xxWriteBlock(data1,1,0,0);
+    T55xxWriteBlock(data2,2,0,0);
+    T55xxWriteBlock(data3,3,0,0);
+
+    if (longFMT) { // if long format there are 6 blocks
+        T55xxWriteBlock(data4,4,0,0);
+        T55xxWriteBlock(data5,5,0,0);
+        T55xxWriteBlock(data6,6,0,0);
     }
-    
-       data2 = 0;
-       for (int i=0;i<16;i++) {
-               if (lo & (1<<(31-i)))
-                       data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data2 |= (1<<((15-i)*2)); // 0 -> 01
-       }
-    
-       data3 = 0;
-       for (int i=0;i<16;i++) {
-               if (lo & (1<<(15-i)))
-                       data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10
-               else
-                       data3 |= (1<<((15-i)*2)); // 0 -> 01
-       }
-  }
-  
-       LED_D_ON();
-       // Program the data blocks for supplied ID
-       // and the block 0 for HID format
-       T55xxWriteBlock(data1,1,0,0);
-       T55xxWriteBlock(data2,2,0,0);
-       T55xxWriteBlock(data3,3,0,0);
-       
-       if (longFMT) { // if long format there are 6 blocks
-         T55xxWriteBlock(data4,4,0,0);
-         T55xxWriteBlock(data5,5,0,0);
-         T55xxWriteBlock(data6,6,0,0);
-  }
-  
-       // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long)
-       T55xxWriteBlock(T55x7_BITRATE_RF_50  |
-                  T55x7_MODULATION_FSK2a |
-                  last_block << T55x7_MAXBLOCK_SHIFT,
-                  0,0,0);
-  
-       LED_D_OFF();
-       
-       DbpString("DONE!");
+
+    // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long)
+    T55xxWriteBlock(T55x7_BITRATE_RF_50    |
+                    T55x7_MODULATION_FSK2a |
+                    last_block << T55x7_MAXBLOCK_SHIFT,
+                    0,0,0);
+
+    LED_D_OFF();
+
+    DbpString("DONE!");
 }
 
 void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT)
 {
-   int data1=0, data2=0; //up to six blocks for long format
-       
+    int data1=0, data2=0; //up to six blocks for long format
+
     data1 = hi;  // load preamble
     data2 = lo;
-    
+
     LED_D_ON();
     // Program the data blocks for supplied ID
     // and the block 0 for HID format
     T55xxWriteBlock(data1,1,0,0);
     T55xxWriteBlock(data2,2,0,0);
-       
+
     //Config Block
     T55xxWriteBlock(0x00147040,0,0,0);
     LED_D_OFF();
-       
+
     DbpString("DONE!");
 }
 
@@ -1311,148 +1228,152 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT)
 
 void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo)
 {
-       int i, id_bit;
-       uint64_t id = EM410X_HEADER;
-       uint64_t rev_id = 0;    // reversed ID
-       int c_parity[4];        // column parity
-       int r_parity = 0;       // row parity
-       uint32_t clock = 0;
-
-       // Reverse ID bits given as parameter (for simpler operations)
-       for (i = 0; i < EM410X_ID_LENGTH; ++i) {
-               if (i < 32) {
-                       rev_id = (rev_id << 1) | (id_lo & 1);
-                       id_lo >>= 1;
-               } else {
-                       rev_id = (rev_id << 1) | (id_hi & 1);
-                       id_hi >>= 1;
-               }
-       }
-
-       for (i = 0; i < EM410X_ID_LENGTH; ++i) {
-               id_bit = rev_id & 1;
-
-               if (i % 4 == 0) {
-                       // Don't write row parity bit at start of parsing
-                       if (i)
-                               id = (id << 1) | r_parity;
-                       // Start counting parity for new row
-                       r_parity = id_bit;
-               } else {
-                       // Count row parity
-                       r_parity ^= id_bit;
-               }
-
-               // First elements in column?
-               if (i < 4)
-                       // Fill out first elements
-                       c_parity[i] = id_bit;
-               else
-                       // Count column parity
-                       c_parity[i % 4] ^= id_bit;
-
-               // Insert ID bit
-               id = (id << 1) | id_bit;
-               rev_id >>= 1;
-       }
-
-       // Insert parity bit of last row
-       id = (id << 1) | r_parity;
-
-       // Fill out column parity at the end of tag
-       for (i = 0; i < 4; ++i)
-               id = (id << 1) | c_parity[i];
-
-       // Add stop bit
-       id <<= 1;
-
-       Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555");
-       LED_D_ON();
-
-       // Write EM410x ID
-       T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0);
-       T55xxWriteBlock((uint32_t)id, 2, 0, 0);
-
-       // Config for EM410x (RF/64, Manchester, Maxblock=2)
-       if (card) {
-               // Clock rate is stored in bits 8-15 of the card value
-               clock = (card & 0xFF00) >> 8;
-               Dbprintf("Clock rate: %d", clock);
-               switch (clock)
-               {
-                       case 32:
-                               clock = T55x7_BITRATE_RF_32;
-                               break;
-                       case 16:
-                               clock = T55x7_BITRATE_RF_16;
-                               break;
-                       case 0:
-                               // A value of 0 is assumed to be 64 for backwards-compatibility
-                               // Fall through...
-                       case 64:
-                               clock = T55x7_BITRATE_RF_64;
-                               break;      
-                       default:
-                               Dbprintf("Invalid clock rate: %d", clock);
-                               return;
-               }
-
-               // Writing configuration for T55x7 tag
-               T55xxWriteBlock(clock       |
-                               T55x7_MODULATION_MANCHESTER |
-                               2 << T55x7_MAXBLOCK_SHIFT,
-                               0, 0, 0);
-  }
-       else
-               // Writing configuration for T5555(Q5) tag
-               T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT |
-                               T5555_MODULATION_MANCHESTER   |
-                               2 << T5555_MAXBLOCK_SHIFT,
-                               0, 0, 0);
-
-       LED_D_OFF();
-       Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555",
-                                       (uint32_t)(id >> 32), (uint32_t)id);
+    int i, id_bit;
+    uint64_t id = EM410X_HEADER;
+    uint64_t rev_id = 0;       // reversed ID
+    int c_parity[4];   // column parity
+    int r_parity = 0;  // row parity
+    uint32_t clock = 0;
+
+    // Reverse ID bits given as parameter (for simpler operations)
+    for (i = 0; i < EM410X_ID_LENGTH; ++i) {
+        if (i < 32) {
+            rev_id = (rev_id << 1) | (id_lo & 1);
+            id_lo >>= 1;
+        } else {
+            rev_id = (rev_id << 1) | (id_hi & 1);
+            id_hi >>= 1;
+        }
+    }
+
+    for (i = 0; i < EM410X_ID_LENGTH; ++i) {
+        id_bit = rev_id & 1;
+
+        if (i % 4 == 0) {
+            // Don't write row parity bit at start of parsing
+            if (i)
+                id = (id << 1) | r_parity;
+            // Start counting parity for new row
+            r_parity = id_bit;
+        } else {
+            // Count row parity
+            r_parity ^= id_bit;
+        }
+
+        // First elements in column?
+        if (i < 4)
+            // Fill out first elements
+            c_parity[i] = id_bit;
+        else
+            // Count column parity
+            c_parity[i % 4] ^= id_bit;
+
+        // Insert ID bit
+        id = (id << 1) | id_bit;
+        rev_id >>= 1;
+    }
+
+    // Insert parity bit of last row
+    id = (id << 1) | r_parity;
+
+    // Fill out column parity at the end of tag
+    for (i = 0; i < 4; ++i)
+        id = (id << 1) | c_parity[i];
+
+    // Add stop bit
+    id <<= 1;
+
+    Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555");
+    LED_D_ON();
+
+    // Write EM410x ID
+    T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0);
+    T55xxWriteBlock((uint32_t)id, 2, 0, 0);
+
+    // Config for EM410x (RF/64, Manchester, Maxblock=2)
+    if (card) {
+        // Clock rate is stored in bits 8-15 of the card value
+        clock = (card & 0xFF00) >> 8;
+        Dbprintf("Clock rate: %d", clock);
+        switch (clock)
+        {
+        case 32:
+            clock = T55x7_BITRATE_RF_32;
+            break;
+        case 16:
+            clock = T55x7_BITRATE_RF_16;
+            break;
+        case 0:
+            // A value of 0 is assumed to be 64 for backwards-compatibility
+            // Fall through...
+        case 64:
+            clock = T55x7_BITRATE_RF_64;
+            break;
+        default:
+            Dbprintf("Invalid clock rate: %d", clock);
+            return;
+        }
+
+        // Writing configuration for T55x7 tag
+        T55xxWriteBlock(clock      |
+                        T55x7_MODULATION_MANCHESTER |
+                        2 << T55x7_MAXBLOCK_SHIFT,
+                        0, 0, 0);
+    }
+    else
+        // Writing configuration for T5555(Q5) tag
+        T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT |
+                        T5555_MODULATION_MANCHESTER   |
+                        2 << T5555_MAXBLOCK_SHIFT,
+                        0, 0, 0);
+
+    LED_D_OFF();
+    Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555",
+             (uint32_t)(id >> 32), (uint32_t)id);
 }
 
 // Clone Indala 64-bit tag by UID to T55x7
 void CopyIndala64toT55x7(int hi, int lo)
 {
-       //Program the 2 data blocks for supplied 64bit UID
-       // and the block 0 for Indala64 format
-       T55xxWriteBlock(hi,1,0,0);
-       T55xxWriteBlock(lo,2,0,0);
-       //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2)
-       T55xxWriteBlock(T55x7_BITRATE_RF_32    |
-                       T55x7_MODULATION_PSK1 |
-                       2 << T55x7_MAXBLOCK_SHIFT,
-                       0, 0, 0);
-       //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data)
-       //      T5567WriteBlock(0x603E1042,0);
-
-       DbpString("DONE!");
-}      
+
+    //Program the 2 data blocks for supplied 64bit UID
+    // and the block 0 for Indala64 format
+    T55xxWriteBlock(hi,1,0,0);
+    T55xxWriteBlock(lo,2,0,0);
+    //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2)
+    T55xxWriteBlock(T55x7_BITRATE_RF_32    |
+                    T55x7_MODULATION_PSK1 |
+                    2 << T55x7_MAXBLOCK_SHIFT,
+                    0, 0, 0);
+    //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data)
+    // T5567WriteBlock(0x603E1042,0);
+
+    DbpString("DONE!");
+
+}
 
 void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7)
 {
-       //Program the 7 data blocks for supplied 224bit UID
-       // and the block 0 for Indala224 format
-       T55xxWriteBlock(uid1,1,0,0);
-       T55xxWriteBlock(uid2,2,0,0);
-       T55xxWriteBlock(uid3,3,0,0);
-       T55xxWriteBlock(uid4,4,0,0);
-       T55xxWriteBlock(uid5,5,0,0);
-       T55xxWriteBlock(uid6,6,0,0);
-       T55xxWriteBlock(uid7,7,0,0);
-       //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7)
-       T55xxWriteBlock(T55x7_BITRATE_RF_32    |
-                       T55x7_MODULATION_PSK1 |
-                       7 << T55x7_MAXBLOCK_SHIFT,
-                       0,0,0);
-       //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data)
-       //      T5567WriteBlock(0x603E10E2,0);
-
-       DbpString("DONE!");
+
+    //Program the 7 data blocks for supplied 224bit UID
+    // and the block 0 for Indala224 format
+    T55xxWriteBlock(uid1,1,0,0);
+    T55xxWriteBlock(uid2,2,0,0);
+    T55xxWriteBlock(uid3,3,0,0);
+    T55xxWriteBlock(uid4,4,0,0);
+    T55xxWriteBlock(uid5,5,0,0);
+    T55xxWriteBlock(uid6,6,0,0);
+    T55xxWriteBlock(uid7,7,0,0);
+    //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7)
+    T55xxWriteBlock(T55x7_BITRATE_RF_32    |
+                    T55x7_MODULATION_PSK1 |
+                    7 << T55x7_MAXBLOCK_SHIFT,
+                    0,0,0);
+    //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data)
+    // T5567WriteBlock(0x603E10E2,0);
+
+    DbpString("DONE!");
+
 }
 
 
@@ -1460,260 +1381,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int
 #define max(x,y) ( x<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 ;
 }
 
 
@@ -1737,20 +1659,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer
 //====================================================================
 //--------------------------------------------------------------------
 uint8_t Prepare_Cmd( uint8_t cmd ) {
-  //--------------------------------------------------------------------
-  
-  *forward_ptr++ = 0; //start bit
-  *forward_ptr++ = 0; //second pause for 4050 code
-  
-  *forward_ptr++ = cmd;
-  cmd >>= 1;
-  *forward_ptr++ = cmd;
-  cmd >>= 1;
-  *forward_ptr++ = cmd;
-  cmd >>= 1;
-  *forward_ptr++ = cmd;
-  
-  return 6; //return number of emited bits
+    //--------------------------------------------------------------------
+
+    *forward_ptr++ = 0; //start bit
+    *forward_ptr++ = 0; //second pause for 4050 code
+
+    *forward_ptr++ = cmd;
+    cmd >>= 1;
+    *forward_ptr++ = cmd;
+    cmd >>= 1;
+    *forward_ptr++ = cmd;
+    cmd >>= 1;
+    *forward_ptr++ = cmd;
+
+    return 6; //return number of emited bits
 }
 
 //====================================================================
@@ -1760,21 +1682,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) {
 
 //--------------------------------------------------------------------
 uint8_t Prepare_Addr( uint8_t addr ) {
-  //--------------------------------------------------------------------
-  
-  register uint8_t line_parity;
-  
-  uint8_t i;
-  line_parity = 0;
-  for(i=0;i<6;i++) {
-    *forward_ptr++ = addr;
-    line_parity ^= addr;
-    addr >>= 1;
-  }
-  
-  *forward_ptr++ = (line_parity & 1);
-  
-  return 7; //return number of emited bits
+    //--------------------------------------------------------------------
+
+    register uint8_t line_parity;
+
+    uint8_t i;
+    line_parity = 0;
+    for(i=0;i<6;i++) {
+        *forward_ptr++ = addr;
+        line_parity ^= addr;
+        addr >>= 1;
+    }
+
+    *forward_ptr++ = (line_parity & 1);
+
+    return 7; //return number of emited bits
 }
 
 //====================================================================
@@ -1784,36 +1706,36 @@ uint8_t Prepare_Addr( uint8_t addr ) {
 
 //--------------------------------------------------------------------
 uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) {
-  //--------------------------------------------------------------------
-  
-  register uint8_t line_parity;
-  register uint8_t column_parity;
-  register uint8_t i, j;
-  register uint16_t data;
-  
-  data = data_low;
-  column_parity = 0;
-  
-  for(i=0; i<4; i++) {
-    line_parity = 0;
+    //--------------------------------------------------------------------
+
+    register uint8_t line_parity;
+    register uint8_t column_parity;
+    register uint8_t i, j;
+    register uint16_t data;
+
+    data = data_low;
+    column_parity = 0;
+
+    for(i=0; i<4; i++) {
+        line_parity = 0;
+        for(j=0; j<8; j++) {
+            line_parity ^= data;
+            column_parity ^= (data & 1) << j;
+            *forward_ptr++ = data;
+            data >>= 1;
+        }
+        *forward_ptr++ = line_parity;
+        if(i == 1)
+            data = data_hi;
+    }
+
     for(j=0; j<8; j++) {
-      line_parity ^= data;
-      column_parity ^= (data & 1) << j;
-      *forward_ptr++ = data;
-      data >>= 1;
+        *forward_ptr++ = column_parity;
+        column_parity >>= 1;
     }
-    *forward_ptr++ = line_parity;
-    if(i == 1)
-      data = data_hi;
-  }
-  
-  for(j=0; j<8; j++) {
-    *forward_ptr++ = column_parity;
-    column_parity >>= 1;
-  }
-  *forward_ptr = 0;
-  
-  return 45; //return number of emited bits
+    *forward_ptr = 0;
+
+    return 45; //return number of emited bits
 }
 
 //====================================================================
@@ -1822,123 +1744,115 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) {
 // fwd_bit_count set with number of bits to be sent
 //====================================================================
 void SendForward(uint8_t fwd_bit_count) {
-  
-  fwd_write_ptr = forwardLink_data;
-  fwd_bit_sz = fwd_bit_count;
-  
-  LED_D_ON();
-  
-  //Field on
-  FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
-  FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-  FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
-  
-  // Give it a bit of time for the resonant antenna to settle.
-  // And for the tag to fully power up
-  SpinDelay(150);
-  
-  // force 1st mod pulse (start gap must be longer for 4305)
-  fwd_bit_sz--; //prepare next bit modulation
-  fwd_write_ptr++;
-  FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
-  SpinDelayUs(55*8); //55 cycles off (8us each)for 4305
-  FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-  FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on
-  SpinDelayUs(16*8); //16 cycles on (8us each)
-  
-  // now start writting
-  while(fwd_bit_sz-- > 0) { //prepare next bit modulation
-    if(((*fwd_write_ptr++) & 1) == 1)
-      SpinDelayUs(32*8); //32 cycles at 125Khz (8us each)
-    else {
-      //These timings work for 4469/4269/4305 (with the 55*8 above)
-      FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
-      SpinDelayUs(23*8); //16-4 cycles off (8us each)
-      FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
-      FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on
-      SpinDelayUs(9*8); //16 cycles on (8us each)
+
+    fwd_write_ptr = forwardLink_data;
+    fwd_bit_sz = fwd_bit_count;
+
+    LED_D_ON();
+
+    //Field on
+    FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
+
+    // Give it a bit of time for the resonant antenna to settle.
+    // And for the tag to fully power up
+    SpinDelay(150);
+
+    // force 1st mod pulse (start gap must be longer for 4305)
+    fwd_bit_sz--; //prepare next bit modulation
+    fwd_write_ptr++;
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
+    SpinDelayUs(55*8); //55 cycles off (8us each)for 4305
+    FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on
+    SpinDelayUs(16*8); //16 cycles on (8us each)
+
+    // now start writting
+    while(fwd_bit_sz-- > 0) { //prepare next bit modulation
+        if(((*fwd_write_ptr++) & 1) == 1)
+            SpinDelayUs(32*8); //32 cycles at 125Khz (8us each)
+        else {
+            //These timings work for 4469/4269/4305 (with the 55*8 above)
+            FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
+            SpinDelayUs(23*8); //16-4 cycles off (8us each)
+            FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
+            FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on
+            SpinDelayUs(9*8); //16 cycles on (8us each)
+        }
     }
-  }
 }
 
-
 void EM4xLogin(uint32_t Password) {
-  
-  uint8_t fwd_bit_count;
-  
-  forward_ptr = forwardLink_data;
-  fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN );
-  fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 );
-  
-  SendForward(fwd_bit_count);
-  
-  //Wait for command to complete
-  SpinDelay(20);
-  
+
+    uint8_t fwd_bit_count;
+
+    forward_ptr = forwardLink_data;
+    fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN );
+    fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 );
+
+    SendForward(fwd_bit_count);
+
+    //Wait for command to complete
+    SpinDelay(20);
+
 }
 
 void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) {
-  
-       uint8_t *dest =   (uint8_t *)BigBuf;
-       uint16_t bufferlength = 12000;
-       uint32_t i = 0;
-
-       // Clear destination buffer before sending the command  0x80 = average.
-       memset(dest, 0x80, bufferlength);
-       
-       uint8_t fwd_bit_count;
-  
-       //If password mode do login
-       if (PwdMode == 1) EM4xLogin(Pwd);
-  
-       forward_ptr = forwardLink_data;
-       fwd_bit_count = Prepare_Cmd( FWD_CMD_READ );
-       fwd_bit_count += Prepare_Addr( Address );
-  
-       // Connect the A/D to the peak-detected low-frequency path.
-       SetAdcMuxFor(GPIO_MUXSEL_LOPKD);
-       // Now set up the SSC to get the ADC samples that are now streaming at us.
-       FpgaSetupSsc();
-  
-       SendForward(fwd_bit_count);
-  
-       // // Turn field on to read the response
-       // TurnReadLFOn();
-       
-       // Now do the acquisition
-       i = 0;
-       for(;;) {
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
-                       AT91C_BASE_SSC->SSC_THR = 0x43;
-               }
-               if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
-                       dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
-                       ++i;
-                       if (i >= bufferlength) break;
-               }
-       }
-  
-       cmd_send(CMD_ACK,0,0,0,0,0);
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
-       LED_D_OFF();
+
+    uint8_t fwd_bit_count;
+    uint8_t *dest = BigBuf_get_addr();
+    int m=0, i=0;
+
+    //If password mode do login
+    if (PwdMode == 1) EM4xLogin(Pwd);
+
+    forward_ptr = forwardLink_data;
+    fwd_bit_count = Prepare_Cmd( FWD_CMD_READ );
+    fwd_bit_count += Prepare_Addr( Address );
+
+    m = BigBuf_max_traceLen();
+    // Clear destination buffer before sending the command
+    memset(dest, 128, m);
+    // Connect the A/D to the peak-detected low-frequency path.
+    SetAdcMuxFor(GPIO_MUXSEL_LOPKD);
+    // Now set up the SSC to get the ADC samples that are now streaming at us.
+    FpgaSetupSsc();
+
+    SendForward(fwd_bit_count);
+
+    // Now do the acquisition
+    i = 0;
+    for(;;) {
+        if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
+            AT91C_BASE_SSC->SSC_THR = 0x43;
+        }
+        if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) {
+            dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
+            i++;
+            if (i >= m) break;
+        }
+    }
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
+    LED_D_OFF();
 }
 
 void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) {
-  
-  uint8_t fwd_bit_count;
-  
-  //If password mode do login
-  if (PwdMode == 1) EM4xLogin(Pwd);
-  
-  forward_ptr = forwardLink_data;
-  fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE );
-  fwd_bit_count += Prepare_Addr( Address );
-  fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 );
-  
-  SendForward(fwd_bit_count);
-  
-  //Wait for write to complete
-  SpinDelay(20);
-  FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
-  LED_D_OFF();
+
+    uint8_t fwd_bit_count;
+
+    //If password mode do login
+    if (PwdMode == 1) EM4xLogin(Pwd);
+
+    forward_ptr = forwardLink_data;
+    fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE );
+    fwd_bit_count += Prepare_Addr( Address );
+    fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 );
+
+    SendForward(fwd_bit_count);
+
+    //Wait for write to complete
+    SpinDelay(20);
+    FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
+    LED_D_OFF();
 }
index 7a33afbba343a545d19bcebf98cea8dac44d6bf8..50a5634dc2d694db6f0a64ae1093bb750f020b10 100644 (file)
@@ -16,8 +16,8 @@
 #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
@@ -76,7 +76,7 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
        //  ----------------------------- 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
@@ -104,14 +104,14 @@ void MifareUC_Auth1(uint8_t arg0, uint8_t *datain){
        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
@@ -138,7 +138,7 @@ void MifareUC_Auth2(uint32_t arg0, uint8_t *datain){
        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
@@ -161,30 +161,30 @@ void MifareUReadBlock(uint8_t arg0,uint8_t *datain)
        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
@@ -261,14 +261,14 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
 \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
@@ -284,7 +284,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain)
        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
@@ -295,7 +295,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain)
                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
@@ -306,7 +306,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain)
        if (len) {\r
                if (MF_DBGLEVEL >= MF_DBG_ERROR)\r
                        Dbprintf("Halt error");\r
-               OnError(3);\r
+               //OnError(3);\r
                return;\r
        }\r
        \r
@@ -400,49 +400,49 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
 \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
@@ -493,7 +493,7 @@ void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain)
 }\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
@@ -529,11 +529,13 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
        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
@@ -550,7 +552,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
                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
@@ -605,7 +607,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
                        }\r
                }\r
                \r
-               if (rtr <= 1) return;\r
+               if (rtr <= 1)   return;\r
 \r
                davg = (davg + (rtr - 1)/2) / (rtr - 1);\r
                \r
@@ -624,18 +626,9 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
        //  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
@@ -695,7 +688,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
                        if (target_nt[i] == 0 && j == dmax+1 && MF_DBGLEVEL >= 3) Dbprintf("Nonce#%d: dismissed (all invalid)", i+1);\r
                }\r
        }\r
-       \r
+\r
        LED_C_OFF();\r
        \r
        //  ----------------------------- crypto1 destroy\r
@@ -929,15 +922,15 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
        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
@@ -1048,14 +1041,14 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
        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
@@ -1113,8 +1106,8 @@ void MifareCIdent(){
        // 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
@@ -1133,7 +1126,7 @@ void MifareCIdent(){
        cmd_send(CMD_ACK,isOK,0,0,0,0);\r
 }\r
 \r
-//\r
+                       //\r
 // DESFIRE\r
 //\r
 \r
@@ -1150,14 +1143,14 @@ void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain){
        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
@@ -1180,7 +1173,7 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){
        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
@@ -1190,4 +1183,4 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){
        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
index fed127725f9c3caf86b394a2e2fed1bf6e816711..59e8469752b5587672004eb37c522a6b531364a9 100644 (file)
 \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
@@ -151,12 +151,13 @@ bool intMfSniffSend() {
        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
index 1859819194c66bd2e1ddd41230d6a2e85e0b4b01..c3ba1b816a0b1388da9915a256ff1c790e7bdbb6 100644 (file)
@@ -9,29 +9,18 @@
 // 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
@@ -76,26 +65,26 @@ uint8_t mf_crypto1_encrypt4bit(struct Crypto1State *pcs, uint8_t data) {
 }\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_tanswer, 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
@@ -117,13 +106,13 @@ int mifare_sendcmd_short_mfucauth(struct Crypto1State *pcs, uint8_t crypted, uin
     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
@@ -149,7 +138,7 @@ int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cm
        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
@@ -175,7 +164,7 @@ int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo,
        return mifare_classic_authex(pcs, uid, blockNo, keyType, ui64Key, isNested, NULL, NULL);\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
@@ -186,9 +175,9 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN
        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
@@ -273,8 +262,8 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo
        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
@@ -295,15 +284,15 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo
        }\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
@@ -327,8 +316,8 @@ int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){
 int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){\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
@@ -347,53 +336,53 @@ int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){
        }\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
@@ -427,68 +416,68 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl
                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
@@ -497,24 +486,24 @@ int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid)
                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
@@ -536,24 +525,24 @@ uint8_t FirstBlockOfSector(uint8_t sectorNo)
 }\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
@@ -568,7 +557,7 @@ int emlCheckValBl(int blockNum) {
 }\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
@@ -576,12 +565,12 @@ int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) {
        }\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
@@ -599,7 +588,7 @@ int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) {
 \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
@@ -610,7 +599,7 @@ void emlClearMem(void) {
        \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
@@ -665,8 +654,8 @@ int mifare_desfire_des_auth1(uint32_t uid, uint8_t *blockData){
        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
@@ -695,8 +684,8 @@ int mifare_desfire_des_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){
        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
@@ -717,4 +706,4 @@ int mifare_desfire_des_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){
                return 0;\r
        }\r
        return 1;\r
-}
\ No newline at end of file
+}\r
index 6ef5e0a50b470f3b5712402ee88c5aea26071ac0..195afa534b45e639e5488163e9068be41385c99d 100644 (file)
@@ -16,7 +16,7 @@
 #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
@@ -53,9 +53,8 @@ extern int MF_DBGLEVEL;
 #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_tanswer, 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);
@@ -83,11 +82,6 @@ void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *receivedCmd, int len)
 void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, uint8_t *par);\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
index 6e2c7883d83dea353d40b75e4fb6e654fb9972a9..a9dbd826f0e28167d5527af94c0bfbe548c88f32 100644 (file)
@@ -18,7 +18,7 @@
 int strlen(const char *str);
 RAMFUNC void *memcpy(void *dest, const void *src, int len);
 void *memset(void *dest, int c, int len);
-RAMFUNC  int memcmp(const void *av, const void *bv, int len);
+RAMFUNC int memcmp(const void *av, const void *bv, int len);
 void memxor(uint8_t * dest, uint8_t * src, size_t len);
 char *strncat(char *dest, const char *src, unsigned int n);
 char *strcat(char *dest, const char *src);
index c65033952d371bc239a207a5563cfbee71a7bf69..bf5d0cc81fc01477ea2526379948a71b5ce470dd 100644 (file)
@@ -13,7 +13,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
-#include "../include/common.h"
+#include "common.h"
 
 #define BYTEx(x, n) (((x) >> (n * 8)) & 0xff )
 
index 24b976700a0be59bc9ae7e1e964cb8e2ea3815de..823ee44599e24beecfdc2323850a779529ff0926 100644 (file)
@@ -9,18 +9,16 @@ include ../common/Makefile.common
 CC=gcc
 CXX=g++
 #COMMON_FLAGS = -m32
-
 VPATH = ../common
 OBJDIR = obj
 
-LDLIBS =  -L/mingw/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lm -lreadline -lpthread -lcrypto -lgdi32
+LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm
 LDFLAGS = $(COMMON_FLAGS)
-CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/mingw/include -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4
+CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4
 LUAPLATFORM = generic
-
 ifneq (,$(findstring MINGW,$(platform)))
-CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui -I$(QTDIR)/include/QtWidgets  -I/mingw/include
-QTLDLIBS = -L$(QTDIR)/lib  -lQt5Core -lQt5Gui -lQt5Widgets 
+CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
+QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
 MOC = $(QTDIR)/bin/moc
 LUAPLATFORM = mingw
 else ifeq ($(platform),Darwin)
@@ -54,16 +52,15 @@ CORESRCS =  uart.c \
 
 
 CMDSRCS =      nonce2key/crapto1.c\
-                       nonce2key/crypto1.c\
-                       nonce2key/nonce2key.c\
-                       loclass/cipher.c \
-                       loclass/cipherutils.c \
-                       loclass/des.c \
-                       loclass/ikeys.c \
-                       loclass/elite_crack.c \
-                       loclass/fileutils.c \
-                       loclass/hash1_brute.c \
-                       mifarehost.c \
+               nonce2key/crypto1.c\
+               nonce2key/nonce2key.c\
+               loclass/cipher.c \
+               loclass/cipherutils.c \
+               loclass/des.c \
+               loclass/ikeys.c \
+               loclass/elite_crack.c\
+               loclass/fileutils.c\
+                       mifarehost.c\
                        crc16.c \
                        iso14443crc.c \
                        iso15693tools.c \
@@ -80,12 +77,9 @@ CMDSRCS =    nonce2key/crapto1.c\
                        cmdhflegic.c \
                        cmdhficlass.c \
                        cmdhfmf.c \
-                       cmdhfmfu.c \
-                       cmdhfmfdes.c \
-            cmdhfdes.c \
+            cmdhfmfu.c \
                        cmdhw.c \
                        cmdlf.c \
-                       cmdlfawid26.c \
                        cmdlfio.c \
                        cmdlfhid.c \
                        cmdlfem4x.c \
@@ -99,6 +93,7 @@ CMDSRCS =     nonce2key/crapto1.c\
                        scripting.c\
                        cmdscript.c\
                        pm3_bitlib.c\
+                       aes.c\
 
 
 COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o)
diff --git a/client/aes.c b/client/aes.c
new file mode 100644 (file)
index 0000000..36f735d
--- /dev/null
@@ -0,0 +1,1454 @@
+/*
+ *  FIPS-197 compliant AES implementation
+ *
+ *  Copyright (C) 2006-2014, Brainspark B.V.
+ *
+ *  This file is part of PolarSSL (http://www.polarssl.org)
+ *  Lead Maintainer: Paul Bakker <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 */
diff --git a/client/aes.h b/client/aes.h
new file mode 100644 (file)
index 0000000..946bd87
--- /dev/null
@@ -0,0 +1,257 @@
+/**
+ * \file aes.h
+ *
+ * \brief AES block cipher
+ *
+ *  Copyright (C) 2006-2014, Brainspark B.V.
+ *
+ *  This file is part of PolarSSL (http://www.polarssl.org)
+ *  Lead Maintainer: Paul Bakker <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 */
index 9a19dca7e18002e285f9aee1f41ad72505cb11dc..8c91f0e115ce84c7f6e934861e784d5341943215 100644 (file)
 #include "cmdmain.h"
 #include "cmddata.h"
 #include "lfdemod.h"
-
+uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN];
+uint8_t g_debugMode;
+int DemodBufferLen;
 static int CmdHelp(const char *Cmd);
 
-int CmdAmp(const char *Cmd)
+//set the demod buffer with given array of binary (one bit per byte)
+//by marshmellow
+void setDemodBuf(uint8_t *buff, size_t size, size_t startIdx)
 {
-       int i, rising, falling;
-       int max = INT_MIN, min = INT_MAX;
-
-       DetectHighLowInGraph( &max, &min, FALSE);
-
-       if (max != min) {
-               rising = falling = 0;
-               
-               for (i = 0; i < GraphTraceLen; ++i) {
-                       if (GraphBuffer[i + 1] < GraphBuffer[i]) {
-                               if (rising) {
-                                       GraphBuffer[i] = max;
-                                       rising = 0;
-                               }
-                               falling = 1;
-                       }
-                       if (GraphBuffer[i + 1] > GraphBuffer[i]) {
-                               if (falling) {
-                                       GraphBuffer[i] = min;
-                                       falling = 0;
-                               }
-                               rising= 1;
-                       }
-               }
+       size_t i = 0;
+       for (; i < size; i++){
+               DemodBuffer[i]=buff[startIdx++];
        }
-       RepaintGraphWindow();
-       return 0;
+       DemodBufferLen=size;
+       return;
+}
+
+int CmdSetDebugMode(const char *Cmd)
+{
+  int demod=0;
+  sscanf(Cmd, "%i", &demod);
+  g_debugMode=(uint8_t)demod;
+  return 1;
+}
+
+//by marshmellow
+void printDemodBuff()
+{
+       uint32_t i = 0;
+       int bitLen = DemodBufferLen;
+       if (bitLen<16) {
+               PrintAndLog("no bits found in demod buffer");
+               return;
+       }
+       if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty
+       for (i = 0; i <= (bitLen-16); i+=16) {
+               PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i",
+                       DemodBuffer[i],
+                       DemodBuffer[i+1],
+                       DemodBuffer[i+2],
+                       DemodBuffer[i+3],
+                       DemodBuffer[i+4],
+                       DemodBuffer[i+5],
+                       DemodBuffer[i+6],
+                       DemodBuffer[i+7],
+                       DemodBuffer[i+8],
+                       DemodBuffer[i+9],
+                       DemodBuffer[i+10],
+                       DemodBuffer[i+11],
+                       DemodBuffer[i+12],
+                       DemodBuffer[i+13],
+                       DemodBuffer[i+14],
+                       DemodBuffer[i+15]);
+       }
+       return;
+}
+
+
+int CmdAmp(const char *Cmd)
+{
+  int i, rising, falling;
+  int max = INT_MIN, min = INT_MAX;
+
+  for (i = 10; i < GraphTraceLen; ++i) {
+    if (GraphBuffer[i] > max)
+      max = GraphBuffer[i];
+    if (GraphBuffer[i] < min)
+      min = GraphBuffer[i];
+  }
+
+  if (max != min) {
+    rising = falling= 0;
+    for (i = 0; i < GraphTraceLen; ++i) {
+      if (GraphBuffer[i + 1] < GraphBuffer[i]) {
+        if (rising) {
+          GraphBuffer[i] = max;
+          rising = 0;
+        }
+        falling = 1;
+      }
+      if (GraphBuffer[i + 1] > GraphBuffer[i]) {
+        if (falling) {
+          GraphBuffer[i] = min;
+          falling = 0;
+        }
+        rising= 1;
+      }
+    }
+  }
+  RepaintGraphWindow();
+  return 0;
 }
 
 /*
@@ -69,167 +128,183 @@ int CmdAmp(const char *Cmd)
  //this method is dependant on all highs and lows to be the same(or clipped)  this creates issues[marshmellow] it also ignores the clock
 int Cmdaskdemod(const char *Cmd)
 {
-       int i;
-       int c, high = 0, low = 0;
-
-       sscanf(Cmd, "%i", &c);
-
-       if (c != 0 && c != 1) {
-               PrintAndLog("Invalid argument: %s", Cmd);
-               return 0;
-       }
-
-       DetectHighLowInGraph( &high, &low, FALSE);
+  int i;
+  int c, high = 0, low = 0;
 
-       high = abs(high * .75);
-       low = abs(low * .75);
+  // TODO: complain if we do not give 2 arguments here !
+  // (AL - this doesn't make sense! we're only using one argument!!!)
+  sscanf(Cmd, "%i", &c);
 
-       //prime loop
-       if (GraphBuffer[0] > 0) {
-               GraphBuffer[0] = 1-c;
-       } else {
-               GraphBuffer[0] = c;
-       }
-       
-       for (i = 1; i < GraphTraceLen; ++i) {
-               /* Transitions are detected at each peak
-                * Transitions are either:
-                * - we're low: transition if we hit a high
-                * - we're high: transition if we hit a low
-                * (we need to do it this way because some tags keep high or
-                * low for long periods, others just reach the peak and go
-                * down)
-                */
+  /* Detect high and lows and clock */
+       // (AL - clock???)
+  for (i = 0; i < GraphTraceLen; ++i)
+  {
+    if (GraphBuffer[i] > high)
+      high = GraphBuffer[i];
+    else if (GraphBuffer[i] < low)
+      low = GraphBuffer[i];
+  }
+  high=abs(high*.75);
+  low=abs(low*.75);
+  if (c != 0 && c != 1) {
+    PrintAndLog("Invalid argument: %s", Cmd);
+    return 0;
+  }
+  //prime loop
+  if (GraphBuffer[0] > 0) {
+    GraphBuffer[0] = 1-c;
+  } else {
+    GraphBuffer[0] = c;
+  }
+  for (i = 1; i < GraphTraceLen; ++i) {
+    /* Transitions are detected at each peak
+     * Transitions are either:
+     * - we're low: transition if we hit a high
+     * - we're high: transition if we hit a low
+     * (we need to do it this way because some tags keep high or
+     * low for long periods, others just reach the peak and go
+     * down)
+     */
     //[marhsmellow] change == to >= for high and <= for low for fuzz
-               if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) {
-                 GraphBuffer[i] = 1 - c;
-               } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){
-                 GraphBuffer[i] = c;
-               } else {
-                 /* No transition */
-                 GraphBuffer[i] = GraphBuffer[i - 1];
-               }
-       }
+    if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) {
+      GraphBuffer[i] = 1 - c;
+    } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){
+      GraphBuffer[i] = c;
+    } else {
+      /* No transition */
+      GraphBuffer[i] = GraphBuffer[i - 1];
+    }
+  }
   RepaintGraphWindow();
   return 0;
 }
 
-void printBitStream(uint8_t bits[], uint32_t bitLen){
-
-       uint32_t i = 0;
-       if (bitLen < 16) {
-               PrintAndLog("Too few bits found: %d",bitLen);
-               return;
-       }
-       if (bitLen > 512) 
-               bitLen = 512;
-               
-       if ( ( bitLen % 16 ) > 0) {
-               bitLen = ((bitLen / 16) * 16);
-               PrintAndLog("ICE: equally divided with 16 = %d",bitLen);
-       }
-       
-       for (i = 0; i <= ( bitLen - 16); i += 16) {
-               PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i",
-                       bits[i],
-                       bits[i+1],
-                       bits[i+2],
-                       bits[i+3],
-                       bits[i+4],
-                       bits[i+5],
-                       bits[i+6],
-                       bits[i+7],
-                       bits[i+8],
-                       bits[i+9],
-                       bits[i+10],
-                       bits[i+11],
-                       bits[i+12],
-                       bits[i+13],
-                       bits[i+14],
-                       bits[i+15]);
-       }
-  return; 
+//by marshmellow
+void printBitStream(uint8_t BitStream[], uint32_t bitLen)
+{
+  uint32_t i = 0;
+  if (bitLen<16) {
+    PrintAndLog("Too few bits found: %d",bitLen);
+    return;
+  }
+  if (bitLen>512) bitLen=512;
+   for (i = 0; i <= (bitLen-16); i+=16) {
+    PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i",
+      BitStream[i],
+      BitStream[i+1],
+      BitStream[i+2],
+      BitStream[i+3],
+      BitStream[i+4],
+      BitStream[i+5],
+      BitStream[i+6],
+      BitStream[i+7],
+      BitStream[i+8],
+      BitStream[i+9],
+      BitStream[i+10],
+      BitStream[i+11],
+      BitStream[i+12],
+      BitStream[i+13],
+      BitStream[i+14],
+      BitStream[i+15]);
+  }
+       return;
 }
-
-void printEM410x(uint64_t id) {
-
-       if ( id <= 0 ) return;
-       
-       uint64_t id2lo = 0; 
-       uint32_t i,j;
-       i = j = 0;
-       
-       for (j = 5; j > 0; j--){
-               for (i = 0; i < 8; i++){
-                       id2lo = ( id2lo << 1LL)|((id & ( 1 << ( i +( ( j-1 ) * 8 )))) >> ( i + (( j-1) *8 )));
+//by marshmellow
+//print EM410x ID in multiple formats
+void printEM410x(uint64_t id)
+{
+  if (id !=0){
+      uint64_t iii=1;
+      uint64_t id2lo=0;
+      uint32_t ii=0;
+      uint32_t i=0;
+      for (ii=5; ii>0;ii--){
+        for (i=0;i<8;i++){
+                                       id2lo=(id2lo<<1LL) | ((id & (iii << (i+((ii-1)*8)))) >> (i+((ii-1)*8)));
+        }
+      }
+      //output em id
+      PrintAndLog("EM TAG ID    : %010llx", id);
+      PrintAndLog("Unique TAG ID: %010llx",  id2lo);
+      PrintAndLog("DEZ 8        : %08lld",id & 0xFFFFFF);
+      PrintAndLog("DEZ 10       : %010lld",id & 0xFFFFFF);
+      PrintAndLog("DEZ 5.5      : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF));
+      PrintAndLog("DEZ 3.5A     : %03lld.%05lld",(id>>32ll),(id & 0xFFFF));
+      PrintAndLog("DEZ 14/IK2   : %014lld",id);
+      PrintAndLog("DEZ 15/IK3   : %015lld",id2lo);
+      PrintAndLog("Other        : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF));
                }
-       }
-       //output em id
-       PrintAndLog("EM TAG ID    : %010llx", id);
-       PrintAndLog("Unique TAG ID: %010llx", id2lo);
-       PrintAndLog("DEZ 8        : %08lld", id & 0xFFFFFF);
-       PrintAndLog("DEZ 10       : %010lld", id & 0xFFFFFF);
-       PrintAndLog("DEZ 5.5      : %05lld.%05lld", (id>>16LL) & 0xFFFF, (id & 0xFFFF));
-       PrintAndLog("DEZ 3.5A     : %03lld.%05lld", (id>>32ll), (id & 0xFFFF));
-       PrintAndLog("DEZ 14/IK2   : %014lld", id);
-       PrintAndLog("DEZ 15/IK3   : %015lld", id2lo);
-       PrintAndLog("Other        : %05lld_%03lld_%08lld", (id & 0xFFFF), (( id >> 16LL) & 0xFF), (id & 0xFFFFFF));
+    return;
 }
 
+//by marshmellow
+//take binary from demod buffer and see if we can find an EM410x ID
 int CmdEm410xDecode(const char *Cmd)
 {
-       uint64_t id = 0;
-       uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00};
-       uint32_t len = GetFromGraphBuf(bits);
-       id = Em410xDecode(bits, len);
-       printEM410x(id);
-       if ( id > 0 ) 
-               return 1;
-       return 0;
+  uint64_t id=0;
+  size_t size = DemodBufferLen, idx=0;
+       id = Em410xDecode(DemodBuffer, &size, &idx);
+  if (id>0){
+    setDemodBuf(DemodBuffer, size, idx);
+    if (g_debugMode){
+      PrintAndLog("DEBUG: Printing demod buffer:");
+      printDemodBuff();
+    }
+    printEM410x(id);
+    return 1; 
+  }
+  return 0;
 }
 
+
 //by marshmellow
-//takes 2 arguments - clock and invert both as integers 
-//attempts to demodulate ask while decoding manchester 
+//takes 2 arguments - clock and invert both as integers
+//attempts to demodulate ask while decoding manchester
 //prints binary found and saves in graphbuffer for further commands
 int Cmdaskmandemod(const char *Cmd)
 {
-       int invert = 0; 
-       int clk = 0; 
-
-       sscanf(Cmd, "%i %i", &clk, &invert);    
-
-       if (invert != 0 && invert != 1) {
-               PrintAndLog("Invalid argument: %s", Cmd);
-               return 0;
-       }
-  
-       uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00};
-       uint32_t len = GetFromGraphBuf(bits);
-
-       int errCnt = askmandemod(bits, &len, &clk, &invert);
-
-       if (errCnt < 0) return 0;
-       if (len < 16) return 0;
-  
-       PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,len);
+  int invert=0;
+       int clk=0;
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+       sscanf(Cmd, "%i %i", &clk, &invert);
+  if (invert != 0 && invert != 1) {
+    PrintAndLog("Invalid argument: %s", Cmd);
+    return 0;
+  }
 
-       if (errCnt > 0){
-               PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt);
+       size_t BitLen = getFromGraphBuf(BitStream);
+  if (g_debugMode==1) PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen);
+  int errCnt=0;
+   errCnt = askmandemod(BitStream, &BitLen,&clk,&invert);
+       if (errCnt<0||BitLen<16){  //if fatal error (or -1)
+               if (g_debugMode==1) PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk);
+    return 0;
        }
-  
-       PrintAndLog("ASK/Manchester decoded bitstream:");
+  PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen);
 
-       printBitStream(bits, len);
-
-       uint64_t tagid = Em410xDecode(bits, len);
-
-       if (tagid > 0){
-               SetGraphBuf(bits, len); 
-               printEM410x(tagid);
-               return 1;
-       }
-       return 0;
+  //output
+  if (errCnt>0){
+    PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt);
+  }
+  PrintAndLog("ASK/Manchester decoded bitstream:");
+  // Now output the bitstream to the scrollback by line of 16 bits
+       setDemodBuf(BitStream,BitLen,0);
+       printDemodBuff();
+  uint64_t lo =0;
+  size_t idx=0;
+  lo = Em410xDecode(BitStream, &BitLen, &idx);
+  if (lo>0){
+    //set GraphBuffer for clone or sim command
+    setDemodBuf(BitStream, BitLen, idx);
+    if (g_debugMode){
+      PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen);
+      printDemodBuff();
+    }
+    PrintAndLog("EM410x pattern found: ");
+    printEM410x(lo);
+    return 1;
+  }
+  return 0;
 }
 
 //by marshmellow
@@ -237,136 +312,120 @@ int Cmdaskmandemod(const char *Cmd)
 //stricktly take 10 and 01 and convert to 0 and 1
 int Cmdmandecoderaw(const char *Cmd)
 {
-       int i = 0;
-       int errCnt = 0;
-       int bitnum = 0;
-       uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00};
-       int high = 0, low = 0;
-
-       for (; i < GraphTraceLen; ++i){
-               if (GraphBuffer[i] > high) high = GraphBuffer[i];
-               else if (GraphBuffer[i] < low) low = GraphBuffer[i];
-               bits[i] = GraphBuffer[i];
-       }
-       
-       if (high > 1 || low < 0 ){
-               PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode");
-               return 0;
-       }
-
-       bitnum = i;
-       errCnt = manrawdecode(bits, &bitnum);
-
-       if (errCnt>=20){
-               PrintAndLog("Too many errors: %d",errCnt);
-               return 0;
-       }
-       
-       PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt);
-       printBitStream(bits,bitnum);
-
-       if (errCnt==0){
-       //put back in graphbuffer
-       SetGraphBuf(bits, bitnum);
-
-       uint64_t id = Em410xDecode(bits,i);
-       printEM410x(id);     
-       }
-       return 1;
+  int i =0;
+  int errCnt=0;
+       size_t size=0;
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+  int high=0,low=0;
+       for (;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)
@@ -404,8 +463,8 @@ int CmdAutoCorr(const char *Cmd)
 int CmdBitsamples(const char *Cmd)
 {
   int cnt = 0;
-  uint8_t got[10000];
-  
+  uint8_t got[12288];
+
   GetFromBigBuf(got,sizeof(got),0);
   WaitForResponse(CMD_ACK,NULL);
 
@@ -437,10 +496,16 @@ int CmdBitstream(const char *Cmd)
   int hithigh, hitlow, first;
 
   /* Detect high and lows and clock */
-  DetectHighLowInGraph( &high, &low, FALSE); 
+  for (i = 0; i < GraphTraceLen; ++i)
+  {
+    if (GraphBuffer[i] > high)
+      high = GraphBuffer[i];
+    else if (GraphBuffer[i] < low)
+      low = GraphBuffer[i];
+  }
 
   /* Get our clock */
-  clock = GetClock(Cmd, 0);
+  clock = GetClock(Cmd, high, 1);
   gtl = ClearGraph(0);
 
   bit = 0;
@@ -496,11 +561,34 @@ int CmdDec(const char *Cmd)
   return 0;
 }
 
+//by marshmellow
+//shift graph zero up or down based on input + or -
+int CmdGraphShiftZero(const char *Cmd)
+{
+
+  int shift=0;
+  //set options from parameters entered with the command
+  sscanf(Cmd, "%i", &shift);
+  int shiftedVal=0;
+  for(int i = 0; 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;
 }
 
@@ -510,48 +598,54 @@ int CmdDetectClockRate(const char *Cmd)
 //defaults: clock = 50, invert=0, rchigh=10, rclow=8 (RF/10 RF/8 (fsk2a))
 int CmdFSKrawdemod(const char *Cmd)
 {
-       //raw fsk demod no manchester decoding no start bit finding just get binary from wave
-       int rfLen = 50;
-       int invert = 0;
-       int fchigh = 10;
-       int fclow = 8;
-
-       //set options from parameters entered with the command
-       sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow);    
-  
-       // A lots of checks if chigh, clow is out-of bounds.
-  
-       if (strlen(Cmd)>0 && strlen(Cmd)<=2) {
-               
-               rfLen = 50;
-               
-               //if invert option only is used
-               if (rfLen == 1){
-                       invert=1;   
-               }
-       } 
-       
-       PrintAndLog("Args invert: %d - Clock:%d - FC high:%d - FC low: %d",invert,rfLen,fchigh, fclow);
-
-       uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00};
-       uint32_t len = GetFromGraphBuf(bits);
-
-       int size  = fskdemod(bits, len,(uint8_t)rfLen, (uint8_t)invert, (uint8_t)fchigh, (uint8_t)fclow); 
-
-       if (size > 0) {
-               PrintAndLog("FSK decoded bitstream:");
-               
-               SetGraphBuf(bits, size);
-  
-               // Now output the bitstream to the scrollback by line of 16 bits
-               // only output a max of 8 blocks of 32 bits  most tags will have full bit stream inside that sample size
-               if(size > (8*32)+2)
-                       size = (8*32)+2; 
-               printBitStream(bits,size);
-       } else {
-               PrintAndLog("no FSK data found");
+  //raw fsk demod  no manchester decoding no start bit finding just get binary from wave
+  //set defaults
+  int rfLen = 0;
+  int invert=0;
+  int fchigh=0;
+  int fclow=0;
+  //set options from parameters entered with the command
+       sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow);
+
+  if (strlen(Cmd)>0 && strlen(Cmd)<=2) {
+     if (rfLen==1){
+      invert=1;   //if invert option only is used
+      rfLen = 0;
+     }
        }
-       return 0;
+
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+       size_t BitLen = getFromGraphBuf(BitStream);
+  //get field clock lengths
+  uint16_t fcs=0;
+  if (fchigh==0 || fclow == 0){
+    fcs=countFC(BitStream, BitLen);
+    if (fcs==0){
+      fchigh=10;
+      fclow=8;
+    }else{
+      fchigh = (fcs >> 8) & 0xFF;
+      fclow = fcs & 0xFF;
+    }
+  }
+  //get bit clock length
+  if (rfLen==0){
+    rfLen = detectFSKClk(BitStream, BitLen, fchigh, fclow);
+    if (rfLen == 0) rfLen = 50;
+  }
+  PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow);
+       int size  = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow);
+  if (size>0){
+    PrintAndLog("FSK decoded bitstream:");
+               setDemodBuf(BitStream,size,0);
+
+    // Now output the bitstream to the scrollback by line of 16 bits
+    if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits  most tags will have full bit stream inside that sample size
+    printBitStream(BitStream,size);
+  } else{
+    PrintAndLog("no FSK data found");
+  }
+  return 0;
 }
 
 //by marshmellow (based on existing demod + holiman's refactor)
@@ -559,158 +653,435 @@ int CmdFSKrawdemod(const char *Cmd)
 //print full HID Prox ID and some bit format details if found
 int CmdFSKdemodHID(const char *Cmd)
 {
-       //raw fsk demod no manchester decoding no start bit finding just get binary from wave
-       uint32_t hi2=0, hi=0, lo=0;
-
-       uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0x00};
-       uint32_t BitLen = GetFromGraphBuf(BitStream);
-
-       //get binary from fsk wave
-       size_t size  = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); 
-
-       if (size < 0){
-               PrintAndLog("Error demoding fsk");
-               return 0;
-       }
-       
-       if (hi2==0 && hi==0 && lo==0) return 0;
-
-       //extra large HID tags  
-       if (hi2 != 0){
-               PrintAndLog("TAG ID: %x%08x%08x (%d)",
-                                               (unsigned int) hi2,
-                                               (unsigned int) hi,
-                                               (unsigned int) lo,
-                                               (unsigned int) (lo>>1) & 0xFFFF);
-               SetGraphBuf(BitStream,BitLen);
-               return 1;
-       } else {  
-               //standard HID tags <38 bits
-               uint8_t fmtLen = 0;
-               uint32_t fc = 0;
-               uint32_t cardnum = 0;
-               
-               //if bit 38 is set then < 37 bit format is used
-               if (((hi>>5) & 1)==1){
-                       uint32_t lo2 = 0;
-                       
-                        //get bits 21-37 to check for format len bit
-                       lo2 = (((hi & 15) << 12) | (lo>>20));
-                       uint8_t idx3 = 1;
-
-                       //find last bit set to 1 (format len bit)
-                       while( lo2 > 1){ 
-                               lo2=lo2>>1;
-                               idx3++;
-                       }
-                       fmtLen = idx3 + 19;  
-                       fc = 0;
-                       cardnum = 0;
-                       
-                       if(fmtLen==26){
-                               cardnum = (lo>>1)&0xFFFF;
-                               fc = (lo>>17)&0xFF;
-                       }
-                       if(fmtLen==37){
-                cardnum = (lo>>1)&0x7FFFF;
-                fc = ((hi&0xF)<<12)|(lo>>20);
-              }
-                       if(fmtLen==34){
-                cardnum = (lo>>1)&0xFFFF;
-                fc= ((hi&1)<<15)|(lo>>17);
-                       }
-                       if(fmtLen==35){
-                cardnum = (lo>>1)&0xFFFFF;
-                fc = ((hi&1)<<11)|(lo>>21);
-                       }
-               } else { 
-                       //if bit 38 is not set then 37 bit format is used
-                       fmtLen= 37;
-                       fc =0;
-                       cardnum=0;
-                       
-                       if (fmtLen==37){
-                cardnum = (lo>>1) & 0x7FFFF;
-                fc = ((hi&0xF) << 12) | (lo >> 20);
-              }
+  //raw fsk demod no manchester decoding no start bit finding just get binary from wave
+  uint32_t hi2=0, hi=0, lo=0;
+
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+       size_t BitLen = getFromGraphBuf(BitStream);
+  //get binary from fsk wave
+       int idx  = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo);
+  if (idx<0){
+    if (g_debugMode){
+      if (idx==-1){
+        PrintAndLog("DEBUG: Just Noise Detected");     
+      } else if (idx == -2) {
+        PrintAndLog("DEBUG: Error demoding fsk");
+      } else if (idx == -3) {
+        PrintAndLog("DEBUG: Preamble not found");
+      } else if (idx == -4) {
+        PrintAndLog("DEBUG: Error in Manchester data, SIZE: %d", BitLen);
+      } else {
+        PrintAndLog("DEBUG: Error demoding fsk %d", idx);
+      }   
+    }
+    return 0;
+  }
+  if (hi2==0 && hi==0 && lo==0) {
+    if (g_debugMode) PrintAndLog("DEBUG: Error - no values found");
+    return 0;
+  }
+  if (hi2 != 0){ //extra large HID tags
+               PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)",
+       (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF);
+  }
+  else {  //standard HID tags <38 bits
+    uint8_t fmtLen = 0;
+    uint32_t fc = 0;
+    uint32_t cardnum = 0;
+    if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used
+      uint32_t lo2=0;
+      lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit
+      uint8_t idx3 = 1;
+      while(lo2>1){ //find last bit set to 1 (format len bit)
+        lo2=lo2>>1;
+        idx3++;
+      }
+                       fmtLen =idx3+19;
+      fc =0;
+      cardnum=0;
+      if(fmtLen==26){
+        cardnum = (lo>>1)&0xFFFF;
+        fc = (lo>>17)&0xFF;
+      }
+      if(fmtLen==34){
+        cardnum = (lo>>1)&0xFFFF;
+        fc= ((hi&1)<<15)|(lo>>17);
+      }
+      if(fmtLen==35){
+        cardnum = (lo>>1)&0xFFFFF;
+        fc = ((hi&1)<<11)|(lo>>21);
+      }
+    }
+    else { //if bit 38 is not set then 37 bit format is used
+      fmtLen = 37;
+      fc = 0;
+      cardnum = 0;
+      if(fmtLen == 37){
+        cardnum = (lo>>1)&0x7FFFF;
+        fc = ((hi&0xF)<<12)|(lo>>20);
+      }
                }
-               PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d",
-                                               (unsigned int) hi,
-                                               (unsigned int) lo,
-                                               (unsigned int) (lo>>1) & 0xFFFF,
-                                               (unsigned int) fmtLen, 
-                                               (unsigned int) fc, 
-                                               (unsigned int) cardnum);
-    SetGraphBuf(BitStream,BitLen);
-    return 1;
-          }
-  return 0;
+               PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d",
+      (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF,
+      (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum);
+  }
+  setDemodBuf(BitStream,BitLen,idx);
+  if (g_debugMode){ 
+    PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen);
+    printDemodBuff();
+  }
+  return 1;
+}
+
+//by marshmellow
+//Paradox Prox demod - FSK RF/50 with preamble of 00001111 (then manchester encoded)
+//print full Paradox Prox ID and some bit format details if found
+int CmdFSKdemodParadox(const char *Cmd)
+{
+  //raw fsk demod no manchester decoding no start bit finding just get binary from wave
+  uint32_t hi2=0, hi=0, lo=0;
+
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+  size_t BitLen = getFromGraphBuf(BitStream);
+  //get binary from fsk wave
+  int idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo);
+  if (idx<0){
+    if (g_debugMode){
+      if (idx==-1){
+        PrintAndLog("DEBUG: Just Noise Detected");     
+      } else if (idx == -2) {
+        PrintAndLog("DEBUG: Error demoding fsk");
+      } else if (idx == -3) {
+        PrintAndLog("DEBUG: Preamble not found");
+      } else if (idx == -4) {
+        PrintAndLog("DEBUG: Error in Manchester data");
+      } else {
+        PrintAndLog("DEBUG: Error demoding fsk %d", idx);
+      }
+    }
+    return 0;
+  }
+  if (hi2==0 && hi==0 && lo==0){
+    if (g_debugMode) PrintAndLog("DEBUG: Error - no value found");
+    return 0;
+  }
+  uint32_t fc = ((hi & 0x3)<<6) | (lo>>26);
+  uint32_t cardnum = (lo>>10)&0xFFFF;
+  
+  PrintAndLog("Paradox TAG ID: %x%08x - FC: %d - Card: %d - Checksum: %02x",
+    hi>>10, (hi & 0x3)<<26 | (lo>>10), fc, cardnum, (lo>>2) & 0xFF );
+  setDemodBuf(BitStream,BitLen,idx);
+  if (g_debugMode){ 
+    PrintAndLog("DEBUG: idx: %d, len: %d, Printing Demod Buffer:", idx, BitLen);
+    printDemodBuff();
+  }
+  return 1;
 }
 
+
 //by marshmellow
 //IO-Prox demod - FSK RF/64 with preamble of 000000001
 //print ioprox ID and some format details
 int CmdFSKdemodIO(const char *Cmd)
 {
-       if (GraphTraceLen < 65) {
-               PrintAndLog("data samples size is too small");
-               return 0;
-       }
+  //raw fsk demod no manchester decoding no start bit finding just get binary from wave
+  //set defaults
+       int idx=0;
+  //something in graphbuffer?
+  if (GraphTraceLen < 65) {
+    if (g_debugMode)PrintAndLog("DEBUG: not enough samples in GraphBuffer");
+    return 0;
+  }
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+       size_t BitLen = getFromGraphBuf(BitStream);
+
+  //get binary from fsk wave
+       idx = IOdemodFSK(BitStream,BitLen);
+  if (idx<0){
+    if (g_debugMode){
+      if (idx==-1){
+        PrintAndLog("DEBUG: Just Noise Detected");     
+      } else if (idx == -2) {
+        PrintAndLog("DEBUG: not enough samples");
+      } else if (idx == -3) {
+        PrintAndLog("DEBUG: error during fskdemod");        
+      } else if (idx == -4) {
+        PrintAndLog("DEBUG: Preamble not found");
+      } else if (idx == -5) {
+        PrintAndLog("DEBUG: Separator bits not found");
+      } else {
+        PrintAndLog("DEBUG: Error demoding fsk %d", idx);
+      }
+    }
+    return 0;
+  }
+  if (idx==0){
+    if (g_debugMode==1){
+      PrintAndLog("DEBUG: IO Prox Data not found - FSK Bits: %d",BitLen);
+      if (BitLen > 92) printBitStream(BitStream,92);
+    } 
+    return 0;
+  }
+    //Index map
+    //0           10          20          30          40          50          60
+    //|           |           |           |           |           |           |
+    //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23
+    //-----------------------------------------------------------------------------
+    //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11
+    //
+    //XSF(version)facility:codeone+codetwo (raw)
+    //Handle the data
+  if (idx+64>BitLen) {
+    if (g_debugMode==1) PrintAndLog("not enough bits found - bitlen: %d",BitLen);
+    return 0;
+  }
+  PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx],    BitStream[idx+1],  BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]);
+       PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9],  BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]);
+  PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]);
+  PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]);
+  PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]);
+  PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]);
+  PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]);
+
+  uint32_t code = bytebits_to_byte(BitStream+idx,32);
+       uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32);
+  uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4
+  uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ;
+  uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9
+       PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2);
+  setDemodBuf(BitStream,64,idx);
+       if (g_debugMode){
+    PrintAndLog("DEBUG: idx: %d, Len: %d, Printing demod buffer:",idx,64);
+    printDemodBuff();
+  }
+       return 1;
+}
 
-       //raw fsk demod no manchester decoding no start bit finding just get binary from wave
-       //set defaults
-       int idx = 0; 
-       uint8_t bits[MAX_GRAPH_TRACE_LEN] = {0x00};
-       uint32_t bitlen = GetFromGraphBuf(bits);
 
-       //get binary from fsk wave
-       idx = IOdemodFSK(bits, bitlen); 
-  
-       if (idx == 0) {
-               return 0;
-       }
-       if (idx == -1) {
-               PrintAndLog("data samples size is too small");
-               return 0;
-       }
-       if (idx == -2) {
-               PrintAndLog("Data samples has too much noice");
-               return 0;
-       }
-       if (idx == -3){
-               PrintAndLog("No good demod");
-               return 0;
-       }
-  
-       if (idx+64 > bitlen) return 0;
+//by marshmellow
+//AWID Prox demod - FSK RF/50 with preamble of 00000001  (always a 96 bit data stream)
+//print full AWID Prox ID and some bit format details if found
+int CmdFSKdemodAWID(const char *Cmd)
+{
+
+  //int verbose=1;
+  //sscanf(Cmd, "%i", &verbose);
+
+  //raw fsk demod no manchester decoding no start bit finding just get binary from wave
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+  size_t size = getFromGraphBuf(BitStream);
+
+  //get binary from fsk wave
+  int idx = AWIDdemodFSK(BitStream, &size);
+  if (idx<=0){
+    if (g_debugMode==1){
+      if (idx == -1)
+        PrintAndLog("DEBUG: Error - not enough samples");
+      else if (idx == -2)
+        PrintAndLog("DEBUG: Error - only noise found");
+      else if (idx == -3)
+        PrintAndLog("DEBUG: Error - problem during FSK demod");
+    //  else if (idx == -3)
+    //    PrintAndLog("Error: thought we had a tag but the parity failed");
+      else if (idx == -4)
+        PrintAndLog("DEBUG: Error - AWID preamble not found");
+      else if (idx == -5)
+        PrintAndLog("DEBUG: Error - Size not correct: %d", size);
+      else
+        PrintAndLog("DEBUG: Error %d",idx);
+    }
+    return 0;
+  }
+
+  // Index map
+  // 0            10            20            30              40            50              60
+  // |            |             |             |               |             |               |
+  // 01234567 890 1 234 5 678 9 012 3 456 7 890 1 234 5 678 9 012 3 456 7 890 1 234 5 678 9 012 3 - to 96
+  // -----------------------------------------------------------------------------
+  // 00000001 000 1 110 1 101 1 011 1 101 1 010 0 000 1 000 1 010 0 001 0 110 1 100 0 000 1 000 1
+  // premable bbb o bbb o bbw o fff o fff o ffc o ccc o ccc o ccc o ccc o ccc o wxx o xxx o xxx o - to 96
+  //          |---26 bit---|    |-----117----||-------------142-------------|
+  // b = format bit len, o = odd parity of last 3 bits
+  // f = facility code, c = card number
+  // w = wiegand parity
+  // (26 bit format shown)
+  //get raw ID before removing parities
+  uint32_t rawLo = bytebits_to_byte(BitStream+idx+64,32);
+  uint32_t rawHi = bytebits_to_byte(BitStream+idx+32,32);
+  uint32_t rawHi2 = bytebits_to_byte(BitStream+idx,32);
+  setDemodBuf(BitStream,96,idx);
+
+  size = removeParity(BitStream, idx+8, 4, 1, 88);
+  if (size != 66){
+    if (g_debugMode==1) PrintAndLog("DEBUG: Error - at parity check-tag size does not match AWID format");
+    return 0;
+  }
+  // ok valid card found!
+
+  // Index map
+  // 0           10         20        30          40        50        60
+  // |           |          |         |           |         |         |
+  // 01234567 8 90123456 7890123456789012 3 456789012345678901234567890123456
+  // -----------------------------------------------------------------------------
+  // 00011010 1 01110101 0000000010001110 1 000000000000000000000000000000000
+  // bbbbbbbb w ffffffff cccccccccccccccc w xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+  // |26 bit|   |-117--| |-----142------|
+  // b = format bit len, o = odd parity of last 3 bits
+  // f = facility code, c = card number
+  // w = wiegand parity
+  // (26 bit format shown)
+
+  uint32_t fc = 0;
+  uint32_t cardnum = 0;
+  uint32_t code1 = 0;
+  uint32_t code2 = 0;
+  uint8_t fmtLen = bytebits_to_byte(BitStream,8);
+  if (fmtLen==26){
+    fc = bytebits_to_byte(BitStream+9, 8);
+    cardnum = bytebits_to_byte(BitStream+17, 16);
+    code1 = bytebits_to_byte(BitStream+8,fmtLen);
+    PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %d - Wiegand: %x, Raw: %x%08x%08x", fmtLen, fc, cardnum, code1, rawHi2, rawHi, rawLo);
+  } else {
+    cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16);
+    if (fmtLen>32){
+      code1 = bytebits_to_byte(BitStream+8,fmtLen-32);
+      code2 = bytebits_to_byte(BitStream+8+(fmtLen-32),32);
+      PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x%08x, Raw: %x%08x%08x", fmtLen, cardnum, code1, code2, rawHi2, rawHi, rawLo);
+    } else{
+      code1 = bytebits_to_byte(BitStream+8,fmtLen);
+      PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x, Raw: %x%08x%08x", fmtLen, cardnum, code1, rawHi2, rawHi, rawLo);
+    }
+  }
+  if (g_debugMode){
+    PrintAndLog("DEBUG: idx: %d, Len: %d Printing Demod Buffer:", idx, 96);
+    printDemodBuff();
+  }
+  //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands
+  return 1;
+}
+
+//by marshmellow
+//Pyramid Prox demod - FSK RF/50 with preamble of 0000000000000001  (always a 128 bit data stream)
+//print full Farpointe Data/Pyramid Prox ID and some bit format details if found
+int CmdFSKdemodPyramid(const char *Cmd)
+{
+  //raw fsk demod no manchester decoding no start bit finding just get binary from wave
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+  size_t size = getFromGraphBuf(BitStream);
+
+  //get binary from fsk wave
+  int idx = PyramiddemodFSK(BitStream, &size);
+  if (idx < 0){
+    if (g_debugMode==1){
+      if (idx == -5)
+        PrintAndLog("DEBUG: Error - not enough samples");
+      else if (idx == -1)
+        PrintAndLog("DEBUG: Error - only noise found");
+      else if (idx == -2)
+        PrintAndLog("DEBUG: Error - problem during FSK demod");
+      else if (idx == -3)
+        PrintAndLog("DEBUG: Error - Size not correct: %d", size);
+      else if (idx == -4)
+        PrintAndLog("DEBUG: Error - Pyramid preamble not found");
+      else
+        PrintAndLog("DEBUG: Error - idx: %d",idx);
+    }
+    return 0;
+  }
+  // Index map
+  // 0           10          20          30            40          50          60
+  // |           |           |           |             |           |           |
+  // 0123456 7 8901234 5 6789012 3 4567890 1 2345678 9 0123456 7 8901234 5 6789012 3
+  // -----------------------------------------------------------------------------
+  // 0000000 0 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1
+  // premable  xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o
+
+  // 64    70            80          90          100         110           120
+  // |     |             |           |           |           |             |
+  // 4567890 1 2345678 9 0123456 7 8901234 5 6789012 3 4567890 1 2345678 9 0123456 7
+  // -----------------------------------------------------------------------------
+  // 0000000 1 0000000 1 0000000 1 0110111 0 0011000 1 0000001 0 0001100 1 1001010 0
+  // xxxxxxx o xxxxxxx o xxxxxxx o xswffff o ffffccc o ccccccc o ccccccw o ppppppp o
+  //                                  |---115---||---------71---------|
+  // s = format start bit, o = odd parity of last 7 bits
+  // f = facility code, c = card number
+  // w = wiegand parity, x = extra space for other formats
+  // p = unknown checksum
+  // (26 bit format shown)
   
-       //Index map
-       //0           10          20          30          40          50          60
-       //|           |           |           |           |           |           |
-       //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23
-       //-----------------------------------------------------------------------------
-       //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11
-       //
-       //XSF(version)facility:codeone+codetwo (raw)
-       //Handle the data
-
-       PrintAndLog("%d%d%d%d%d%d%d%d %d",                      bits[idx]   , bits[idx+1],  bits[idx+2], bits[idx+3], bits[idx+4], bits[idx+5], bits[idx+6], bits[idx+7], bits[idx+8]);
-       PrintAndLog("%d%d%d%d%d%d%d%d %d",                      bits[idx+9] , bits[idx+10], bits[idx+11], bits[idx+12], bits[idx+13], bits[idx+14], bits[idx+15], bits[idx+16], bits[idx+17]);       
-       PrintAndLog("%d%d%d%d%d%d%d%d %d facility", bits[idx+18], bits[idx+19], bits[idx+20], bits[idx+21], bits[idx+22], bits[idx+23], bits[idx+24], bits[idx+25], bits[idx+26]);
-       PrintAndLog("%d%d%d%d%d%d%d%d %d version",      bits[idx+27], bits[idx+28], bits[idx+29], bits[idx+30], bits[idx+31], bits[idx+32], bits[idx+33], bits[idx+34], bits[idx+35]);
-       PrintAndLog("%d%d%d%d%d%d%d%d %d code1",        bits[idx+36], bits[idx+37], bits[idx+38], bits[idx+39], bits[idx+40], bits[idx+41], bits[idx+42], bits[idx+43], bits[idx+44]);
-       PrintAndLog("%d%d%d%d%d%d%d%d %d code2",        bits[idx+45], bits[idx+46], bits[idx+47], bits[idx+48], bits[idx+49], bits[idx+50], bits[idx+51], bits[idx+52], bits[idx+53]);
-       PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum", bits[idx+54], bits[idx+55], bits[idx+56], bits[idx+57], bits[idx+58], bits[idx+59], bits[idx+60], bits[idx+61], bits[idx+62], bits[idx+63]);
-
-       uint32_t code = bytebits_to_byte(bits+idx,32);
-       uint32_t code2 = bytebits_to_byte(bits+idx+32,32); 
-       uint8_t version = bytebits_to_byte(bits+idx+27,8); //14,4
-       uint8_t facilitycode = bytebits_to_byte(bits+idx+18,8) ;
-       uint16_t number = (bytebits_to_byte(bits+idx+36,8)<<8)|(bytebits_to_byte(bits+idx+45,8)); //36,9
-                 
-       PrintAndLog("XSF(%02d)%02x:%05d (%08x%08x)", version, facilitycode, number, code, code2);    
-       SetGraphBuf(bits, bitlen);
-       return 1;
+  //get raw ID before removing parities
+  uint32_t rawLo = bytebits_to_byte(BitStream+idx+96,32);
+  uint32_t rawHi = bytebits_to_byte(BitStream+idx+64,32);
+  uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32);
+  uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32);
+  setDemodBuf(BitStream,128,idx);
+
+  size = removeParity(BitStream, idx+8, 8, 1, 120);
+  if (size != 105){
+    if (g_debugMode==1) PrintAndLog("DEBUG: Error at parity check-tag size does not match Pyramid format, SIZE: %d, IDX: %d, hi3: %x",size, idx, rawHi3);
+    return 0;
+  }
+
+  // ok valid card found!
+
+  // Index map
+  // 0         10        20        30        40        50        60        70
+  // |         |         |         |         |         |         |         |
+  // 01234567890123456789012345678901234567890123456789012345678901234567890
+  // -----------------------------------------------------------------------
+  // 00000000000000000000000000000000000000000000000000000000000000000000000
+  // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+  // 71         80         90          100
+  // |          |          |           |
+  // 1 2 34567890 1234567890123456 7 8901234
+  // ---------------------------------------
+  // 1 1 01110011 0000000001000110 0 1001010
+  // s w ffffffff cccccccccccccccc w ppppppp
+  //     |--115-| |------71------|
+  // s = format start bit, o = odd parity of last 7 bits
+  // f = facility code, c = card number
+  // w = wiegand parity, x = extra space for other formats
+  // p = unknown checksum
+  // (26 bit format shown)
+
+  //find start bit to get fmtLen
+  int j;
+  for (j=0; 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
@@ -831,6 +1202,214 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating
   return 0;
 }
 
+//by marshmellow
+//attempt to detect the field clock and bit clock for FSK
+int CmdFSKfcDetect(const char *Cmd)
+{
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+  size_t size = getFromGraphBuf(BitStream);
+
+  uint16_t ans = countFC(BitStream, size); 
+  if (ans==0) {
+    if (g_debugMode) PrintAndLog("DEBUG: No data found");
+    return 0;
+  }
+  uint8_t fc1, fc2;
+  fc1 = (ans >> 8) & 0xFF;
+  fc2 = ans & 0xFF;
+
+  uint8_t rf1 = detectFSKClk(BitStream, size, fc1, fc2);
+  if (rf1==0) {
+    if (g_debugMode) PrintAndLog("DEBUG: Clock detect error");
+    return 0;
+  }
+  PrintAndLog("Detected Field Clocks: FC/%d, FC/%d - Bit Clock: RF/%d", fc1, fc2, rf1);
+  return 1;
+}
+
+//by marshmellow
+//attempt to detect the bit clock for PSK or NRZ modulations
+int CmdDetectNRZpskClockRate(const char *Cmd)
+{
+       GetNRZpskClock("",0,0);
+       return 0;
+}
+
+//by marshmellow
+//attempt to psk1 or nrz demod graph buffer
+//NOTE CURRENTLY RELIES ON PEAKS :(
+int PSKnrzDemod(const char *Cmd, uint8_t verbose)
+{
+       int invert=0;
+       int clk=0;
+       sscanf(Cmd, "%i %i", &clk, &invert);
+       if (invert != 0 && invert != 1) {
+               PrintAndLog("Invalid argument: %s", Cmd);
+               return -1;
+       }
+       uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
+       size_t BitLen = getFromGraphBuf(BitStream);
+       int errCnt=0;
+       errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert);
+       if (errCnt<0|| BitLen<16){  //throw away static - allow 1 and -1 (in case of threshold command first)
+               if (g_debugMode==1) PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt);
+               return -1;
+       }
+  if (verbose) PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen);
+
+       //prime demod buffer for output
+       setDemodBuf(BitStream,BitLen,0);
+       return errCnt;
+}
+// Indala 26 bit decode
+// by marshmellow
+// optional arguments - same as CmdpskNRZrawDemod (clock & invert)
+int CmdIndalaDecode(const char *Cmd)
+{
+  int ans;
+  if (strlen(Cmd)>0){
+    ans = PSKnrzDemod(Cmd, 0);
+  } else{ //default to RF/32
+    ans = PSKnrzDemod("32", 0);
+  }
+
+       if (ans < 0){
+               if (g_debugMode==1) 
+      PrintAndLog("Error1: %d",ans);
+               return 0;
+       }
+       uint8_t invert=0;
+       ans = indala26decode(DemodBuffer,(size_t *) &DemodBufferLen, &invert);
+       if (ans < 1) {
+               if (g_debugMode==1)
+      PrintAndLog("Error2: %d",ans);
+               return -1;
+       }
+       char showbits[251]={0x00};
+       if (invert)
+    if (g_debugMode==1)
+      PrintAndLog("Had to invert bits");
+
+       //convert UID to HEX
+       uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7;
+       int idx;
+       uid1=0;
+       uid2=0;
+       PrintAndLog("BitLen: %d",DemodBufferLen);
+       if (DemodBufferLen==64){
+               for( idx=0; idx<64; idx++) {
+                       uid1=(uid1<<1)|(uid2>>31);
+                       if (DemodBuffer[idx] == 0) {
+                               uid2=(uid2<<1)|0;
+                               showbits[idx]='0';
+                       } else {
+                               uid2=(uid2<<1)|1;
+                               showbits[idx]='1';
+                       }
+               }
+               showbits[idx]='\0';
+               PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2);
+       }
+       else {
+               uid3=0;
+               uid4=0;
+               uid5=0;
+               uid6=0;
+               uid7=0;
+               for( idx=0; idx<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);
@@ -847,8 +1426,8 @@ int CmdHexsamples(const char *Cmd)
   int offset = 0;
   char string_buf[25];
   char* string_ptr = string_buf;
-  uint8_t got[40000];
+  uint8_t got[BIGBUF_SIZE];
+
   sscanf(Cmd, "%i %i", &requested, &offset);
 
   /* if no args send something */
@@ -856,9 +1435,9 @@ int CmdHexsamples(const char *Cmd)
     requested = 8;
   }
   if (offset + requested > sizeof(got)) {
-    PrintAndLog("Tried to read past end of buffer, <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);
@@ -878,8 +1457,8 @@ int CmdHexsamples(const char *Cmd)
       *(string_ptr - 1) = '\0';
       PrintAndLog("%s", string_buf);
       string_buf[0] = '\0';
-    }  
   }
+       }
   return 0;
 }
 
@@ -906,19 +1485,19 @@ int CmdHpf(const char *Cmd)
 
 int CmdSamples(const char *Cmd)
 {
-       uint8_t got[40000] = {0x00};
+       uint8_t got[BIGBUF_SIZE] = {0x00};
 
        int n = strtol(Cmd, NULL, 0);
-       if (n == 0) 
+       if (n == 0)
                n = 20000;
-               
-       if (n > sizeof(got)) 
+
+       if (n > sizeof(got))
                n = sizeof(got);
-  
+
        PrintAndLog("Reading %d samples from device memory\n", n);
        GetFromBigBuf(got,n,0);
        WaitForResponse(CMD_ACK,NULL);
-       for (int j = 0; j < n; ++j) {
+       for (int j = 0; j < n; j++) {
                GraphBuffer[j] = ((int)got[j]) - 128;
        }
        GraphTraceLen = n;
@@ -968,29 +1547,30 @@ int CmdTuneSamples(const char *Cmd)
        for (int i = 0; i < 256; i++) {
                GraphBuffer[i] = resp.d.asBytes[i] - 128;
        }
-  
-       PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n");
-       PrintAndLog("\n");
+
+  PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n");
+  PrintAndLog("\n");
        GraphTraceLen = 256;
        ShowGraphWindow();
 
   return 0;
 }
 
+
 int CmdLoad(const char *Cmd)
 {
-   char filename[FILE_PATH_SIZE] = {0x00};
-   int len = 0;
+  char filename[FILE_PATH_SIZE] = {0x00};
+  int len = 0;
 
-   len = strlen(Cmd);
-   if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
-   memcpy(filename, Cmd, len);
+  len = strlen(Cmd);
+  if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
+  memcpy(filename, Cmd, len);
        
-   FILE *f = fopen(filename, "r");
-   if (!f) {
+  FILE *f = fopen(filename, "r");
+  if (!f) {
      PrintAndLog("couldn't open '%s'", filename);
-     return 0;
-   }
+    return 0;
+  }
 
   GraphTraceLen = 0;
   char line[80];
@@ -1015,6 +1595,8 @@ int CmdLtrim(const char *Cmd)
   RepaintGraphWindow();
   return 0;
 }
+
+// trim graph to input argument length
 int CmdRtrim(const char *Cmd)
 {
   int ds = atoi(Cmd);
@@ -1070,13 +1652,20 @@ int CmdManchesterDemod(const char *Cmd)
 
   /* But it does not work if compiling on WIndows: therefore we just allocate a */
   /* large array */
-  uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0x00};
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0};
 
   /* Detect high and lows */
-  DetectHighLowInGraph( &high, &low, TRUE);
-  
+  for (i = 0; i < GraphTraceLen; i++)
+  {
+    if (GraphBuffer[i] > high)
+      high = GraphBuffer[i];
+    else if (GraphBuffer[i] < low)
+      low = GraphBuffer[i];
+  }
+
   /* Get our clock */
-  clock = GetClock(Cmd, 0); 
+  clock = GetClock(Cmd, high, 1);
+
   int tolerance = clock/4;
 
   /* Detect first transition */
@@ -1094,14 +1683,14 @@ int CmdManchesterDemod(const char *Cmd)
       break;
     }
   }
-  
+
   /* If we're not working with 1/0s, demod based off clock */
   if (high != 1)
   {
     bit = 0; /* We assume the 1st bit is zero, it may not be
               * the case: this routine (I think) has an init problem.
               * Ed.
-                         */
+              */
     for (; i < (int)(GraphTraceLen / clock); i++)
     {
       hithigh = 0;
@@ -1144,30 +1733,30 @@ int CmdManchesterDemod(const char *Cmd)
     {
       if (GraphBuffer[i-1] != GraphBuffer[i])
       {
-      lc = i-lastval;
-      lastval = i;
-
-      // Error check: if bitidx becomes too large, we do not
-      // have a Manchester encoded bitstream or the clock is really
-      // wrong!
-      if (bitidx > (GraphTraceLen*2/clock+8) ) {
-        PrintAndLog("Error: the clock you gave is probably wrong, aborting.");
-        return 0;
-      }
-      // Then switch depending on lc length:
-      // Tolerance is 1/4 of clock rate (arbitrary)
-      if (abs(lc-clock/2) < tolerance) {
-        // Short pulse : either "1" or "0"
-        BitStream[bitidx++]=GraphBuffer[i-1];
-      } else if (abs(lc-clock) < tolerance) {
-        // Long pulse: either "11" or "00"
-        BitStream[bitidx++]=GraphBuffer[i-1];
-        BitStream[bitidx++]=GraphBuffer[i-1];
-      } else {
+        lc = i-lastval;
+        lastval = i;
+
+        // Error check: if bitidx becomes too large, we do not
+        // have a Manchester encoded bitstream or the clock is really
+        // wrong!
+        if (bitidx > (GraphTraceLen*2/clock+8) ) {
+          PrintAndLog("Error: the clock you gave is probably wrong, aborting.");
+          return 0;
+        }
+        // Then switch depending on lc length:
+        // Tolerance is 1/4 of clock rate (arbitrary)
+        if (abs(lc-clock/2) < tolerance) {
+          // Short pulse : either "1" or "0"
+          BitStream[bitidx++]=GraphBuffer[i-1];
+        } else if (abs(lc-clock) < tolerance) {
+          // Long pulse: either "11" or "00"
+          BitStream[bitidx++]=GraphBuffer[i-1];
+          BitStream[bitidx++]=GraphBuffer[i-1];
+        } else {
         // Error
           warnings++;
-        PrintAndLog("Warning: Manchester decode error for pulse width detection.");
-        PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)");
+          PrintAndLog("Warning: Manchester decode error for pulse width detection.");
+          PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)");
 
           if (warnings > 10)
           {
@@ -1181,20 +1770,18 @@ int CmdManchesterDemod(const char *Cmd)
     // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream
     // Actually, we overwrite BitStream with the new decoded bitstream, we just need to be careful
     // to stop output at the final bitidx2 value, not bitidx
-       
-       //http://www.proxmark.org/forum/viewtopic.php?id=403
-    for (i = 1; i < bitidx; i += 2) {
+    for (i = 0; i < bitidx; i += 2) {
       if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) {
         BitStream[bit2idx++] = 1 ^ invert;
-    } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) {
-      BitStream[bit2idx++] = 0 ^ invert;
-    } else {
-      // We cannot end up in this state, this means we are unsynchronized,
-      // move up 1 bit:
-      i++;
-      warnings++;
-      PrintAndLog("Unsynchronized, resync...");
-      PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)");
+      } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) {
+        BitStream[bit2idx++] = 0 ^ invert;
+      } else {
+        // We cannot end up in this state, this means we are unsynchronized,
+        // move up 1 bit:
+        i++;
+        warnings++;
+        PrintAndLog("Unsynchronized, resync...");
+        PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)");
 
         if (warnings > 10)
         {
@@ -1226,27 +1813,28 @@ int CmdManchesterDemod(const char *Cmd)
       BitStream[i+14],
       BitStream[i+15]);
   }
-  return bit2idx;
+  return 0;
 }
 
 /* Modulate our data into manchester */
 int CmdManchesterMod(const char *Cmd)
 {
   int i, j;
+  int clock;
   int bit, lastbit, wave;
-  int clock = GetClock(Cmd, 0);
-  int half = (int)(clock/2);
-  
+
+  /* Get our clock */
+  clock = GetClock(Cmd, 0, 1);
+
   wave = 0;
   lastbit = 1;
   for (i = 0; i < (int)(GraphTraceLen / clock); i++)
   {
     bit = GraphBuffer[i * clock] ^ 1;
 
-    for (j = 0; j < half; ++j)
+    for (j = 0; j < (int)(clock/2); j++)
       GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave;
-    for (j = half; j < clock; ++j)
+    for (j = (int)(clock/2); j < clock; j++)
       GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1;
 
     /* Keep track of how we start our wave and if we changed or not this time */
@@ -1272,8 +1860,9 @@ int CmdNorm(const char *Cmd)
 
   if (max != min) {
     for (i = 0; i < GraphTraceLen; ++i) {
-      GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 1000 /
+                       GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 /
         (max - min);
+                               //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work
     }
   }
   RepaintGraphWindow();
@@ -1288,12 +1877,12 @@ int CmdPlot(const char *Cmd)
 
 int CmdSave(const char *Cmd)
 {
-   char filename[FILE_PATH_SIZE] = {0x00};
-   int len = 0;
+  char filename[FILE_PATH_SIZE] = {0x00};
+  int len = 0;
 
-   len = strlen(Cmd);
-   if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
-   memcpy(filename, Cmd, len);
+  len = strlen(Cmd);
+  if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
+  memcpy(filename, Cmd, len);
    
 
   FILE *f = fopen(filename, "w");
@@ -1339,12 +1928,12 @@ int CmdDirectionalThreshold(const char *Cmd)
 {
        int8_t upThres = param_get8(Cmd, 0);
        int8_t downThres = param_get8(Cmd, 1);
-  
+
   printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres);
-  
+
   int lastValue = GraphBuffer[0];
   GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in.
-  
+
   for (int i = 1; i < GraphTraceLen; ++i) {
     // Apply first threshold to samples heading up
     if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue)
@@ -1399,28 +1988,30 @@ int CmdZerocrossings(const char *Cmd)
   return 0;
 }
 
-static command_t CommandTable[] = 
+static command_t CommandTable[] =
 {
   {"help",          CmdHelp,            1, "This help"},
   {"amp",           CmdAmp,             1, "Amplify peaks"},
   {"askdemod",      Cmdaskdemod,        1, "<0 or 1> -- Attempt to demodulate simple ASK tags"},
-  {"askmandemod",   Cmdaskmandemod,     1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary"},
-  {"askrawdemod",   Cmdaskrawdemod,     1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK tags and output binary"},
+       {"askmandemod",   Cmdaskmandemod,     1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional)"},
+       {"askrawdemod",   Cmdaskrawdemod,     1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK tags and output bin (args optional)"},
   {"autocorr",      CmdAutoCorr,        1, "<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"},
@@ -1429,13 +2020,21 @@ static command_t CommandTable[] =
   {"mandemod",      CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"},
   {"manrawdecode",  Cmdmandecoderaw,    1, "Manchester decode binary stream already in graph buffer"},
   {"manmod",        CmdManchesterMod,   1, "[clock rate] -- Manchester modulate a binary stream"},
-  {"norm",          CmdNorm,            1, "Normalize max/min to +/-500"},
+       {"norm",          CmdNorm,            1, "Normalize max/min to +/-128"},
   {"plot",          CmdPlot,            1, "Show graph window (hit 'h' in window for keystroke help)"},
+       {"pskclean",      CmdPskClean,        1, "Attempt to clean psk wave"},
+       {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"},
+       {"pskindalademod",CmdIndalaDecode,    1, "[clock] [invert<0|1>] -- Attempt to demodulate psk1 indala tags and output ID binary & hex (args optional)"},
+       {"psk1nrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk1 or nrz tags and output binary (args optional)"},
+  {"psk2rawdemod",  CmdPSK2rawDemod,    1, "[clock] [invert<0|1>] -- Attempt to demodulate psk2 tags and output binary (args optional)"},
   {"samples",       CmdSamples,         0, "[512 - 40000] -- Get raw samples for graph window"},
   {"save",          CmdSave,            1, "<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}
 };
index 59ac43b9cf977645f7c245f11917cb5bbad0bc23..514be3a2bb6c08a8a3a41c95abde3e6821c916fd 100644 (file)
@@ -14,7 +14,7 @@
 command_t * CmdDataCommands();
 
 int CmdData(const char *Cmd);
-
+void printDemodBuff();
 int CmdAmp(const char *Cmd);
 int Cmdaskdemod(const char *Cmd);
 int Cmdaskrawdemod(const char *Cmd);
@@ -26,10 +26,15 @@ int CmdBitstream(const char *Cmd);
 int CmdBuffClear(const char *Cmd);
 int CmdDec(const char *Cmd);
 int CmdDetectClockRate(const char *Cmd);
+int CmdFSKdemodAWID(const char *Cmd);
 int CmdFSKdemod(const char *Cmd);
 int CmdFSKdemodHID(const char *Cmd);
 int CmdFSKdemodIO(const char *Cmd);
+int CmdFSKdemodParadox(const char *Cmd);
+int CmdFSKdemodPyramid(const char *Cmd);
 int CmdFSKrawdemod(const char *Cmd);
+int CmdDetectNRZpskClockRate(const char *Cmd);
+int CmdpskNRZrawDemod(const char *Cmd);
 int CmdGrid(const char *Cmd);
 int CmdHexsamples(const char *Cmd);
 int CmdHide(const char *Cmd);
@@ -43,10 +48,18 @@ int CmdManchesterMod(const char *Cmd);
 int CmdNorm(const char *Cmd);
 int CmdPlot(const char *Cmd);
 int CmdSamples(const char *Cmd);
+int CmdTuneSamples(const char *Cmd);
 int CmdSave(const char *Cmd);
 int CmdScale(const char *Cmd);
 int CmdThreshold(const char *Cmd);
 int CmdDirectionalThreshold(const char *Cmd);
 int CmdZerocrossings(const char *Cmd);
-int CmdTuneSamples(const char *Cmd);
+int CmdIndalaDecode(const char *Cmd);
+
+#define MAX_DEMOD_BUF_LEN (1024*128)
+extern uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN];
+extern int DemodBufferLen;
+
+#define BIGBUF_SIZE 40000
+
 #endif
index 6be5a27b6a8baf7f21ee0412a2af8dd01ed8d8dc..a55c41b2bbe2d209eec7a8d468488cebd1f29e78 100644 (file)
@@ -23,8 +23,6 @@
 #include "cmdhficlass.h"
 #include "cmdhfmf.h"
 #include "cmdhfmfu.h"
-#include "cmdhfmfdes.h"
-#include "cmdhfdes.h"                                                          
 
 static int CmdHelp(const char *Cmd);
 
@@ -34,8 +32,6 @@ int CmdHFTune(const char *Cmd)
   SendCommand(&c);
   return 0;
 }
-// for the time being. Need better Bigbuf handling.
-#define TRACE_SIZE 3000
 
 //The following data is taken from http://www.proxmark.org/forum/viewtopic.php?pid=13501#p13501
 /*
@@ -126,23 +122,28 @@ NXP/Philips CUSTOM COMMANDS
        40 = Long Range CMD (Standard ISO/TR7003:1990)
                */
 
-#define ICLASS_CMD_ACTALL 0x0A
+#define ICLASS_CMD_ACTALL           0x0A
 #define ICLASS_CMD_READ_OR_IDENTIFY 0x0C
-#define ICLASS_CMD_SELECT 0x81
-#define ICLASS_CMD_PAGESEL 0x84
-#define ICLASS_CMD_READCHECK 0x88
-#define ICLASS_CMD_CHECK 0x05
-#define ICLASS_CMD_SOF 0x0F
-#define ICLASS_CMD_HALT 0x00
-
-#define ISO14443_CMD_REQA       0x26
-#define ISO14443_CMD_READBLOCK  0x30
-#define ISO14443_CMD_WUPA       0x52
-#define ISO14443_CMD_ANTICOLL_OR_SELECT     0x93
-#define ISO14443_CMD_ANTICOLL_OR_SELECT_2   0x95
-#define ISO14443_CMD_WRITEBLOCK 0xA0 // or 0xA2 ?
-#define ISO14443_CMD_HALT       0x50
-#define ISO14443_CMD_RATS       0xE0
+#define ICLASS_CMD_SELECT           0x81
+#define ICLASS_CMD_PAGESEL          0x84
+#define ICLASS_CMD_READCHECK_KD     0x88
+#define ICLASS_CMD_READCHECK_KC     0x18
+#define ICLASS_CMD_CHECK            0x05
+#define ICLASS_CMD_DETECT           0x0F
+#define ICLASS_CMD_HALT             0x00
+#define ICLASS_CMD_UPDATE                      0x87
+#define ICLASS_CMD_ACT              0x8E
+#define ICLASS_CMD_READ4            0x06
+
+
+#define ISO14443A_CMD_REQA       0x26
+#define ISO14443A_CMD_READBLOCK  0x30
+#define ISO14443A_CMD_WUPA       0x52
+#define ISO14443A_CMD_ANTICOLL_OR_SELECT     0x93
+#define ISO14443A_CMD_ANTICOLL_OR_SELECT_2   0x95
+#define ISO14443A_CMD_WRITEBLOCK 0xA0 // or 0xA2 ?
+#define ISO14443A_CMD_HALT       0x50
+#define ISO14443A_CMD_RATS       0xE0
 
 #define MIFARE_AUTH_KEYA           0x60
 #define MIFARE_AUTH_KEYB           0x61
@@ -178,17 +179,20 @@ NXP/Philips CUSTOM COMMANDS
 #define ISO15693_READ_MULTI_SECSTATUS 0x2C
 
 
+#define ISO_14443A 0
+#define ICLASS     1
+#define ISO_14443B 2
 
 
 void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
 {
        switch(cmd[0])
        {
-       case ISO14443_CMD_WUPA:        snprintf(exp,size,"WUPA"); break;
-       case ISO14443_CMD_ANTICOLL_OR_SELECT:{
+       case ISO14443A_CMD_WUPA:        snprintf(exp,size,"WUPA"); break;
+       case ISO14443A_CMD_ANTICOLL_OR_SELECT:{
                // 93 20 = Anticollision (usage: 9320 - answer: 4bytes UID+1byte UID-bytes-xor)
                // 93 70 = Select (usage: 9370+5bytes 9320 answer - answer: 1byte SAK)
-               if(cmd[2] == 0x70)
+               if(cmd[1] == 0x70)
                {
                        snprintf(exp,size,"SELECT_UID"); break;
                }else
@@ -196,7 +200,7 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
                        snprintf(exp,size,"ANTICOLL"); break;
                }
        }
-       case ISO14443_CMD_ANTICOLL_OR_SELECT_2:{
+       case ISO14443A_CMD_ANTICOLL_OR_SELECT_2:{
                //95 20 = Anticollision of cascade level2
                //95 70 = Select of cascade level2
                if(cmd[2] == 0x70)
@@ -207,19 +211,19 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
                        snprintf(exp,size,"ANTICOLL-2"); break;
                }
        }
-       case ISO14443_CMD_REQA:       snprintf(exp,size,"REQA"); break;
-       case ISO14443_CMD_READBLOCK:  snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break;
-       case ISO14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break;
-       case ISO14443_CMD_HALT:       snprintf(exp,size,"HALT"); break;
-       case ISO14443_CMD_RATS:       snprintf(exp,size,"RATS"); break;
+       case ISO14443A_CMD_REQA:       snprintf(exp,size,"REQA"); break;
+       case ISO14443A_CMD_READBLOCK:  snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break;
+       case ISO14443A_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break;
+       case ISO14443A_CMD_HALT:       snprintf(exp,size,"HALT"); break;
+       case ISO14443A_CMD_RATS:       snprintf(exp,size,"RATS"); break;
        case MIFARE_CMD_INC:          snprintf(exp,size,"INC(%d)",cmd[1]); break;
        case MIFARE_CMD_DEC:          snprintf(exp,size,"DEC(%d)",cmd[1]); break;
        case MIFARE_CMD_RESTORE:      snprintf(exp,size,"RESTORE(%d)",cmd[1]); break;
        case MIFARE_CMD_TRANSFER:     snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break;
-       case MIFARE_AUTH_KEYA:        snprintf(exp,size,"AUTH-A"); break;
-       case MIFARE_AUTH_KEYB:        snprintf(exp,size,"AUTH-B"); break;
+       case MIFARE_AUTH_KEYA:        snprintf(exp,size,"AUTH-A(%d)",cmd[1]); break;
+       case MIFARE_AUTH_KEYB:        snprintf(exp,size,"AUTH-B(%d)",cmd[1]); break;
        case MIFARE_MAGICMODE:        snprintf(exp,size,"MAGIC"); break;
-       default:                       snprintf(exp,size,"?"); break;
+       default:                      snprintf(exp,size,"?"); break;
        }
        return;
 }
@@ -238,11 +242,15 @@ void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
                break;
        }
        case ICLASS_CMD_SELECT:      snprintf(exp,size,"SELECT"); break;
-       case ICLASS_CMD_PAGESEL:     snprintf(exp,size,"PAGESEL"); break;
-       case ICLASS_CMD_READCHECK:   snprintf(exp,size,"READCHECK"); break;
+       case ICLASS_CMD_PAGESEL:     snprintf(exp,size,"PAGESEL(%d)", cmd[1]); break;
+       case ICLASS_CMD_READCHECK_KC:snprintf(exp,size,"READCHECK[Kc](%d)", cmd[1]); break;
+       case ICLASS_CMD_READCHECK_KD:snprintf(exp,size,"READCHECK[Kd](%d)", cmd[1]); break;
        case ICLASS_CMD_CHECK:       snprintf(exp,size,"CHECK"); break;
-       case ICLASS_CMD_SOF:         snprintf(exp,size,"SOF"); break;
+       case ICLASS_CMD_DETECT:      snprintf(exp,size,"DETECT"); break;
        case ICLASS_CMD_HALT:        snprintf(exp,size,"HALT"); break;
+       case ICLASS_CMD_UPDATE:      snprintf(exp,size,"UPDATE(%d)",cmd[1]); break;
+       case ICLASS_CMD_ACT:         snprintf(exp,size,"ACT"); break;
+       case ICLASS_CMD_READ4:       snprintf(exp,size,"READ4(%d)",cmd[1]); break;
        default:                     snprintf(exp,size,"?"); break;
        }
        return;
@@ -275,23 +283,117 @@ void annotateIso15693(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
                case ISO15693_LOCK_DSFID           :snprintf(exp, size, "LOCK_DSFID");break;
                case ISO15693_GET_SYSTEM_INFO      :snprintf(exp, size, "GET_SYSTEM_INFO");break;
                case ISO15693_READ_MULTI_SECSTATUS :snprintf(exp, size, "READ_MULTI_SECSTATUS");break;
-               default:                     snprintf(exp,size,"?"); break;
+               default:                            snprintf(exp,size,"?"); break;
+               }
+       }
+}
+void annotateIso14443b(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
+{
+       switch(cmd[0]){
+       case ISO14443B_REQB   : snprintf(exp,size,"REQB");break;
+       case ISO14443B_ATTRIB : snprintf(exp,size,"ATTRIB");break;
+       case ISO14443B_HALT   : snprintf(exp,size,"HALT");break;
+       default:                snprintf(exp,size ,"?");break;
+       }
+
+}
+
+/**
+ * @brief iso14443B_CRC_Ok Checks CRC in command or response
+ * @param isResponse
+ * @param data
+ * @param len
+ * @return  0 : CRC-command, CRC not ok
+ *          1 : CRC-command, CRC ok
+ *          2 : Not crc-command
+ */
+
+uint8_t iso14443B_CRC_check(bool isResponse, uint8_t* data, uint8_t len)
+{
+       uint8_t b1,b2;
+
+       if(len <= 2) return 2;
+
+       ComputeCrc14443(CRC_14443_B, data, len-2, &b1, &b2);
+       if(b1 != data[len-2] || b2 != data[len-1]) {
+         return 0;
+       }
+       return 1;
+}
+
+/**
+ * @brief iclass_CRC_Ok Checks CRC in command or response
+ * @param isResponse
+ * @param data
+ * @param len
+ * @return  0 : CRC-command, CRC not ok
+ *             1 : CRC-command, CRC ok
+ *          2 : Not crc-command
+ */
+uint8_t iclass_CRC_check(bool isResponse, uint8_t* data, uint8_t len)
+{
+       if(len < 4) return 2;//CRC commands (and responses) are all at least 4 bytes
+
+       uint8_t b1, b2;
+
+       if(!isResponse)//Commands to tag
+       {
+               /**
+                 These commands should have CRC. Total length leftmost
+                 4     READ
+                 4 READ4
+                 12 UPDATE - unsecured, ends with CRC16
+                 14 UPDATE - secured, ends with signature instead
+                 4 PAGESEL
+                 **/
+               if(len == 4 || len == 12)//Covers three of them
+               {
+                       //Don't include the command byte
+                       ComputeCrc14443(CRC_ICLASS, (data+1), len-3, &b1, &b2);
+                       return b1 == data[len -2] && b2 == data[len-1];
                }
+               return 2;
+       }else{
+               /**
+               These tag responses should have CRC. Total length leftmost
+
+               10  READ                data[8] crc[2]
+               34  READ4               data[32]crc[2]
+               10  UPDATE      data[8] crc[2]
+               10 SELECT       csn[8] crc[2]
+               10  IDENTIFY  asnb[8] crc[2]
+               10  PAGESEL   block1[8] crc[2]
+               10  DETECT    csn[8] crc[2]
+
+               These should not
+
+               4  CHECK                chip_response[4]
+               8  READCHECK data[8]
+               1  ACTALL    sof[1]
+               1  ACT       sof[1]
+
+               In conclusion, without looking at the command; any response
+               of length 10 or 34 should have CRC
+                 **/
+               if(len != 10 && len != 34) return true;
+
+               ComputeCrc14443(CRC_ICLASS, data, len-2, &b1, &b2);
+               return b1 == data[len -2] && b2 == data[len-1];
        }
 }
 
-uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles)
+uint16_t printTraceLine(uint16_t tracepos, uint16_t traceLen, uint8_t *trace, uint8_t protocol, bool showWaitCycles)
 {
        bool isResponse;
-       uint16_t duration, data_len,parity_len;
+       uint16_t duration, data_len, parity_len;
 
        uint32_t timestamp, first_timestamp, EndOfTransmissionTimestamp;
        char explanation[30] = {0};
 
+       if (tracepos + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) > traceLen) return traceLen;
+       
        first_timestamp = *((uint32_t *)(trace));
        timestamp = *((uint32_t *)(trace + tracepos));
-       // Break and stick with current result if buffer was not completely full
-       if (timestamp == 0x44444444) return TRACE_SIZE;
 
        tracepos += 4;
        duration = *((uint16_t *)(trace + tracepos));
@@ -307,8 +409,8 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho
        }
        parity_len = (data_len-1)/8 + 1;
 
-       if (tracepos + data_len + parity_len >= TRACE_SIZE) {
-               return TRACE_SIZE;
+       if (tracepos + data_len + parity_len > traceLen) {
+               return traceLen;
        }
 
        uint8_t *frame = trace + tracepos;
@@ -335,47 +437,45 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho
                }
        }
        //--- Draw the CRC column
-       bool crcError = false;
+       uint8_t crcStatus = 2;
 
        if (data_len > 2) {
                uint8_t b1, b2;
-               if(iclass)
+               if(protocol == ICLASS)
                {
-                       if(!isResponse && data_len == 4 ) {
-                               // Rough guess that this is a command from the reader
-                               // For iClass the command byte is not part of the CRC
-                               ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2);
-                       } else {
-                               // For other data.. CRC might not be applicable (UPDATE commands etc.)
-                               ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2);
-                       }
-
-                       if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) {
-                               crcError = true;
-                       }
+                       crcStatus = iclass_CRC_check(isResponse, frame, data_len);
 
-               } else {//Iso 14443a
+               }else if (protocol == ISO_14443B)
+               {
+                       crcStatus = iso14443B_CRC_check(isResponse, frame, data_len);
+               }
+               else if (protocol == ISO_14443A){//Iso 14443a
 
                        ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2);
 
                        if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) {
                                if(!(isResponse & (data_len < 6)))
                                {
-                                               crcError = true;
+                                               crcStatus = 0;
                                }
                        }
                }
        }
-       char *crc = crcError ? "!crc" :"    ";
+       //0 CRC-command, CRC not ok
+       //1 CRC-command, CRC ok
+       //2 Not crc-command
+       char *crc = (crcStatus == 0 ? "!crc" : (crcStatus == 1 ? " ok " : "    "));
 
        EndOfTransmissionTimestamp = timestamp + duration;
 
        if(!isResponse)
        {
-               if(iclass)
+               if(protocol == ICLASS)
                        annotateIclass(explanation,sizeof(explanation),frame,data_len);
-               else 
+               else if (protocol == ISO_14443A)
                        annotateIso14443a(explanation,sizeof(explanation),frame,data_len);
+               else if(protocol == ISO_14443B)
+                       annotateIso14443b(explanation,sizeof(explanation),frame,data_len);
        }
 
        int num_lines = (data_len - 1)/16 + 1;
@@ -391,11 +491,13 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho
                } else {
                        PrintAndLog("           |           |     | %-64s| %s| %s",
                                line[j],
-                               (j == num_lines-1) ? crc : "    ",
+                               (j == num_lines-1)?crc:"    ",
                                (j == num_lines-1) ? explanation : "");
                }
        }
 
+       if (tracepos + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) > traceLen) return traceLen;
+       
        bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000;
 
        if (showWaitCycles && !isResponse && next_isResponse) {
@@ -408,9 +510,11 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho
                                (next_timestamp - EndOfTransmissionTimestamp));
                }
        }
+
        return tracepos;
 }
 
+
 int CmdHFList(const char *Cmd)
 {
        bool showWaitCycles = false;
@@ -418,9 +522,9 @@ int CmdHFList(const char *Cmd)
        int tlen = param_getstr(Cmd,0,type);
        char param = param_getchar(Cmd, 1);
        bool errors = false;
-       bool iclass = false;
+       uint8_t protocol = 0;
        //Validate params
-       if(tlen == 0 || (strcmp(type, "iclass") != 0 && strcmp(type,"14a") != 0))
+       if(tlen == 0)
        {
                errors = true;
        }
@@ -428,34 +532,69 @@ int CmdHFList(const char *Cmd)
        {
                errors = true;
        }
+       if(!errors)
+       {
+               if(strcmp(type, "iclass") == 0)
+               {
+                       protocol = ICLASS;
+               }else if(strcmp(type, "14a") == 0)
+               {
+                       protocol = ISO_14443A;
+               }
+               else if(strcmp(type, "14b") == 0)
+               {
+                       protocol = ISO_14443B;
+               }else if(strcmp(type,"raw")== 0)
+               {
+                       protocol = -1;//No crc, no annotations
+               }else{
+                       errors = true;
+               }
+       }
 
        if (errors) {
                PrintAndLog("List protocol data in trace buffer.");
-               PrintAndLog("Usage:  hf list [14a|iclass] [f]");
+               PrintAndLog("Usage:  hf list <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)");
@@ -464,10 +603,12 @@ int CmdHFList(const char *Cmd)
        PrintAndLog("     Start |       End | Src | Data (! denotes parity error)                                   | CRC | Annotation         |");
        PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------|-----|--------------------|");
 
-       while(tracepos < TRACE_SIZE)
+       while(tracepos < traceLen)
        {
-               tracepos = printTraceLine(tracepos, trace, iclass, showWaitCycles);
+               tracepos = printTraceLine(tracepos, traceLen, trace, protocol, showWaitCycles);
        }
+
+       free(trace);
        return 0;
 }
 
@@ -481,13 +622,11 @@ static command_t CommandTable[] =
   {"epa",         CmdHFEPA,         1, "{ German Identification Card... }"},
   {"legic",       CmdHFLegic,       0, "{ LEGIC RFIDs... }"},
   {"iclass",      CmdHFiClass,      1, "{ ICLASS RFIDs... }"},
-  {"mf",               CmdHFMF,                      1, "{ MIFARE RFIDs... }"},
+  {"mf",               CmdHFMF,                1, "{ MIFARE RFIDs... }"},
   {"mfu",                      CmdHFMFUltra,           1, "{ MIFARE Ultralight RFIDs... }"},
-  {"mfdes",                    CmdHFMFDes,                     1, "{ MIFARE Desfire RFIDs... }"},      
-  {"des",         CmdHFDES,         0, "{ MIFARE DESfire}"},
   {"tune",        CmdHFTune,        0, "Continuously measure HF antenna tuning"},
   {"list",       CmdHFList,         1, "List protocol data in trace buffer"},
-  {NULL, NULL, 0, NULL}
+       {NULL, NULL, 0, NULL}
 };
 
 int CmdHF(const char *Cmd)
index 1bda59dd65dec20305db77f360b7359e962e97d9..147e790ec0f15c1213289fe5f39b72d82a6e0b16 100644 (file)
 #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);
@@ -112,20 +112,15 @@ const manufactureName manufactureMapping[] = {
 // returns description of the best match       
 char* getTagInfo(uint8_t uid) {
 
-       int i, best = -1;       
+       int i;
        int len = sizeof(manufactureMapping) / sizeof(manufactureName);
        
-       for ( i = 0; i < len; ++i ) {
-               if ( uid == manufactureMapping[i].uid) {
-                       if (best == -1) { 
-                               best = i;
-                       } 
-               } 
-       } 
+       for ( i = 0; i < len; ++i ) 
+               if ( uid == manufactureMapping[i].uid) 
+                       return manufactureMapping[i].desc;
 
-       if (best>=0) return manufactureMapping[best].desc;
-       
-       return manufactureMapping[i].desc; 
+       //No match, return default
+       return manufactureMapping[len-1].desc; 
 }
 
 int CmdHF14AList(const char *Cmd)
@@ -165,7 +160,7 @@ int CmdHF14AReader(const char *Cmd)
        PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]);
        PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen));
        PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]);
-       
+
        // Double & triple sized UID, can be mapped to a manufacturer.
        // HACK: does this apply for Ultralight cards?
        if ( card.uidlen > 4 ) {
@@ -189,7 +184,7 @@ int CmdHF14AReader(const char *Cmd)
                case 0x98: PrintAndLog("TYPE : Gemplus MPCOS"); break;
                default: ;
        }
-       
+
        // try to request ATS even if tag claims not to support it
        if (select_status == 2) {
                uint8_t rats[] = { 0xE0, 0x80 }; // FSDI=8 (FSD=256), CID=0
@@ -203,7 +198,7 @@ int CmdHF14AReader(const char *Cmd)
            memcpy(&card.ats, resp.d.asBytes, resp.arg[0]);
                card.ats_len = resp.arg[0];                             // note: ats_len includes CRC Bytes
        } 
-       
+
        if(card.ats_len >= 3) {                 // a valid ATS consists of at least the length byte (TL) and 2 CRC bytes
                bool ta1 = 0, tb1 = 0, tc1 = 0;
                int pos;
@@ -359,7 +354,7 @@ int CmdHF14AReader(const char *Cmd)
        c.arg[1] = 0;
        c.arg[2] = 0;
        SendCommand(&c);
-       
+
        return select_status;
 }
 
@@ -417,9 +412,9 @@ int CmdHF14ASim(const char *Cmd)
                PrintAndLog("   syntax: hf 14a sim <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;
        }
@@ -485,7 +480,8 @@ int CmdHF14ASim(const char *Cmd)
 int CmdHF14ASnoop(const char *Cmd) {
        int param = 0;
        
-       if (param_getchar(Cmd, 0) == 'h') {
+       uint8_t ctmp = param_getchar(Cmd, 0) ;
+       if (ctmp == 'h' || ctmp == 'H') {
                PrintAndLog("It get data from the field and saves it into command buffer.");
                PrintAndLog("Buffer accessible from command hf list 14a.");
                PrintAndLog("Usage:  hf 14a snoop [c][r]");
@@ -496,7 +492,7 @@ int CmdHF14ASnoop(const char *Cmd) {
        }       
        
        for (int i = 0; i < 2; i++) {
-               char ctmp = param_getchar(Cmd, i);
+               ctmp = param_getchar(Cmd, i);
                if (ctmp == 'c' || ctmp == 'C') param |= 0x01;
                if (ctmp == 'r' || ctmp == 'R') param |= 0x02;
        }
@@ -675,7 +671,7 @@ static command_t CommandTable[] =
   {"list",   CmdHF14AList,         0, "[Deprecated] List ISO 14443a history"},
   {"reader", CmdHF14AReader,       0, "Act like an ISO14443 Type A reader"},
   {"cuids",  CmdHF14ACUIDs,        0, "<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}
index a6cf7d57f51580f9520cb614aa0f3b55ea7e53e2..cf8658750c8eb48b76705726feecf202156081f7 100644 (file)
@@ -145,11 +145,25 @@ demodError:
 
 int CmdHF14BList(const char *Cmd)
 {
-  uint8_t got[TRACE_BUFFER_SIZE];
-  GetFromBigBuf(got,sizeof(got),0);
-  WaitForResponse(CMD_ACK,NULL);
-
-  PrintAndLog("recorded activity:");
+       uint8_t *got = malloc(USB_CMD_DATA_SIZE);
+
+       // Query for the actual size of the trace
+       UsbCommand response;
+       GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0);
+       WaitForResponse(CMD_ACK, &response);
+       uint16_t traceLen = response.arg[2];
+       if (traceLen > USB_CMD_DATA_SIZE) {
+               uint8_t *p = realloc(got, traceLen);
+               if (p == NULL) {
+                       PrintAndLog("Cannot allocate memory for trace");
+                       free(got);
+                       return 2;
+               }
+               got = p;
+               GetFromBigBuf(got, traceLen, 0);
+               WaitForResponse(CMD_ACK,NULL);
+       }
+  PrintAndLog("recorded activity: (TraceLen = %d bytes)", traceLen);
   PrintAndLog(" time  :rssi: who bytes");
   PrintAndLog("---------+----+----+-----------");
 
@@ -158,7 +172,7 @@ int CmdHF14BList(const char *Cmd)
 
   for(;;) {
     
-       if(i >= TRACE_BUFFER_SIZE) { break; }
+       if(i >= traceLen) { break; }
 
     bool isResponse;
     int timestamp = *((uint32_t *)(got+i));
@@ -175,7 +189,7 @@ int CmdHF14BList(const char *Cmd)
     if(len > 100) {
       break;
     }
-    if(i + len >= TRACE_BUFFER_SIZE) {
+    if(i + len >= traceLen) {
       break;
     }
 
@@ -218,6 +232,7 @@ int CmdHF14BList(const char *Cmd)
     prev = timestamp;
     i += (len + 9);
   }
+  free(got);
   return 0;
 }
 
@@ -275,11 +290,11 @@ int CmdHF14BCmdRaw (const char *cmd) {
     UsbCommand resp;
     uint8_t *recv;
     UsbCommand c = {CMD_ISO_14443B_COMMAND, {0, 0, 0}}; // len,recv?
-    uint8_t reply = 1;
-    uint8_t crc = 0;
-    uint8_t power = 0;
-    char buf[5] = "";
-    int i = 0;
+    uint8_t reply=1;
+    uint8_t crc=0;
+    uint8_t power=0;
+    char buf[5]="";
+    int i=0;
     uint8_t data[100] = {0x00};
     unsigned int datalen=0, temp;
     char *hexout;
@@ -301,15 +316,15 @@ int CmdHF14BCmdRaw (const char *cmd) {
             switch (cmd[i+1]) {
                 case 'r': 
                 case 'R': 
-                    reply = 0;
+                    reply=0;
                     break;
                 case 'c':
                 case 'C':                
-                    crc = 1;
+                    crc=1;
                     break;
                 case 'p': 
                 case 'P': 
-                    power = 1;
+                    power=1;
                     break;
                 default:
                     PrintAndLog("Invalid option");
@@ -336,13 +351,13 @@ int CmdHF14BCmdRaw (const char *cmd) {
         PrintAndLog("Invalid char on input");
         return 1;
     }
-       
-    if (datalen == 0) {
+    if (datalen == 0)
+    {
       PrintAndLog("Missing data input");
-      return 1;
+      return 0;
     }
-       
-    if(crc) {
+    if(crc)
+    {
         uint8_t first, second;
         ComputeCrc14443(CRC_14443_B, data, datalen, &first, &second);
         data[datalen++] = first;
index 769995d623f965dc7107186f11ca84dc57378d25..d6ab2000a211f0c430ef678aa1c13291f59ae83b 100644 (file)
@@ -34,7 +34,7 @@
 #include "util.h"
 #include "cmdparser.h"
 #include "cmdhf15.h"
-#include "../common/iso15693tools.h"
+#include "iso15693tools.h"
 #include "cmdmain.h"
 
 #define FrameSOF              Iso15693FrameSOF
@@ -45,7 +45,6 @@
 #define Crc(data,datalen)     Iso15693Crc(data,datalen)
 #define AddCrc(data,datalen)  Iso15693AddCrc(data,datalen)
 #define sprintUID(target,uid)  Iso15693sprintUID(target,uid)
-#define TRACE_BUFF_SIZE 12000
 
 // structure and database for uid -> tagtype lookups 
 typedef struct { 
@@ -237,7 +236,7 @@ static char* getTagInfo(uint8_t *uid) {
                        if (best==-1) { 
                                best=i;
                        } else {
-                               if (uidmapping[i].mask > uidmapping[best].mask) {
+                               if (uidmapping[i].mask>uidmapping[best].mask) {
                                        best=i;
                                }
                        }                                       
@@ -658,9 +657,9 @@ int CmdHF15CmdRaw (const char *cmd) {
  */
 int prepareHF15Cmd(char **cmd, UsbCommand *c, uint8_t iso15cmd[], int iso15cmdlen) {
        int temp;
-       uint8_t *req = c->d.asBytes;
+       uint8_t *req=c->d.asBytes;
        uint8_t uid[8] = {0x00};
-       uint32_t reqlen = 0;
+       uint32_t reqlen=0;
 
        // strip
        while (**cmd==' ' || **cmd=='\t') (*cmd)++;
index 01ebc0219cfd13702e9c4f903070b1ad4299a945..03b39021e02991a51db554a6a571d767298b5220 100644 (file)
@@ -20,7 +20,7 @@
 #include "ui.h"
 #include "cmdparser.h"
 #include "cmdhficlass.h"
-#include "../include/common.h"
+#include "common.h"
 #include "util.h"
 #include "cmdmain.h"
 #include "loclass/des.h"
@@ -34,17 +34,17 @@ static int CmdHelp(const char *Cmd);
 
 int xorbits_8(uint8_t val)
 {
-       uint8_t res = val ^ (val >> 1); //1st pass
-       res = res ^ (res >> 1);                 // 2nd pass
-       res = res ^ (res >> 2);                 // 3rd pass
-       res = res ^ (res >> 4);                         // 4th pass
-       return res & 1;
+    uint8_t res = val ^ (val >> 1); //1st pass
+    res = res ^ (res >> 1);            // 2nd pass
+    res = res ^ (res >> 2);            // 3rd pass
+    res = res ^ (res >> 4);                    // 4th pass
+    return res & 1;
 }
 
 int CmdHFiClassList(const char *Cmd)
 {
        PrintAndLog("Deprecated command, use 'hf list iclass' instead");
-  return 0;
+       return 0;
 }
 
 int CmdHFiClassSnoop(const char *Cmd)
@@ -104,24 +104,24 @@ int CmdHFiClassSim(const char *Cmd)
                         0x0c,0x90,0x32,0xf3,0x5d,0xff,0x12,0xe0 };
 */
       
-       uint8_t csns[8*NUM_CSNS] = {
-        0x00, 0x0B, 0x0F, 0xFF, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x04, 0x0E, 0x08, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x09, 0x0D, 0x05, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x0A, 0x0C, 0x06, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x0F, 0x0B, 0x03, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x08, 0x0A, 0x0C, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x0D, 0x09, 0x09, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x0E, 0x08, 0x0A, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x03, 0x07, 0x17, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x3C, 0x06, 0xE0, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x01, 0x05, 0x1D, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x02, 0x04, 0x1E, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x07, 0x03, 0x1B, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x00, 0x02, 0x24, 0xF7, 0xFF, 0x12, 0xE0,
-        0x00, 0x05, 0x01, 0x21, 0xF7, 0xFF, 0x12, 0xE0 };
-       
-        memcpy(c.d.asBytes, csns, 8*NUM_CSNS);
+       uint8_t csns[8*NUM_CSNS] = {
+        0x00, 0x0B, 0x0F, 0xFF, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x04, 0x0E, 0x08, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x09, 0x0D, 0x05, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x0A, 0x0C, 0x06, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x0F, 0x0B, 0x03, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x08, 0x0A, 0x0C, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x0D, 0x09, 0x09, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x0E, 0x08, 0x0A, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x03, 0x07, 0x17, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x3C, 0x06, 0xE0, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x01, 0x05, 0x1D, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x02, 0x04, 0x1E, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x07, 0x03, 0x1B, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x00, 0x02, 0x24, 0xF7, 0xFF, 0x12, 0xE0,
+        0x00, 0x05, 0x01, 0x21, 0xF7, 0xFF, 0x12, 0xE0 };
+
+               memcpy(c.d.asBytes, csns, 8*NUM_CSNS);
 
                SendCommand(&c);
                if (!WaitForResponseTimeout(CMD_ACK, &resp, -1)) {
@@ -130,7 +130,7 @@ int CmdHFiClassSim(const char *Cmd)
                }
 
                uint8_t num_mac_responses  = resp.arg[1];
-               PrintAndLog("Mac responses: %d MACs obtained (should be %d)", num_mac_responses, NUM_CSNS);
+               PrintAndLog("Mac responses: %d MACs obtained (should be %d)", num_mac_responses,NUM_CSNS);
 
                size_t datalen = NUM_CSNS*24;
                /*
@@ -209,7 +209,7 @@ int CmdHFiClassReader_Replay(const char *Cmd)
   if (strlen(Cmd)<1) {
     PrintAndLog("Usage:  hf iclass replay <MAC>");
     PrintAndLog("        sample: hf iclass replay 00112233");
-       return 0;
+    return 0;
   }
 
   if (param_gethex(Cmd, 0, MAC, 8)) {
@@ -283,57 +283,57 @@ int CmdHFiClassReader_Dump(const char *Cmd)
          return 0;
   }
 
-        uint8_t isOK    = resp.arg[0] & 0xff;
-        uint8_t * data  = resp.d.asBytes;
+       uint8_t isOK    = resp.arg[0] & 0xff;
+       uint8_t * data  = resp.d.asBytes;
 
-        memcpy(CSN,data,8);
-        memcpy(CCNR,data+8,8);
+       memcpy(CSN,data,8);
+       memcpy(CCNR,data+8,8);
 
-        PrintAndLog("isOk:%02x", isOK);
+       PrintAndLog("isOk:%02x", isOK);
 
-        if(isOK > 0)
-        {
-            PrintAndLog("CSN: %s",sprint_hex(CSN,8));
-        }
+       if(isOK > 0)
+       {
+               PrintAndLog("CSN: %s",sprint_hex(CSN,8));
+       }
        if(isOK <= 1){
                PrintAndLog("Failed to obtain CC! Aborting");
                return 0;
        }
        //Status 2 or higher
 
-            if(elite)
-            {
-                //Get the key index (hash1)
-                uint8_t key_index[8] = {0};
-
-                hash1(CSN, key_index);
-                printvar("hash1", key_index,8);
-                for(i = 0; i < 8 ; i++)
-                    key_sel[i] = keytable[key_index[i]] & 0xFF;
-                PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:");
-                printvar("k_sel", key_sel,8);
-                //Permute from iclass format to standard format
-                permutekey_rev(key_sel,key_sel_p);
-                used_key = key_sel_p;
-            }else{
-                used_key = KEY;
-            }
+       if(elite)
+       {
+               //Get the key index (hash1)
+               uint8_t key_index[8] = {0};
+
+               hash1(CSN, key_index);
+               printvar("hash1", key_index,8);
+               for(i = 0; i < 8 ; i++)
+                       key_sel[i] = keytable[key_index[i]] & 0xFF;
+               PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:");
+               printvar("k_sel", key_sel,8);
+               //Permute from iclass format to standard format
+               permutekey_rev(key_sel,key_sel_p);
+               used_key = key_sel_p;
+       }else{
+               used_key = KEY;
+       }
 
-            PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:");
-            printvar("Used key",used_key,8);
-            diversifyKey(CSN,used_key, div_key);
-            PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):");
-            printvar("Div key", div_key, 8);
-            printvar("CC_NR:",CCNR,12);
-            doMAC(CCNR,12,div_key, MAC);
-            printvar("MAC", MAC, 4);
+       PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:");
+       printvar("Used key",used_key,8);
+       diversifyKey(CSN,used_key, div_key);
+       PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):");
+       printvar("Div key", div_key, 8);
+       printvar("CC_NR:",CCNR,12);
+       doMAC(CCNR,12,div_key, MAC);
+       printvar("MAC", MAC, 4);
 
        uint8_t iclass_data[32000] = {0};
        uint8_t iclass_datalen = 0;
        uint8_t iclass_blocksFailed = 0;//Set to 1 if dump was incomplete
 
-            UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}};
-            memcpy(d.d.asBytes, MAC, 4);
+       UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}};
+       memcpy(d.d.asBytes, MAC, 4);
        clearCommandBuffer();
        SendCommand(&d);
        PrintAndLog("Waiting for device to dump data. Press button on device and key on keyboard to abort...");
@@ -505,16 +505,16 @@ int CmdHFiClass_loclass(const char *Cmd)
 
 static command_t CommandTable[] = 
 {
-  {"help",    CmdHelp,        1, "This help"},
-  {"list",     CmdHFiClassList,        0,      "[Deprecated] List iClass history"},
-  {"snoop",   CmdHFiClassSnoop,  0, "Eavesdrop iClass communication"},
-  {"sim",     CmdHFiClassSim,    0, "Simulate iClass tag"},
-  {"reader",CmdHFiClassReader, 0,      "Read an iClass tag"},
-  {"replay",  CmdHFiClassReader_Replay, 0, "Read an iClass tag via Reply Attack"},
-  {"dump",       CmdHFiClassReader_Dump, 0, "Authenticate and Dump iClass tag"},
-  {"write",    CmdHFiClass_iso14443A_write,    0,      "Authenticate and Write iClass block"},
+       {"help",        CmdHelp,                        1,      "This help"},
+       {"list",        CmdHFiClassList,        0,      "[Deprecated] List iClass history"},
+       {"snoop",       CmdHFiClassSnoop,       0,      "Eavesdrop iClass communication"},
+       {"sim", CmdHFiClassSim,         0,      "Simulate iClass tag"},
+       {"reader",CmdHFiClassReader,    0,      "Read an iClass tag"},
+       {"replay",CmdHFiClassReader_Replay,     0,      "Read an iClass tag via Reply Attack"},
+       {"dump",        CmdHFiClassReader_Dump, 0,              "Authenticate and Dump iClass tag"},
+       {"write",       CmdHFiClass_iso14443A_write,    0,      "Authenticate and Write iClass block"},
        {"loclass",     CmdHFiClass_loclass,    1,      "Use loclass to perform bruteforce of reader attack dump"},
-  {NULL, NULL, 0, NULL}
+       {NULL, NULL, 0, NULL}
 };
 
 int CmdHFiClass(const char *Cmd)
@@ -526,5 +526,5 @@ int CmdHFiClass(const char *Cmd)
 int CmdHelp(const char *Cmd)
 {
   CmdsHelp(CommandTable);
-       return 0;
+  return 0;
 }
index 35ba1f28c49d6d4d64b58b774d7ce571c8feed03..7ee601b232888aaece3aa1fe70b42d1731879d85 100644 (file)
@@ -16,7 +16,7 @@
 #include "cmdparser.h"
 #include "cmdhflegic.h"
 #include "cmdmain.h"
-
+#include "util.h"
 static int CmdHelp(const char *Cmd);
 
 static command_t CommandTable[] = 
index cbe94efe22900afad7b1171a88f4ca8bc6cc3d16..f225359d7d8801cfb4e053f0d47bce73e1f831e1 100644 (file)
@@ -7,7 +7,7 @@
 //-----------------------------------------------------------------------------\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
@@ -34,7 +34,7 @@ start:
     SendCommand(&c);\r
        \r
        //flush queue\r
-       while (ukbhit()) getchar();\r
+       while (ukbhit())        getchar();\r
 \r
        // wait cycle\r
        while (true) {\r
@@ -71,14 +71,14 @@ start:
                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
@@ -124,10 +124,10 @@ int CmdHF14AMfWrBl(const char *Cmd)
        PrintAndLog("--block no:%d, key type:%c, key:%s", blockNo, keyType?'B':'A', sprint_hex(key, 6));\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
@@ -168,9 +168,9 @@ int CmdHF14AMfRdBl(const char *Cmd)
        }\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
@@ -298,7 +298,7 @@ int CmdHF14AMfDump(const char *Cmd)
        }\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
@@ -321,7 +321,7 @@ int CmdHF14AMfDump(const char *Cmd)
        }\r
        \r
        fclose(fin);\r
-       \r
+\r
        PrintAndLog("|-----------------------------------------|");\r
        PrintAndLog("|------ Reading sector access bits...-----|");\r
        PrintAndLog("|-----------------------------------------|");\r
@@ -374,12 +374,12 @@ int CmdHF14AMfDump(const char *Cmd)
                                        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
@@ -426,7 +426,7 @@ int CmdHF14AMfDump(const char *Cmd)
                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
@@ -461,7 +461,7 @@ int CmdHF14AMfRestore(const char *Cmd)
                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
@@ -470,6 +470,8 @@ int CmdHF14AMfRestore(const char *Cmd)
        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
@@ -477,12 +479,13 @@ int CmdHF14AMfRestore(const char *Cmd)
        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
@@ -690,13 +693,6 @@ int CmdHF14AMfNested(const char *Cmd)
                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
@@ -773,7 +769,7 @@ int CmdHF14AMfNested(const char *Cmd)
                        }\r
                        fclose(fkeys);\r
                }\r
-\r
+               \r
                free(e_sector);\r
        }\r
        return 0;\r
@@ -791,8 +787,8 @@ int CmdHF14AMfChk(const char *Cmd)
                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
@@ -937,8 +933,8 @@ int CmdHF14AMfChk(const char *Cmd)
                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
@@ -983,13 +979,13 @@ int CmdHF14AMfChk(const char *Cmd)
                                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
@@ -997,7 +993,7 @@ int CmdHF14AMfChk(const char *Cmd)
                        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
@@ -1007,7 +1003,7 @@ int CmdHF14AMfChk(const char *Cmd)
 \r
        free(keyBlock);\r
        PrintAndLog("");\r
-  return 0;\r
+       return 0;\r
 }\r
 \r
 int CmdHF14AMf1kSim(const char *Cmd)\r
@@ -1016,12 +1012,16 @@ int CmdHF14AMf1kSim(const char *Cmd)
        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
@@ -1102,7 +1102,7 @@ int CmdHF14AMfDbg(const char *Cmd)
 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
@@ -1169,14 +1169,11 @@ int CmdHF14AMfELoad(const char *Cmd)
        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
@@ -1246,11 +1243,13 @@ int CmdHF14AMfELoad(const char *Cmd)
                        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
@@ -1276,7 +1275,7 @@ int CmdHF14AMfESave(const char *Cmd)
        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
@@ -1285,7 +1284,7 @@ int CmdHF14AMfESave(const char *Cmd)
                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
@@ -1320,7 +1319,7 @@ int CmdHF14AMfESave(const char *Cmd)
        \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
@@ -1452,13 +1451,13 @@ int CmdHF14AMfCSetUID(const char *Cmd)
        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
@@ -1467,11 +1466,10 @@ int CmdHF14AMfCSetUID(const char *Cmd)
 \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
@@ -1496,7 +1494,6 @@ int CmdHF14AMfCSetBlk(const char *Cmd)
                        return 1;\r
                }\r
        \r
-       PrintAndLog("UID:%s", sprint_hex(uid, 4));\r
        return 0;\r
 }\r
 \r
@@ -1511,11 +1508,8 @@ int CmdHF14AMfCLoad(const char *Cmd)
        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
@@ -1562,7 +1556,9 @@ int CmdHF14AMfCLoad(const char *Cmd)
                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
@@ -1597,6 +1593,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
                PrintAndLog("Loaded from file: %s", filename);\r
                return 0;\r
        }\r
+       return 0;\r
 }\r
 \r
 int CmdHF14AMfCGetBlk(const char *Cmd) {\r
@@ -1628,10 +1625,9 @@ int CmdHF14AMfCGetBlk(const char *Cmd) {
 \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
@@ -1729,7 +1725,7 @@ int CmdHF14AMfCSave(const char *Cmd) {
        \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
@@ -1769,18 +1765,19 @@ int CmdHF14AMfSniff(const char *Cmd){
        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
@@ -1793,7 +1790,7 @@ int CmdHF14AMfSniff(const char *Cmd){
        }       \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
@@ -1820,32 +1817,47 @@ int CmdHF14AMfSniff(const char *Cmd){
                        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
@@ -1854,12 +1866,10 @@ int CmdHF14AMfSniff(const char *Cmd){
                                        }\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
@@ -1877,109 +1887,20 @@ int CmdHF14AMfSniff(const char *Cmd){
                                                        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
index 8bd6ec87d64b6f5f337a2d76875810b6ada59aad..8dfb9a3b1cceeb075f0facb06e37119a23a6c9e3 100644 (file)
@@ -7,7 +7,8 @@
 //-----------------------------------------------------------------------------
 // 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;
                }
@@ -89,40 +86,40 @@ int CmdHF14AMfUInfo(const char *Cmd){
 //  Mifare Ultralight Write Single Block
 //
 int CmdHF14AMfUWrBl(const char *Cmd){
-    uint8_t blockNo    = -1;
-    bool chinese_card  = FALSE;
-    uint8_t bldata[16] = {0x00};
-    UsbCommand resp;
+       uint8_t blockNo    = -1;
+       bool chinese_card  = FALSE;
+       uint8_t bldata[16] = {0x00};
+       UsbCommand resp;
 
-       char cmdp = param_getchar(Cmd, 0);
+       char cmdp = param_getchar(Cmd, 0);
        if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') {
-        PrintAndLog("Usage:  hf mfu wrbl <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 {
@@ -139,19 +136,19 @@ int CmdHF14AMfUWrBl(const char *Cmd){
                        }  
                }
        } else {
-           PrintAndLog("--block no:%02x", blockNo);
-           PrintAndLog("--data: %s", sprint_hex(bldata, 4));           
-           UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}};
+               PrintAndLog("--block no:%02x", blockNo);
+               PrintAndLog("--data: %s", sprint_hex(bldata, 4));               
+               UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}};
                memcpy(e.d.asBytes,bldata, 4);
                SendCommand(&e);
-        if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {
-            uint8_t isOK  = resp.arg[0] & 0xff;
-            PrintAndLog("isOk:%02x", isOK);
-        } else {
-            PrintAndLog("Command execute timeout");
-        }
-    }
-    return 0;
+               if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {
+                       uint8_t isOK  = resp.arg[0] & 0xff;
+                       PrintAndLog("isOk:%02x", isOK);
+               } else {
+                       PrintAndLog("Command execute timeout");
+               }
+       }
+       return 0;
 }
 
 //
@@ -159,40 +156,40 @@ int CmdHF14AMfUWrBl(const char *Cmd){
 //
 int CmdHF14AMfURdBl(const char *Cmd){
   
-    uint8_t blockNo = -1;      
+       uint8_t blockNo = -1;   
 
-       char cmdp = param_getchar(Cmd, 0);
+       char cmdp = param_getchar(Cmd, 0);
        
        if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') {    
-        PrintAndLog("Usage:  hf mfu rdbl <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;
 }
 
 //
@@ -200,28 +197,28 @@ int CmdHF14AMfURdBl(const char *Cmd){
 //
 int CmdHF14AMfUDump(const char *Cmd){
 
-    FILE *fout;
+       FILE *fout;
        char filename[FILE_PATH_SIZE] = {0x00};
        char * fnameptr = filename;
        
-    uint8_t *lockbytes_t = NULL;
-    uint8_t lockbytes[2] = {0x00};
+       uint8_t *lockbytes_t = NULL;
+       uint8_t lockbytes[2] = {0x00};
        
-    uint8_t *lockbytes_t2 = NULL;
-    uint8_t lockbytes2[2] = {0x00};
+       uint8_t *lockbytes_t2 = NULL;
+       uint8_t lockbytes2[2] = {0x00};
 
-    bool bit[16]  = {0x00};
+       bool bit[16]  = {0x00};
        bool bit2[16] = {0x00};
        
-    int i;
-    uint8_t BlockNo      = 0;
-    int Pages            = 16;
+       int i;
+       uint8_t BlockNo      = 0;
+       int Pages            = 16;
 
        bool tmplockbit          = false;
-    uint8_t isOK         = 0;
-    uint8_t *data       = NULL;
+       uint8_t isOK         = 0;
+       uint8_t *data       = NULL;
 
-       char cmdp = param_getchar(Cmd, 0);
+       char cmdp = param_getchar(Cmd, 0);
        
        if (cmdp == 'h' || cmdp == 'H') {
                PrintAndLog("Reads all pages from Mifare Ultralight or Ultralight-C tag.");
@@ -238,14 +235,14 @@ int CmdHF14AMfUDump(const char *Cmd){
        Pages = (cmdp == 'c' || cmdp == 'C') ? 44 : 16;
        
        PrintAndLog("Dumping Ultralight%s Card Data...", (Pages ==16)?"":"-C");
-       
-    UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}};
-    SendCommand(&c);
-    UsbCommand resp;
+               
+       UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}};
+       SendCommand(&c);
+       UsbCommand resp;
 
-    if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {
+       if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {
                isOK  = resp.arg[0] & 0xff;
-        if (!isOK) {                
+               if (!isOK) {                
                        PrintAndLog("Command error");
                        return 0;
                }
@@ -282,7 +279,7 @@ int CmdHF14AMfUDump(const char *Cmd){
                        PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4));
                        continue;
                }
-                       
+
                switch(i){
                        case 3: tmplockbit = bit[4]; break;
                        case 4: tmplockbit = bit[3]; break;
@@ -336,33 +333,19 @@ int CmdHF14AMfUDump(const char *Cmd){
        else
                len = param_getstr(Cmd,1,filename);
 
-       if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
+       if (len > FILE_PATH_SIZE-5) len = FILE_PATH_SIZE-5;
 
        // user supplied filename?
        if (len < 1) {
        
                // UID = data 0-1-2 4-5-6-7  (skips a beat)
-               sprintf(fnameptr, "%02X", data[0]);
-               fnameptr += 2;
-               sprintf(fnameptr, "%02X", data[1]);
-               fnameptr += 2;
-               sprintf(fnameptr, "%02X", data[2]);
-               fnameptr += 2;
-               sprintf(fnameptr, "%02X", data[4]);
-               fnameptr += 2;
-               sprintf(fnameptr, "%02X", data[5]);
-               fnameptr += 2;
-               sprintf(fnameptr, "%02X", data[6]);
-               fnameptr += 2;
-               sprintf(fnameptr, "%02X", data[7]);
-               fnameptr += 2;
+               sprintf(fnameptr,"%02X%02X%02X%02X%02X%02X%02X.bin",
+                       data[0],data[1], data[2], data[4],data[5],data[6], data[7]);
 
        } else {
-               fnameptr += len;
+               sprintf(fnameptr + len," .bin");
        }
 
-       // add file extension
-       sprintf(fnameptr, ".bin"); 
 
        if ((fout = fopen(filename,"wb")) == NULL) { 
                PrintAndLog("Could not create file name %s", filename);
@@ -372,16 +355,16 @@ int CmdHF14AMfUDump(const char *Cmd){
        fclose(fout);
        
        PrintAndLog("Dumped %d pages, wrote %d bytes to %s", Pages, Pages*4, filename);
-    return 0;
+       return 0;
 }
 
 // Needed to Authenticate to Ultralight C tags
 void rol (uint8_t *data, const size_t len){
-    uint8_t first = data[0];
-    for (size_t i = 0; i < len-1; i++) {
-        data[i] = data[i+1];
-    }
-    data[len-1] = first;
+       uint8_t first = data[0];
+       for (size_t i = 0; i < len-1; i++) {
+               data[i] = data[i+1];
+       }
+       data[len-1] = first;
 }
 
 //-------------------------------------------------------------------------------
@@ -392,64 +375,51 @@ void rol (uint8_t *data, const size_t len){
 // Ultralight C Authentication Demo {currently uses hard-coded key}
 //
 int CmdHF14AMfucAuth(const char *Cmd){
-        
-    uint8_t blockNo = 0, keyNo = 0;
-    uint8_t e_RndB[8] = {0x00};
-    uint32_t cuid = 0;
-    unsigned char RndARndB[16] = {0x00};
-    uint8_t key[16] = {0x00};
-    DES_cblock RndA, RndB;
-    DES_cblock iv;
-    DES_key_schedule ks1,ks2;
-    DES_cblock key1,key2;
+
+       uint8_t default_keys[5][16] = {
+               { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 },// 3des std key
+               { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },// all zeroes
+               { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f },// 0x00-0x0F
+               { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 },// NFC-key
+               { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 }     // all ones
+       };
 
        char cmdp = param_getchar(Cmd, 0);
-       // 
-       memset(iv, 0, 8);
-       
-    if (cmdp == 'h' || cmdp == 'H') {
-        PrintAndLog("Usage:  hf mfu cauth k <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);
@@ -461,31 +431,57 @@ int CmdHF14AMfucAuth(const char *Cmd){
 
                if (isOK){
                        PrintAndLog("enc(RndB):%s", sprint_hex(data+1, 8));
-                       memcpy(e_RndB,data+1,8);
+                       memcpy(enc_random_b,data+1,8);
                } else {
+                       PrintAndLog("Auth failed");
                        return 2; // auth failed.
                }               
        } else {
                PrintAndLog("Command execute timeout");
                return 1;
        }
-       
-    //Do crypto magic
-    DES_random_key(&RndA);
-    DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0);
-    PrintAndLog("     RndB:%s",sprint_hex(RndB, 8));
-    PrintAndLog("     RndA:%s",sprint_hex(RndA, 8));
-    rol(RndB,8);
-    memcpy(RndARndB,RndA,8);
-    memcpy(RndARndB+8,RndB,8);
-    PrintAndLog("     RA+B:%s",sprint_hex(RndARndB, 16));
-    DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1);
-    PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16));
-
-    //Auth2
-    UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}};
-    memcpy(d.d.asBytes,RndARndB, 16);
-    SendCommand(&d);
+
+       uint8_t iv[8]           = { 0 };
+       // Do we need random ? Right now we use all ones, is that random enough ?
+//    DES_random_key(&RndA);
+
+       PrintAndLog("     RndA  :%s",sprint_hex(random_a, 8));
+       PrintAndLog("     e_RndB:%s",sprint_hex(enc_random_b, 8));
+
+       des3_set2key_dec(&ctx, key);
+
+       des3_crypt_cbc(&ctx      // des3_context *ctx
+               , DES_DECRYPT        // int mode
+               , sizeof(random_b)   // size_t length
+               , iv                 // unsigned char iv[8]
+               , enc_random_b       // const unsigned char *input
+               , random_b           // unsigned char *output
+               );
+
+       PrintAndLog("     RndB:%s",sprint_hex(random_b, 8));
+
+       rol(random_b,8);
+       memcpy(random_a_and_b  ,random_a,8);
+       memcpy(random_a_and_b+8,random_b,8);
+       
+       PrintAndLog("     RA+B:%s",sprint_hex(random_a_and_b, 16));
+
+       des3_set2key_enc(&ctx, key);
+
+       des3_crypt_cbc(&ctx          // des3_context *ctx
+               , DES_ENCRYPT            // int mode
+               , sizeof(random_a_and_b)   // size_t length
+               , enc_random_b           // unsigned char iv[8]
+               , random_a_and_b         // const unsigned char *input
+               , random_a_and_b         // unsigned char *output
+               );
+
+       PrintAndLog("enc(RA+B):%s",sprint_hex(random_a_and_b, 16));
+
+       //Auth2
+       UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}};
+       memcpy(d.d.asBytes,random_a_and_b, 16);
+       SendCommand(&d);
 
        UsbCommand respb;
        if (WaitForResponseTimeout(CMD_ACK,&respb,1500)) {
@@ -502,91 +498,186 @@ int CmdHF14AMfucAuth(const char *Cmd){
                PrintAndLog("Command execute timeout");
                return 1;
        } 
-    return 0;
+       return 0;
 }
+/**
+A test function to validate that the polarssl-function works the same 
+was as the openssl-implementation. 
+Commented out, since it requires openssl 
+
+int CmdTestDES(const char * cmd)
+{
+       uint8_t key[16] = {0x00};       
+       
+       memcpy(key,key3_3des_data,16);  
+       DES_cblock RndA, RndB;
+
+       PrintAndLog("----------OpenSSL DES implementation----------");
+       {
+               uint8_t e_RndB[8] = {0x00};
+               unsigned char RndARndB[16] = {0x00};
+
+               DES_cblock iv = { 0 };
+               DES_key_schedule ks1,ks2;
+               DES_cblock key1,key2;
+
+               memcpy(key,key3_3des_data,16);  
+               memcpy(key1,key,8);
+               memcpy(key2,key+8,8);
+
+
+               DES_set_key((DES_cblock *)key1,&ks1);
+               DES_set_key((DES_cblock *)key2,&ks2);
+
+               DES_random_key(&RndA);
+               PrintAndLog("     RndA:%s",sprint_hex(RndA, 8));
+               PrintAndLog("     e_RndB:%s",sprint_hex(e_RndB, 8));
+               //void DES_ede2_cbc_encrypt(const unsigned char *input,
+               //    unsigned char *output, long length, DES_key_schedule *ks1,
+               //    DES_key_schedule *ks2, DES_cblock *ivec, int enc);
+               DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0);
+
+               PrintAndLog("     RndB:%s",sprint_hex(RndB, 8));
+               rol(RndB,8);
+               memcpy(RndARndB,RndA,8);
+               memcpy(RndARndB+8,RndB,8);
+               PrintAndLog("     RA+B:%s",sprint_hex(RndARndB, 16));
+               DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1);
+               PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16));
+
+       }
+       PrintAndLog("----------PolarSSL implementation----------");
+       {
+               uint8_t random_a[8]     = { 0 };
+               uint8_t enc_random_a[8] = { 0 };
+               uint8_t random_b[8]     = { 0 };
+               uint8_t enc_random_b[8] = { 0 };
+               uint8_t random_a_and_b[16] = { 0 };
+               des3_context ctx        = { 0 };
+
+               memcpy(random_a, RndA,8);
+
+               uint8_t output[8]       = { 0 };
+               uint8_t iv[8]           = { 0 };
+
+               PrintAndLog("     RndA  :%s",sprint_hex(random_a, 8));
+               PrintAndLog("     e_RndB:%s",sprint_hex(enc_random_b, 8));
+
+               des3_set2key_dec(&ctx, key);
+
+               des3_crypt_cbc(&ctx      // des3_context *ctx
+                       , DES_DECRYPT        // int mode
+                       , sizeof(random_b)   // size_t length
+                       , iv                 // unsigned char iv[8]
+                       , enc_random_b       // const unsigned char *input
+                       , random_b           // unsigned char *output
+                       );
+
+               PrintAndLog("     RndB:%s",sprint_hex(random_b, 8));
+
+               rol(random_b,8);
+               memcpy(random_a_and_b  ,random_a,8);
+               memcpy(random_a_and_b+8,random_b,8);
+               
+               PrintAndLog("     RA+B:%s",sprint_hex(random_a_and_b, 16));
+
+               des3_set2key_enc(&ctx, key);
 
+               des3_crypt_cbc(&ctx          // des3_context *ctx
+                       , DES_ENCRYPT            // int mode
+                       , sizeof(random_a_and_b)   // size_t length
+                       , enc_random_b           // unsigned char iv[8]
+                       , random_a_and_b         // const unsigned char *input
+                       , random_a_and_b         // unsigned char *output
+                       );
+
+               PrintAndLog("enc(RA+B):%s",sprint_hex(random_a_and_b, 16));
+       }
+       return 0;       
+}
+**/
 //
 // Ultralight C Read Single Block
 //
 int CmdHF14AMfUCRdBl(const char *Cmd)
 {
-    uint8_t blockNo = -1;
-       char cmdp = param_getchar(Cmd, 0);
+       uint8_t blockNo = -1;
+       char cmdp = param_getchar(Cmd, 0);
        
        if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') {
-        PrintAndLog("Usage:  hf mfu crdbl  <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){
@@ -605,17 +696,17 @@ int CmdHF14AMfUCWrBl(const char *Cmd){
                        }  
                }       
        } else {
-            PrintAndLog("--Block no : 0x%02x", blockNo);
-            PrintAndLog("--Data: %s", sprint_hex(bldata, 4));          
-            UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}};
-            memcpy(e.d.asBytes,bldata, 4);
-            SendCommand(&e);
-            if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {
-                uint8_t isOK  = resp.arg[0] & 0xff;
-                PrintAndLog("isOk : %02x", isOK);
-            } else {
-                PrintAndLog("Command execute timeout");
-            }
+                       PrintAndLog("--Block no : 0x%02x", blockNo);
+                       PrintAndLog("--Data: %s", sprint_hex(bldata, 4));               
+                       UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}};
+                       memcpy(e.d.asBytes,bldata, 4);
+                       SendCommand(&e);
+                       if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) {
+                               uint8_t isOK  = resp.arg[0] & 0xff;
+                               PrintAndLog("isOk : %02x", isOK);
+                       } else {
+                               PrintAndLog("Command execute timeout");
+                       }
        }
        return 0;
 }
@@ -625,25 +716,26 @@ int CmdHF14AMfUCWrBl(const char *Cmd){
 //------------------------------------
 static command_t CommandTable[] =
 {
-    {"help",   CmdHelp,                        1,"This help"},
-    {"dbg",            CmdHF14AMfDbg,          0,"Set default debug mode"},
+       {"help",        CmdHelp,                        1,"This help"},
+       {"dbg",         CmdHF14AMfDbg,          0,"Set default debug mode"},
        {"info",        CmdHF14AMfUInfo,        0,"Taginfo"},
        {"dump",        CmdHF14AMfUDump,        0,"Dump MIFARE Ultralight / Ultralight-C tag to binary file"},
-    {"rdbl",   CmdHF14AMfURdBl,        0,"Read block - MIFARE Ultralight"},
-    {"wrbl",   CmdHF14AMfUWrBl,        0,"Write block - MIFARE Ultralight"},    
-    {"crdbl",  CmdHF14AMfUCRdBl,       0,"Read block - MIFARE Ultralight C"},
-    {"cwrbl",  CmdHF14AMfUCWrBl,       0,"Write MIFARE Ultralight C block"},   
+       {"rdbl",        CmdHF14AMfURdBl,        0,"Read block - MIFARE Ultralight"},
+       {"wrbl",        CmdHF14AMfUWrBl,        0,"Write block - MIFARE Ultralight"},    
+       {"crdbl",       CmdHF14AMfUCRdBl,       0,"Read block - MIFARE Ultralight C"},
+       {"cwrbl",       CmdHF14AMfUCWrBl,       0,"Write MIFARE Ultralight C block"},   
        {"cauth",       CmdHF14AMfucAuth,       0,"try a Ultralight C Authentication"},
-    {NULL, NULL, 0, NULL}
+       //{"testdes", CmdTestDES ,        1, "Test DES"},
+       {NULL, NULL, 0, NULL}
 };
 
 int CmdHFMFUltra(const char *Cmd){
-    WaitForResponseTimeout(CMD_ACK,NULL,100);
-    CmdsParse(CommandTable, Cmd);
-    return 0;
+       WaitForResponseTimeout(CMD_ACK,NULL,100);
+       CmdsParse(CommandTable, Cmd);
+       return 0;
 }
 
 int CmdHelp(const char *Cmd){
-    CmdsHelp(CommandTable);
-    return 0;
+       CmdsHelp(CommandTable);
+       return 0;
 }
\ No newline at end of file
index e38eee51f410bd5edadcdf5eb8a5ccb551577251..07a8750f7d20e3b9a3131003276136892ed7824a 100644 (file)
@@ -19,8 +19,8 @@
 #include "cmdparser.h"
 #include "cmdmain.h"
 #include "cmddata.h"
+#include "util.h"
 #include "cmdlf.h"
-#include "cmdlfawid26.h"
 #include "cmdlfhid.h"
 #include "cmdlfti.h"
 #include "cmdlfem4x.h"
@@ -48,377 +48,374 @@ int CmdLFCommandRead(const char *Cmd)
 
 int CmdFlexdemod(const char *Cmd)
 {
-       int i;
-       for (i = 0; i < GraphTraceLen; ++i) {
-               if (GraphBuffer[i] < 0) {
-                       GraphBuffer[i] = -1;
-               } else {
-                       GraphBuffer[i] = 1;
-               }
-       }
+  int i;
+  for (i = 0; i < GraphTraceLen; ++i) {
+    if (GraphBuffer[i] < 0) {
+      GraphBuffer[i] = -1;
+    } else {
+      GraphBuffer[i] = 1;
+    }
+  }
 
-       #define LONG_WAIT 100
-       int start;
-       for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) {
-               int first = GraphBuffer[start];
-               for (i = start; i < start + LONG_WAIT; i++) {
-                       if (GraphBuffer[i] != first) {
-                               break;
-                       }
-               }
-               if (i == (start + LONG_WAIT)) {
-               break;
-               }
-       }
-       if (start == GraphTraceLen - LONG_WAIT) {
-               //PrintAndLog("nothing to wait for");
-               return 0;
-       }
+#define LONG_WAIT 100
+  int start;
+  for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) {
+    int first = GraphBuffer[start];
+    for (i = start; i < start + LONG_WAIT; i++) {
+      if (GraphBuffer[i] != first) {
+        break;
+      }
+    }
+    if (i == (start + LONG_WAIT)) {
+      break;
+    }
+  }
+  if (start == GraphTraceLen - LONG_WAIT) {
+    PrintAndLog("nothing to wait for");
+    return 0;
+  }
 
-       GraphBuffer[start] = 2;
-       GraphBuffer[start+1] = -2;
+  GraphBuffer[start] = 2;
+  GraphBuffer[start+1] = -2;
        uint8_t bits[64] = {0x00};
 
        int bit, sum;
-       i = start;
-       for (bit = 0; bit < 64; bit++) {
+  i = start;
+  for (bit = 0; bit < 64; bit++) {
                sum = 0;
                for (int j = 0; j < 16; j++) {
-                       sum += GraphBuffer[i++];
-               }
+      sum += GraphBuffer[i++];
+    }
 
                bits[bit] = (sum > 0) ? 1 : 0;
 
-               PrintAndLog("bit %d sum %d", bit, sum);
-       }
+    PrintAndLog("bit %d sum %d", bit, sum);
+  }
 
-       for (bit = 0; bit < 64; bit++) {
-               int j;
-               int sum = 0;
-               for (j = 0; j < 16; j++) {
-                       sum += GraphBuffer[i++];
-               }
-               if (sum > 0 && bits[bit] != 1) {
-                       PrintAndLog("oops1 at %d", bit);
-               }
-               if (sum < 0 && bits[bit] != 0) {
-                       PrintAndLog("oops2 at %d", bit);
-               }
-       }
+  for (bit = 0; bit < 64; bit++) {
+    int j;
+    int sum = 0;
+    for (j = 0; j < 16; j++) {
+      sum += GraphBuffer[i++];
+    }
+    if (sum > 0 && bits[bit] != 1) {
+      PrintAndLog("oops1 at %d", bit);
+    }
+    if (sum < 0 && bits[bit] != 0) {
+      PrintAndLog("oops2 at %d", bit);
+    }
+  }
 
        // HACK writing back to graphbuffer.
-       GraphTraceLen = 32*64;
-       i = 0;
-       int phase = 0;
-       for (bit = 0; bit < 64; bit++) {
+  GraphTraceLen = 32*64;
+  i = 0;
+  int phase = 0;
+  for (bit = 0; bit < 64; bit++) {
        
                phase = (bits[bit] == 0) ? 0 : 1;
                
-               int j;
-               for (j = 0; j < 32; j++) {
-                       GraphBuffer[i++] = phase;
-                       phase = !phase;
-               }
-       }
+    int j;
+    for (j = 0; j < 32; j++) {
+      GraphBuffer[i++] = phase;
+      phase = !phase;
+    }
+  }
 
-       RepaintGraphWindow();
-       return 0;
+  RepaintGraphWindow();
+  return 0;
 }
   
 int CmdIndalaDemod(const char *Cmd)
 {
-       // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID
+  // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID
 
-       int state = -1;
-       int count = 0;
-       int i, j;
+  int state = -1;
+  int count = 0;
+  int i, j;
 
-       // worst case with GraphTraceLen=64000 is < 4096
-       // under normal conditions it's < 2048
+  // worst case with GraphTraceLen=64000 is < 4096
+  // under normal conditions it's < 2048
 
-       uint8_t rawbits[4096];
-       int rawbit = 0;
-       int worst = 0, worstPos = 0;
+  uint8_t rawbits[4096];
+  int rawbit = 0;
+  int worst = 0, worstPos = 0;
  // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32);
-       for (i = 0; i < GraphTraceLen-1; i += 2) {
-               count += 1;
-               if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) {
-                       if (state == 0) {
-                               for (j = 0; j <  count - 8; j += 16) {
-                                       rawbits[rawbit++] = 0;
-                               }
-                               if ((abs(count - j)) > worst) {
-                                       worst = abs(count - j);
-                                       worstPos = i;
-                               }
-                       }
-                       state = 1;
-                       count = 0;
-                       } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) {
-                               if (state == 1) {
-                                       for (j = 0; j <  count - 8; j += 16) {
-                                               rawbits[rawbit++] = 1;
-                                       }
-                                       if ((abs(count - j)) > worst) {
-                                               worst = abs(count - j);
-                                               worstPos = i;
-                                       }
-                               }
-                               state = 0;
-                               count = 0;
-                       }
-       }
+  for (i = 0; i < GraphTraceLen-1; i += 2) {
+    count += 1;
+    if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) {
+      if (state == 0) {
+        for (j = 0; j <  count - 8; j += 16) {
+          rawbits[rawbit++] = 0;
+        }
+        if ((abs(count - j)) > worst) {
+          worst = abs(count - j);
+          worstPos = i;
+        }
+      }
+      state = 1;
+      count = 0;
+    } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) {
+      if (state == 1) {
+        for (j = 0; j <  count - 8; j += 16) {
+          rawbits[rawbit++] = 1;
+        }
+        if ((abs(count - j)) > worst) {
+          worst = abs(count - j);
+          worstPos = i;
+        }
+      }
+      state = 0;
+      count = 0;
+    }
+  }
   
-       if (rawbit>0){
-               PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32);
-               PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos);
+  if (rawbit>0){
+    PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32);
+    PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos);
        } else {
                return 0;
        }
 
-       // Finding the start of a UID
-       int uidlen, long_wait;
-       if (strcmp(Cmd, "224") == 0) {
-               uidlen = 224;
-               long_wait = 30;
-       } else {
-               uidlen = 64;
-               long_wait = 29;
-       }
+  // Finding the start of a UID
+  int uidlen, long_wait;
+  if (strcmp(Cmd, "224") == 0) {
+    uidlen = 224;
+    long_wait = 30;
+  } else {
+    uidlen = 64;
+    long_wait = 29;
+  }
 
-       int start;
-       int first = 0;
-       for (start = 0; start <= rawbit - uidlen; start++) {
-               first = rawbits[start];
-               for (i = start; i < start + long_wait; i++) {
-                       if (rawbits[i] != first) {
-                               break;
-                       }
-               }
-               if (i == (start + long_wait)) {
-                       break;
-               }
-       }
+  int start;
+  int first = 0;
+  for (start = 0; start <= rawbit - uidlen; start++) {
+    first = rawbits[start];
+    for (i = start; i < start + long_wait; i++) {
+      if (rawbits[i] != first) {
+        break;
+      }
+    }
+    if (i == (start + long_wait)) {
+      break;
+    }
+  }
   
-       if (start == rawbit - uidlen + 1) {
-               //PrintAndLog("nothing to wait for");
-               return 0;
-       }
+  if (start == rawbit - uidlen + 1) {
+    PrintAndLog("nothing to wait for");
+    return 0;
+  }
 
-       // Inverting signal if needed
-       if (first == 1) {
-               for (i = start; i < rawbit; i++) {
-                       rawbits[i] = !rawbits[i];
-               }
-       }
+  // Inverting signal if needed
+  if (first == 1) {
+    for (i = start; i < rawbit; i++) {
+      rawbits[i] = !rawbits[i];
+    }
+  }
 
-       // Dumping UID
+  // Dumping UID
        uint8_t bits[224] = {0x00};
        char showbits[225] = {0x00};
-       int bit;
-       i = start;
-       int times = 0;
+  int bit;
+  i = start;
+  int times = 0;
        
-       if (uidlen > rawbit) {
-               PrintAndLog("Warning: not enough raw bits to get a full UID");
-               for (bit = 0; bit < rawbit; bit++) {
-                       bits[bit] = rawbits[i++];
-                       // As we cannot know the parity, let's use "." and "/"
-                       showbits[bit] = '.' + bits[bit];
-               }
-               showbits[bit+1]='\0';
-               PrintAndLog("Partial UID=%s", showbits);
-               return 0;
-       } else {
-               for (bit = 0; bit < uidlen; bit++) {
-                       bits[bit] = rawbits[i++];
-                       showbits[bit] = '0' + bits[bit];
-               }
-               times = 1;
-       }
+  if (uidlen > rawbit) {
+    PrintAndLog("Warning: not enough raw bits to get a full UID");
+    for (bit = 0; bit < rawbit; bit++) {
+      bits[bit] = rawbits[i++];
+      // As we cannot know the parity, let's use "." and "/"
+      showbits[bit] = '.' + bits[bit];
+    }
+    showbits[bit+1]='\0';
+    PrintAndLog("Partial UID=%s", showbits);
+    return 0;
+  } else {
+    for (bit = 0; bit < uidlen; bit++) {
+      bits[bit] = rawbits[i++];
+      showbits[bit] = '0' + bits[bit];
+    }
+    times = 1;
+  }
   
-       //convert UID to HEX
-       uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7;
-       int idx;
+  //convert UID to HEX
+  uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7;
+  int idx;
        uid1 = uid2 = 0;
        
-       if (uidlen == 64){
-               for( idx=0; idx<64; idx++) {
-                       if (showbits[idx] == '0') {
-                               uid1 = (uid1<<1) | (uid2>>31);
-                               uid2 = (uid2<<1) | 0;
-                       } else {
-                               uid1 = (uid1<<1) | (uid2>>31);
-                               uid2 = (uid2<<1) | 1;
-                       }
-               }
-               PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2);
-       }
-       else {
+  if (uidlen==64){
+    for( idx=0; idx<64; idx++) {
+        if (showbits[idx] == '0') {
+        uid1=(uid1<<1)|(uid2>>31);
+        uid2=(uid2<<1)|0;
+        } else {
+        uid1=(uid1<<1)|(uid2>>31);
+        uid2=(uid2<<1)|1;
+        } 
+      }
+    PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2);
+  }
+  else {
                uid3 = uid4 = uid5 = uid6 = uid7 = 0;
 
-               for( idx=0; idx<224; idx++) {
-                       uid1 = (uid1<<1) | (uid2>>31);
-                       uid2 = (uid2<<1) | (uid3>>31);
-                       uid3 = (uid3<<1) | (uid4>>31);
-                       uid4 = (uid4<<1) | (uid5>>31);
-                       uid5 = (uid5<<1) | (uid6>>31);
-                       uid6 = (uid6<<1) | (uid7>>31);
+    for( idx=0; idx<224; idx++) {
+        uid1=(uid1<<1)|(uid2>>31);
+        uid2=(uid2<<1)|(uid3>>31);
+        uid3=(uid3<<1)|(uid4>>31);
+        uid4=(uid4<<1)|(uid5>>31);
+        uid5=(uid5<<1)|(uid6>>31);
+        uid6=(uid6<<1)|(uid7>>31);
                        
                        if (showbits[idx] == '0') 
                                uid7 = (uid7<<1) | 0;
                        else 
                                uid7 = (uid7<<1) | 1;
-               }
-               PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7);
-       }
+      }
+    PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7);
+  }
 
-       // Checking UID against next occurrences
-       int failed = 0;
+  // Checking UID against next occurrences
+    int failed = 0;
        for (; i + uidlen <= rawbit;) {
                failed = 0;
-               for (bit = 0; bit < uidlen; bit++) {
-                       if (bits[bit] != rawbits[i++]) {
-                               failed = 1;
-                               break;
-                       }
-               }
-               if (failed == 1) {
-                       break;
-               }
-               times += 1;
-       }
+    for (bit = 0; bit < uidlen; bit++) {
+      if (bits[bit] != rawbits[i++]) {
+        failed = 1;
+        break;
+      }
+    }
+    if (failed == 1) {
+      break;
+    }
+    times += 1;
+  }
 
-       PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen);
+  PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen);
 
-       // Remodulating for tag cloning
+  // Remodulating for tag cloning
        // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) 
        // since this changes graphbuffer data.
-       GraphTraceLen = 32 * uidlen;
-       i = 0;
-       int phase = 0;
-       for (bit = 0; bit < uidlen; bit++) {
-               if (bits[bit] == 0) {
-                 phase = 0;
-               } else {
-                 phase = 1;
-               }
-               int j;
-               for (j = 0; j < 32; j++) {
-                 GraphBuffer[i++] = phase;
-                 phase = !phase;
-               }
-       }
+  GraphTraceLen = 32*uidlen;
+  i = 0;
+  int phase = 0;
+  for (bit = 0; bit < uidlen; bit++) {
+    if (bits[bit] == 0) {
+      phase = 0;
+    } else {
+      phase = 1;
+    }
+    int j;
+    for (j = 0; j < 32; j++) {
+      GraphBuffer[i++] = phase;
+      phase = !phase;
+    }
+  }
 
-       RepaintGraphWindow();
-       return 1;
+  RepaintGraphWindow();
+  return 1;
 }
 
 int CmdIndalaClone(const char *Cmd)
 {
-       UsbCommand c;
+  UsbCommand c;
        unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7;
 
        uid1 =  uid2 = uid3 = uid4 = uid5 = uid6 = uid7 = 0;
-       int n = 0, i = 0;
-
-       if (strchr(Cmd,'l') != 0) {
-               while (sscanf(&Cmd[i++], "%1x", &n ) == 1) {
-                       uid1 = (uid1 << 4) | (uid2 >> 28);
-                       uid2 = (uid2 << 4) | (uid3 >> 28);
-                       uid3 = (uid3 << 4) | (uid4 >> 28);
-                       uid4 = (uid4 << 4) | (uid5 >> 28);
-                       uid5 = (uid5 << 4) | (uid6 >> 28);
-                       uid6 = (uid6 << 4) | (uid7 >> 28);
-                       uid7 = (uid7 << 4) | (n & 0xf);
-               }
-               PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7);
-               c.cmd = CMD_INDALA_CLONE_TAG_L;
-               c.d.asDwords[0] = uid1;
-               c.d.asDwords[1] = uid2;
-               c.d.asDwords[2] = uid3;
-               c.d.asDwords[3] = uid4;
-               c.d.asDwords[4] = uid5;
-               c.d.asDwords[5] = uid6;
-               c.d.asDwords[6] = uid7;
+  int n = 0, i = 0;
+
+  if (strchr(Cmd,'l') != 0) {
+    while (sscanf(&Cmd[i++], "%1x", &n ) == 1) {
+      uid1 = (uid1 << 4) | (uid2 >> 28);
+      uid2 = (uid2 << 4) | (uid3 >> 28);
+      uid3 = (uid3 << 4) | (uid4 >> 28);
+      uid4 = (uid4 << 4) | (uid5 >> 28);
+      uid5 = (uid5 << 4) | (uid6 >> 28);
+      uid6 = (uid6 << 4) | (uid7 >> 28);
+       uid7 = (uid7 << 4) | (n & 0xf);
+    }
+    PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7);
+    c.cmd = CMD_INDALA_CLONE_TAG_L;
+    c.d.asDwords[0] = uid1;
+    c.d.asDwords[1] = uid2;
+    c.d.asDwords[2] = uid3;
+    c.d.asDwords[3] = uid4;
+    c.d.asDwords[4] = uid5;
+    c.d.asDwords[5] = uid6;
+    c.d.asDwords[6] = uid7;
        } else {
-               while (sscanf(&Cmd[i++], "%1x", &n ) == 1) {
-                       uid1 = (uid1 << 4) | (uid2 >> 28);
-                       uid2 = (uid2 << 4) | (n & 0xf);
-               }
-               PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2);
-               c.cmd = CMD_INDALA_CLONE_TAG;
-               c.arg[0] = uid1;
-               c.arg[1] = uid2;
-       }
+    while (sscanf(&Cmd[i++], "%1x", &n ) == 1) {
+      uid1 = (uid1 << 4) | (uid2 >> 28);
+      uid2 = (uid2 << 4) | (n & 0xf);
+    }
+    PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2);
+    c.cmd = CMD_INDALA_CLONE_TAG;
+    c.arg[0] = uid1;
+    c.arg[1] = uid2;
+  }
 
-       SendCommand(&c);
-       return 0;
+  SendCommand(&c);
+  return 0;
 }
 
 int CmdLFRead(const char *Cmd)
 {
-       UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K};
-
-       // 'h' means higher-low-frequency, 134 kHz
-       if(*Cmd == 'h') {
-               c.arg[0] = 1;
-       } else if (*Cmd == '\0') {
-               c.arg[0] = 0;
-       } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) {
+  UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K};
+
+  // 'h' means higher-low-frequency, 134 kHz
+  if(*Cmd == 'h') {
+    c.arg[0] = 1;
+  } else if (*Cmd == '\0') {
+    c.arg[0] = 0;
+  } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) {
                PrintAndLog("Samples 1: 'lf read'");
                PrintAndLog("        2: 'lf read h'");
                PrintAndLog("        3: 'lf read <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)
@@ -434,57 +431,51 @@ int CmdLFSimBidir(const char *Cmd)
 /* simulate an LF Manchester encoded tag with specified bitstream, clock rate and inter-id gap */
 int CmdLFSimManchester(const char *Cmd)
 {
-       static int clock, gap;
-       static char data[1024], gapstring[8];
+  static int clock, gap;
+  static char data[1024], gapstring[8];
 
-       sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap);
+  sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap);
 
-       ClearGraph(0);
+  ClearGraph(0);
 
-       for (int i = 0; i < strlen(data) ; ++i)
-               AppendGraph(0, clock, data[i]- '0');
+  for (int i = 0; i < strlen(data) ; ++i)
+    AppendGraph(0, clock, data[i]- '0');
 
-       CmdManchesterMod("");
+  CmdManchesterMod("");
 
-       RepaintGraphWindow();
+  RepaintGraphWindow();
 
-       sprintf(&gapstring[0], "%i", gap);
-       CmdLFSim(gapstring);
-       return 0;
+  sprintf(&gapstring[0], "%i", gap);
+  CmdLFSim(gapstring);
+  return 0;
 }
 
 int CmdLFSnoop(const char *Cmd)
 {
-       UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES};
+  UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES};
 
-       // 'h' means higher-low-frequency, 134 kHz
-       c.arg[0] = 0;
-       c.arg[1] = -1;
+  // 'h' means higher-low-frequency, 134 kHz
+  c.arg[0] = 0;
+  c.arg[1] = -1;
 
        if (*Cmd == 'l') {
-               sscanf(Cmd, "l %"lli, &c.arg[1]);
-       } else if (*Cmd == 'h') {
-               c.arg[0] = 1;
-               sscanf(Cmd, "h %"lli, &c.arg[1]);
-       } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) {
+    sscanf(Cmd, "l %"lli, &c.arg[1]);
+  } else if(*Cmd == 'h') {
+    c.arg[0] = 1;
+    sscanf(Cmd, "h %"lli, &c.arg[1]);
+  } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) {
                PrintAndLog("usage 1:  snoop");
-               PrintAndLog("      2:  snoop {l,h} [trigger threshold]");
+               PrintAndLog("      2:  snoop <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)
@@ -566,7 +557,7 @@ int CmdVchDemod(const char *Cmd)
 //by marshmellow
 int CmdLFfind(const char *Cmd)
 {
-       int ans = 0;
+  int ans=0;
        char cmdp = param_getchar(Cmd, 0);
        
        if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') {
@@ -578,69 +569,77 @@ int CmdLFfind(const char *Cmd)
                return 0;
        }
 
-       if (!offline || (cmdp != '1') ){
-               ans = CmdLFRead("");
+       if (!offline && (cmdp != '1')){
+    ans=CmdLFRead("");
+    ans=CmdSamples("20000");
        } else if (GraphTraceLen < 1000) {
                PrintAndLog("Data in Graphbuffer was too small.");
                return 0;
-       }
-
-       PrintAndLog("Checking for known tags:");
-
-       ans = Cmdaskmandemod("");
-       PrintAndLog("ASK_MAN: %s", (ans) ? "YES":"NO" );
-
-       ans = CmdFSKdemodHID("");
-       PrintAndLog("HID: %s", (ans) ? "YES":"NO" );
-
-       ans = CmdFSKdemodIO("");
-       PrintAndLog("IO prox: %s", (ans) ? "YES":"NO" );
-
-       ans = CmdIndalaDemod("");
-       PrintAndLog("Indala (64): %s", (ans) ? "YES":"NO" );
-
-       ans = CmdIndalaDemod("224");
-       PrintAndLog("Indala (224): %s", (ans) ? "YES":"NO" );
-
-       // ans = CmdVchDemod("");
-       // PrintAndLog("VeriChip: %s", (ans) ? "YES":"NO" );
-
-       // ans = CmdFlexdemod("");
-       // PrintAndLog("FlexPass: %s", (ans) ? "YES":"NO" );
-       
-       if (!ans)
-               PrintAndLog("No Known Tags Found!\n");
+  }
 
-       return 0;
+  PrintAndLog("NOTE: some demods output possible binary\n  if it finds something that looks like a tag");
+  PrintAndLog("\nChecking for known tags:\n");
+  ans=CmdFSKdemodIO("");
+  if (ans>0) {
+    PrintAndLog("\nValid IO Prox ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodPyramid("");
+  if (ans>0) {
+    PrintAndLog("\nValid Pyramid ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodParadox("");
+  if (ans>0) {
+    PrintAndLog("\nValid Paradox ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodAWID("");
+  if (ans>0) {
+    PrintAndLog("\nValid AWID ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodHID("");
+  if (ans>0) {
+    PrintAndLog("\nValid HID Prox ID Found!");
+    return 1;
+  }
+  //add psk and indala
+  ans=CmdIndalaDecode("");
+  if (ans>0) {
+    PrintAndLog("\nValid Indala ID Found!");
+    return 1;
+  }
+  ans=Cmdaskmandemod("");
+  if (ans>0) {
+    PrintAndLog("\nValid EM410x ID Found!");
+    return 1;
+  }
+  PrintAndLog("No Known Tags Found!\n");
+  return 0;
 }
 
 static command_t CommandTable[] = 
 {
   {"help",        CmdHelp,            1, "This help"},
   {"cmdread",     CmdLFCommandRead,   0, "<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}
 };
 
index 978c41c325830e1c75cfc76c4c5fef3aeb3b6bf5..95b0342d4d5d3a0e204ad18c5d2169a22df3fc79 100644 (file)
@@ -1,4 +1,4 @@
- //-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 // 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);
@@ -32,10 +27,10 @@ int CmdEMdemodASK(const char *Cmd)
 {
        char cmdp = param_getchar(Cmd, 0);
        int findone = (cmdp == '1') ? 1 : 0;    
-       UsbCommand c = { CMD_EM410X_DEMOD };
-       c.arg[0] = findone;
-       SendCommand(&c);
-       return 0;
+  UsbCommand c={CMD_EM410X_DEMOD};
+  c.arg[0]=findone;
+  SendCommand(&c);
+  return 0;
 }
 
 /* Read the ID of an EM410x tag.
@@ -56,15 +51,19 @@ int CmdEM410xRead(const char *Cmd)
   uint8_t BitStream[MAX_GRAPH_TRACE_LEN];
   high = low = 0;
 
-  // get clock 
-  clock = GetClock(Cmd, 0);
-  
-  // Detect high and lows and clock 
-  DetectHighLowInGraph( &high, &low, TRUE);
+  /* Detect high and lows and clock */
+  for (i = 0; i < GraphTraceLen; i++)
+  {
+    if (GraphBuffer[i] > high)
+      high = GraphBuffer[i];
+    else if (GraphBuffer[i] < low)
+      low = GraphBuffer[i];
+  }
 
-  PrintAndLog("NUMNUM");
-  
-  // parity for our 4 columns
+  /* get clock */
+  clock = GetClock(Cmd, high, 0);
+
+  /* parity for our 4 columns */
   parity[0] = parity[1] = parity[2] = parity[3] = 0;
   header = rows = 0;
 
@@ -101,10 +100,10 @@ int CmdEM410xRead(const char *Cmd)
 
     BitStream[bit2idx++] = bit;
   }
-  
+
 retest:
   /* We go till 5 before the graph ends because we'll get that far below */
-  for (i = 0; i < bit2idx - 5; i++)
+  for (i = 1; i < bit2idx - 5; i++)
   {
     /* Step 2: We have our header but need our tag ID */
     if (header == 9 && rows < 10)
@@ -133,7 +132,7 @@ retest:
         PrintAndLog("Thought we had a valid tag but failed at word %d (i=%d)", rows + 1, i);
 
         /* Start back rows * 5 + 9 header bits, -1 to not start at same place */
-        i -= 9 + (5 * rows) -5;
+        i -= 9 + (5 * rows) - 5;
 
         rows = header = 0;
       }
@@ -183,12 +182,12 @@ retest:
   /* if we've already retested after flipping bits, return */
        if (retested++){
                PrintAndLog("Failed to decode");
-               return 0;
+    return 0;
        }
 
   /* if this didn't work, try flipping bits */
-       for (i = 0; i < bit2idx; i++)
-               BitStream[i] ^= 1;
+  for (i = 0; i < bit2idx; i++)
+    BitStream[i] ^= 1;
 
   goto retest;
 }
@@ -202,7 +201,7 @@ retest:
  *   0                     <-- stop bit, end of tag
  */
 int CmdEM410xSim(const char *Cmd)
-{      
+{
        int i, n, j, binary[4], parity[4];
 
        char cmdp = param_getchar(Cmd, 0);
@@ -222,13 +221,13 @@ int CmdEM410xSim(const char *Cmd)
        
        PrintAndLog("Starting simulating UID %02X%02X%02X%02X%02X", uid[0],uid[1],uid[2],uid[3],uid[4]);
        PrintAndLog("Press pm3-button to about simulation");
-  
+
   /* clock is 64 in EM410x tags */
   int clock = 64;
 
   /* clear our graph */
   ClearGraph(0);
-  
+
     /* write 9 start bits */
     for (i = 0; i < 9; i++)
       AppendGraph(0, clock, 1);
@@ -264,7 +263,7 @@ int CmdEM410xSim(const char *Cmd)
     AppendGraph(0, clock, parity[2]);
     AppendGraph(0, clock, parity[3]);
 
-  /* stop bit */
+    /* stop bit */
   AppendGraph(1, clock, 0);
  
   CmdLFSim("240"); //240 start_gap.
@@ -292,7 +291,7 @@ int CmdEM410xWatch(const char *Cmd)
                }
                
                CmdLFRead(read_h ? "h" : "");
-               CmdSamples("6000");
+               CmdSamples("6000");             
        } while (
                !CmdEM410xRead("") 
        );
@@ -522,79 +521,47 @@ int CmdEM410xWrite(const char *Cmd)
 int CmdReadWord(const char *Cmd)
 {
        int Word = -1; //default to invalid word
-       UsbCommand c;
+  UsbCommand c;
   
-       sscanf(Cmd, "%d", &Word);
+  sscanf(Cmd, "%d", &Word);
   
        if ( (Word > 15) | (Word < 0) ) {
-               PrintAndLog("Word must be between 0 and 15");
-               return 1;
-       }
+    PrintAndLog("Word must be between 0 and 15");
+    return 1;
+  }
   
-       PrintAndLog("Reading word %d", Word);
+  PrintAndLog("Reading word %d", Word);
   
-       c.cmd = CMD_EM4X_READ_WORD;
-       c.d.asBytes[0] = 0x0; //Normal mode
-       c.arg[0] = 0;
-       c.arg[1] = Word;
-       c.arg[2] = 0;
-       SendCommand(&c);
-       WaitForResponse(CMD_ACK, NULL);
-
-       uint8_t data[LF_TRACE_BUFF_SIZE] = {0x00};
-
-       GetFromBigBuf(data,LF_TRACE_BUFF_SIZE,0);  //3560 -- should be offset..
-       WaitForResponseTimeout(CMD_ACK,NULL, 1500);
-
-       for (int j = 0; j < LF_TRACE_BUFF_SIZE; j++) {
-               GraphBuffer[j] = ((int)data[j]);
-       }
-       GraphTraceLen = LF_TRACE_BUFF_SIZE;
-       
-       uint8_t bits[LF_BITSSTREAM_LEN] = {0x00};
-       uint8_t * bitstream = bits;
-       manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream,LF_BITSSTREAM_LEN);
-       RepaintGraphWindow();
+  c.cmd = CMD_EM4X_READ_WORD;
+  c.d.asBytes[0] = 0x0; //Normal mode
+  c.arg[0] = 0;
+  c.arg[1] = Word;
+  c.arg[2] = 0;
+  SendCommand(&c);
   return 0;
 }
 
 int CmdReadWordPWD(const char *Cmd)
 {
        int Word = -1; //default to invalid word
-       int Password = 0xFFFFFFFF; //default to blank password
-       UsbCommand c;
-
-       sscanf(Cmd, "%d %x", &Word, &Password);
-
+  int Password = 0xFFFFFFFF; //default to blank password
+  UsbCommand c;
+  
+  sscanf(Cmd, "%d %x", &Word, &Password);
+  
        if ( (Word > 15) | (Word < 0) ) {
-               PrintAndLog("Word must be between 0 and 15");
-               return 1;
-       }
+    PrintAndLog("Word must be between 0 and 15");
+    return 1;
+  }
   
-       PrintAndLog("Reading word %d with password %08X", Word, Password);
-
-       c.cmd = CMD_EM4X_READ_WORD;
-       c.d.asBytes[0] = 0x1; //Password mode
-       c.arg[0] = 0;
-       c.arg[1] = Word;
-       c.arg[2] = Password;
-       SendCommand(&c);
-       WaitForResponse(CMD_ACK, NULL);
-               
-       uint8_t data[LF_TRACE_BUFF_SIZE] = {0x00};
-
-       GetFromBigBuf(data,LF_TRACE_BUFF_SIZE,0);  //3560 -- should be offset..
-       WaitForResponseTimeout(CMD_ACK,NULL, 1500);
-
-       for (int j = 0; j < LF_TRACE_BUFF_SIZE; j++) {
-               GraphBuffer[j] = ((int)data[j]);
-       }
-       GraphTraceLen = LF_TRACE_BUFF_SIZE;
-       
-       uint8_t bits[LF_BITSSTREAM_LEN] = {0x00};
-       uint8_t * bitstream = bits;     
-       manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream, LF_BITSSTREAM_LEN);
-       RepaintGraphWindow();
+  PrintAndLog("Reading word %d with password %08X", Word, Password);
+  
+  c.cmd = CMD_EM4X_READ_WORD;
+  c.d.asBytes[0] = 0x1; //Password mode
+  c.arg[0] = 0;
+  c.arg[1] = Word;
+  c.arg[2] = Password;
+  SendCommand(&c);
   return 0;
 }
 
@@ -650,280 +617,20 @@ int CmdWriteWordPWD(const char *Cmd)
 static command_t CommandTable[] =
 {
   {"help", CmdHelp, 1, "This help"},
-  {"410xdemod", CmdEMdemodASK, 0, "[clock rate] -- Extract ID from EM410x tag"},    
-  {"410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"},
-  {"410xsim", CmdEM410xSim, 0, "<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);
index 93d06406851c581ed8e35e55786c76ee50b5157c..c6d54e78e24bbbbbf44f9342cdbb7c6567f278d6 100644 (file)
@@ -39,12 +39,12 @@ int CmdHIDDemod(const char *Cmd)
 
 int CmdHIDDemodFSK(const char *Cmd)
 {
-       int findone = 0;
+  int findone=0;
        if(Cmd[0]=='1') findone=1;
-       UsbCommand c = {CMD_HID_DEMOD_FSK};
-       c.arg[0]=findone;
-       SendCommand(&c);
-       return 0;
+  UsbCommand c={CMD_HID_DEMOD_FSK};
+  c.arg[0]=findone;
+  SendCommand(&c);
+  return 0;
 }
 
 int CmdHIDSim(const char *Cmd)
index 74578eea7f6de289b35b7d20d8086340c0ecddc7..fe5ba587617a502d9b8a0b2ee43dd82619c1e376 100644 (file)
@@ -15,9 +15,9 @@
 #include "proxmark3.h"
 #include "ui.h"
 #include "cmdparser.h"
-#include "../include/common.h"
+#include "common.h"
 #include "util.h"
-#include "../include/hitag2.h"
+#include "hitag2.h"
 #include "sleep.h"
 #include "cmdmain.h"
 
@@ -29,110 +29,125 @@ size_t nbytes(size_t nbits) {
 
 int CmdLFHitagList(const char *Cmd)
 {
-  uint8_t got[TRACE_BUFFER_SIZE];
-  GetFromBigBuf(got,sizeof(got),0);
-  WaitForResponse(CMD_ACK,NULL);
+       uint8_t *got = malloc(USB_CMD_DATA_SIZE);
 
-  PrintAndLog("recorded activity:");
-  PrintAndLog(" ETU     :nbits: who bytes");
-  PrintAndLog("---------+-----+----+-----------");
+       // Query for the actual size of the trace
+       UsbCommand response;
+       GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0);
+       WaitForResponse(CMD_ACK, &response);
+       uint16_t traceLen = response.arg[2];
+       if (traceLen > USB_CMD_DATA_SIZE) {
+               uint8_t *p = realloc(got, traceLen);
+               if (p == NULL) {
+                       PrintAndLog("Cannot allocate memory for trace");
+                       free(got);
+                       return 2;
+               }
+               got = p;
+               GetFromBigBuf(got, traceLen, 0);
+               WaitForResponse(CMD_ACK,NULL);
+       }
+       
+       PrintAndLog("recorded activity (TraceLen = %d bytes):");
+       PrintAndLog(" ETU     :nbits: who bytes");
+       PrintAndLog("---------+-----+----+-----------");
 
-  int i = 0;
-  int prev = -1;
-  int len = strlen(Cmd);
+       int i = 0;
+       int prev = -1;
+       int len = strlen(Cmd);
 
-  char filename[FILE_PATH_SIZE]  = { 0x00 };
-  FILE* pf = NULL;
+       char filename[FILE_PATH_SIZE]  = { 0x00 };
+       FILE* pf = NULL;
        
-  if (len > FILE_PATH_SIZE) 
-     len = FILE_PATH_SIZE;
-  memcpy(filename, Cmd, len);
+       if (len > FILE_PATH_SIZE) 
+               len = FILE_PATH_SIZE;
+       memcpy(filename, Cmd, len);
    
-  if (strlen(filename) > 0) {
-       if ((pf = fopen(filename,"wb")) == NULL) {
-               PrintAndLog("Error: Could not open file [%s]",filename);
-               return 1;
+       if (strlen(filename) > 0) {
+               if ((pf = fopen(filename,"wb")) == NULL) {
+                       PrintAndLog("Error: Could not open file [%s]",filename);
+                       return 1;
+               }
        }
-  }
-  
-  for (;;) {
-  
-    if(i >= TRACE_BUFFER_SIZE) { break; }
 
-    bool isResponse;
-    int timestamp = *((uint32_t *)(got+i));
-    if (timestamp & 0x80000000) {
-      timestamp &= 0x7fffffff;
-      isResponse = 1;
-    } else {
-      isResponse = 0;
-    }
+       for (;;) {
+  
+               if(i > traceLen) { break; }
 
-    int parityBits = *((uint32_t *)(got+i+4));
-    // 4 bytes of additional information...
-    // maximum of 32 additional parity bit information
-    //
-    // TODO:
-    // at each quarter bit period we can send power level (16 levels)
-    // or each half bit period in 256 levels.
+               bool isResponse;
+               int timestamp = *((uint32_t *)(got+i));
+               if (timestamp & 0x80000000) {
+                       timestamp &= 0x7fffffff;
+                       isResponse = 1;
+               } else {
+                       isResponse = 0;
+               }
 
-    int bits = got[i+8];
-    int len = nbytes(got[i+8]);
+               int parityBits = *((uint32_t *)(got+i+4));
+               // 4 bytes of additional information...
+               // maximum of 32 additional parity bit information
+               //
+               // TODO:
+               // at each quarter bit period we can send power level (16 levels)
+               // or each half bit period in 256 levels.
 
-    if (len > 100) {
-      break;
-    }
-    if (i + len >= TRACE_BUFFER_SIZE) { break;}
+               int bits = got[i+8];
+               int len = nbytes(got[i+8]);
 
-    uint8_t *frame = (got+i+9);
+               if (len > 100) {
+                 break;
+               }
+               if (i + len > traceLen) { break;}
 
-    // Break and stick with current result if buffer was not completely full
-    if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; }
+               uint8_t *frame = (got+i+9);
 
-    char line[1000] = "";
-    int j;
-    for (j = 0; j < len; j++) {
-      int oddparity = 0x01;
-      int k;
+               // Break and stick with current result if buffer was not completely full
+               if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; }
 
-      for (k=0;k<8;k++) {
-        oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01);
-      }
+               char line[1000] = "";
+               int j;
+               for (j = 0; j < len; j++) {
+                 int oddparity = 0x01;
+                 int k;
 
-      //if((parityBits >> (len - j - 1)) & 0x01) {
-      if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) {
-        sprintf(line+(j*4), "%02x!  ", frame[j]);
-      }
-      else {
-        sprintf(line+(j*4), "%02x   ", frame[j]);
-      }
-    }
+                 for (k=0;k<8;k++) {
+                       oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01);
+                 }
 
-    PrintAndLog(" +%7d:  %3d: %s %s",
-      (prev < 0 ? 0 : (timestamp - prev)),
-      bits,
-      (isResponse ? "TAG" : "   "),
-      line);
+                 //if((parityBits >> (len - j - 1)) & 0x01) {
+                 if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) {
+                       sprintf(line+(j*4), "%02x!  ", frame[j]);
+                 }
+                 else {
+                       sprintf(line+(j*4), "%02x   ", frame[j]);
+                 }
+               }
 
+               PrintAndLog(" +%7d:  %3d: %s %s",
+                       (prev < 0 ? 0 : (timestamp - prev)),
+                       bits,
+                       (isResponse ? "TAG" : "   "),
+                       line);
 
-   if (pf) {
-      fprintf(pf," +%7d:  %3d: %s %s\n",
-                                       (prev < 0 ? 0 : (timestamp - prev)),
-                                       bits,
-                                       (isResponse ? "TAG" : "   "),
-                                       line);
-    }
-       
-    prev = timestamp;
-    i += (len + 9);
-  }
+               if (pf) {
+                       fprintf(pf," +%7d:  %3d: %s %s\n",
+                               (prev < 0 ? 0 : (timestamp - prev)),
+                               bits,
+                               (isResponse ? "TAG" : "   "),
+                               line);
+               }
+               
+               prev = timestamp;
+               i += (len + 9);
+       }
   
-  if (pf) {
-    fclose(pf);
-       PrintAndLog("Recorded activity succesfully written to file: %s", filename);
-  }
-       
-  return 0;
+       if (pf) {
+               fclose(pf);
+               PrintAndLog("Recorded activity succesfully written to file: %s", filename);
+       }
+
+       free(got);
+       return 0;
 }
 
 int CmdLFHitagSnoop(const char *Cmd) {
@@ -143,14 +158,14 @@ int CmdLFHitagSnoop(const char *Cmd) {
 
 int CmdLFHitagSim(const char *Cmd) {
     
-       UsbCommand c = {CMD_SIMULATE_HITAG};
+  UsbCommand c = {CMD_SIMULATE_HITAG};
        char filename[FILE_PATH_SIZE] = { 0x00 };
        FILE* pf;
        bool tag_mem_supplied;
        int len = strlen(Cmd);
        if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
        memcpy(filename, Cmd, len);
-   
+       
        if (strlen(filename) > 0) {
                if ((pf = fopen(filename,"rb+")) == NULL) {
                        PrintAndLog("Error: Could not open file [%s]",filename);
@@ -158,10 +173,10 @@ int CmdLFHitagSim(const char *Cmd) {
                }
                tag_mem_supplied = true;
                if (fread(c.d.asBytes,48,1,pf) == 0) {
-            PrintAndLog("Error: File reading error");
+      PrintAndLog("Error: File reading error");
       fclose(pf);
                        return 1;
-         }
+    }
                fclose(pf);
        } else {
                tag_mem_supplied = false;
@@ -249,7 +264,7 @@ static command_t CommandTable[] =
   {"reader",  CmdLFHitagReader,  1, "Act like a Hitag Reader"},
   {"sim",     CmdLFHitagSim,     1, "<infile> Simulate Hitag transponder"},
   {"snoop",   CmdLFHitagSnoop,   1, "Eavesdrop Hitag communication"},
-  {NULL, NULL, 0, NULL}
+               {NULL, NULL, 0, NULL}
 };
 
 int CmdLFHitag(const char *Cmd)
index 129323aca9ed423ac3f4c41f85a244322a2b7752..14ce5498dc3f16752410019f2f652f5c38520f85 100644 (file)
@@ -16,13 +16,13 @@ static int CmdHelp(const char *Cmd);
 
 int CmdIODemodFSK(const char *Cmd)
 {
-       int findone = 0;
-       if (Cmd[0] =='1') findone = 1;
+  int findone=0;
+  if(Cmd[0]=='1') findone=1;
        
-       UsbCommand c={CMD_IO_DEMOD_FSK};
-       c.arg[0] = findone;
-       SendCommand(&c);
-       return 0;
+  UsbCommand c={CMD_IO_DEMOD_FSK};
+  c.arg[0]=findone;
+  SendCommand(&c);
+  return 0;
 }
 
 int CmdIOProxDemod(const char *Cmd){
@@ -66,10 +66,10 @@ int CmdIOClone(const char *Cmd)
 
 static command_t CommandTable[] = 
 {
-  {"help",      CmdHelp,         1, "This help"},
-  {"demod",        CmdIOProxDemod,  1, "Demodulate Stream"},
-  {"fskdemod",  CmdIODemodFSK,   0, "['1'] Realtime IO FSK demodulator (option '1' for one tag only)"},
-  {"clone",        CmdIOClone,      0, "Clone ioProx Tag"},
+  {"help",        CmdHelp,            1, "This help"},
+  {"demod",      CmdIOProxDemod,     1, "Demodulate Stream"},
+  {"fskdemod",    CmdIODemodFSK,      0, "['1'] Realtime IO FSK demodulator (option '1' for one tag only)"},
+  {"clone",      CmdIOClone,         0, "Clone ioProx Tag"},
   {NULL, NULL, 0, NULL}
 };
 
index c18967ccf7a19613edf58cfdccf7c2cdf5ab7413..512aa13cc91d7e6e950de83346e9342900aef9a1 100644 (file)
@@ -16,7 +16,7 @@
 #include "cmdparser.h"
 #include "proxmark3.h"
 #include "data.h"
-#include "../include/usb_cmd.h"
+#include "usb_cmd.h"
 #include "ui.h"
 #include "cmdhf.h"
 #include "cmddata.h"
@@ -42,14 +42,14 @@ static int cmd_tail;//Starts as 0
 
 static command_t CommandTable[] = 
 {
-  {"help",     CmdHelp,        1, "This help. Use '<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}
 };
 
@@ -130,26 +130,26 @@ int getCommand(UsbCommand* response)
  * @return true if command was returned, otherwise false
  */
 bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout) {
-
-       UsbCommand resp;
+  
+  UsbCommand resp;
        
        if (response == NULL)
-               response = &resp;
-
-
-       // Wait until the command is received
-       for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) {
-
-               while (getCommand(response)) {
-                       if(response->cmd == cmd){
-                               return true;
-                       }
-               }
-               msleep(10); // XXX ugh
-               if (dm_seconds == 200) { // Two seconds elapsed
-                 PrintAndLog("Waiting for a response from the proxmark...");
-                 PrintAndLog("Don't forget to cancel its operation first by pressing on the button");
-               }
+    response = &resp;
+
+
+  // Wait until the command is received
+  for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) {
+
+               while(getCommand(response)) {
+          if(response->cmd == cmd){
+          return true;
+          }
+      }
+        msleep(10); // XXX ugh
+        if (dm_seconds == 200) { // Two seconds elapsed
+          PrintAndLog("Waiting for a response from the proxmark...");
+          PrintAndLog("Don't forget to cancel its operation first by pressing on the button");
+        }
        }
     return false;
 }
@@ -175,27 +175,26 @@ void UsbCommandReceived(UsbCommand *UC)
        switch(UC->cmd) {
                // First check if we are handling a debug message
                case CMD_DEBUG_PRINT_STRING: {
-                 char s[USB_CMD_DATA_SIZE+1] = {0x00};
-                 size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE);
-                 memcpy(s,UC->d.asBytes,len);
-                 PrintAndLog("#db# %s       ", s);
-                 return;
+                       char s[USB_CMD_DATA_SIZE+1] = {0x00};
+                       size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE);
+                       memcpy(s,UC->d.asBytes,len);
+                       PrintAndLog("#db# %s       ", s);
+                       return;
                } break;
 
                case CMD_DEBUG_PRINT_INTEGERS: {
-                 PrintAndLog("#db# %08x, %08x, %08x       \r\n", UC->arg[0], UC->arg[1], UC->arg[2]);
-                 return;
+                       PrintAndLog("#db# %08x, %08x, %08x       \r\n", UC->arg[0], UC->arg[1], UC->arg[2]);
+                       return;
                } break;
-                 
+
                case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: {
-                 sample_buf_len += UC->arg[1];
-                 memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]);
+                       memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]);
                } break;
 
                default:
-                 break;
-         }
+                       break;
+       }
 
-  storeCommand(UC);
+       storeCommand(UC);
 }
 
index 3f0193266578b179a1dc1b247965fff150d2f38c..4d7d1e410fdc04e73789345b3560c7a671d5a624 100644 (file)
 #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);
index 41bd9a414e3d48ec0a010dbbc24a0b34fd1e6577..7d85e1f158083ec89087c61a7a8d33a9962b4700 100644 (file)
 
 #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);
index 7976d41098178f10db1780bf0685b87be6f78420..4e222ece2c213a3c898f8ecfb60890256dc3e63a 100644 (file)
@@ -16,7 +16,7 @@
 #include "flash.h"
 #include "elf.h"
 #include "proxendian.h"
-#include "../include/usb_cmd.h"
+#include "usb_cmd.h"
 
 void SendCommand(UsbCommand* txcmd);
 void ReceiveCommand(UsbCommand* rxcmd);
@@ -275,7 +275,7 @@ static int get_proxmark_state(uint32_t *state)
 {
        UsbCommand c;
        c.cmd = CMD_DEVICE_INFO;
-       SendCommand(&c);
+  SendCommand(&c);
        UsbCommand resp;
        ReceiveCommand(&resp);
 
@@ -404,11 +404,11 @@ static int write_block(uint32_t address, uint8_t *data, uint32_t length)
 
        memset(block_buf, 0xFF, BLOCK_SIZE);
        memcpy(block_buf, data, length);
-       UsbCommand c;
+  UsbCommand c;
        c.cmd = CMD_FINISH_WRITE;
        c.arg[0] = address;
        memcpy(c.d.asBytes, block_buf, length);
-       SendCommand(&c);
+  SendCommand(&c);
   return wait_for_ack();
 }
 
@@ -469,7 +469,7 @@ void flash_free(flash_file_t *ctx)
 // just reset the unit
 int flash_stop_flashing(void) {
        UsbCommand c = {CMD_HARDWARE_RESET};
-       SendCommand(&c);
-       msleep(100);
-       return 0;
+  SendCommand(&c);
+  msleep(100);
+  return 0;
 }
index d0f6fe74fce36b1f1e6a2fd1a9ae73f14c82f6ef..95050f558c169078e96a4d7aaad1a91e7419869b 100644 (file)
@@ -22,92 +22,85 @@ int GraphTraceLen;
 void AppendGraph(int redraw, int clock, int bit)
 {
   int i;
-  int half = (int)(clock/2);
-  int firstbit = bit ^ 1;
-  for (i = 0; i < half; ++i)
-    GraphBuffer[GraphTraceLen++] = firstbit;
-  
-  for (i = 0; i <= half; ++i)
+
+  for (i = 0; i < (int)(clock / 2); ++i)
+    GraphBuffer[GraphTraceLen++] = bit ^ 1;
+
+  for (i = (int)(clock / 2); i < clock; ++i)
     GraphBuffer[GraphTraceLen++] = bit;
 
   if (redraw)
     RepaintGraphWindow();
 }
 
-/* clear out our graph window */
+// clear out our graph window
 int ClearGraph(int redraw)
 {
   int gtl = GraphTraceLen;
   memset(GraphBuffer, 0x00, GraphTraceLen);
 
   GraphTraceLen = 0;
+
   if (redraw)
     RepaintGraphWindow();
 
   return gtl;
 }
 
-void SetGraphBuf(uint8_t *buff, int size) 
+// DETECT CLOCK NOW IN LFDEMOD.C
+
+void setGraphBuf(uint8_t *buff, size_t size)
 {
        if ( buff == NULL ) return;
        
        uint16_t i = 0;  
        if ( size > MAX_GRAPH_TRACE_LEN )
                size = MAX_GRAPH_TRACE_LEN;
-       ClearGraph(0);
-       for (; i < size; ++i){
-               GraphBuffer[i] = buff[i];
-       }
-       GraphTraceLen = size;
-       RepaintGraphWindow();
-       return;
+  ClearGraph(0);
+  for (; i < size; ++i){
+               GraphBuffer[i]=buff[i]-128;
+  }
+  GraphTraceLen=size;
+  RepaintGraphWindow();
+  return;
 }
-
-// Copies grahpbuff to buff. 
-// while triming values to the range -127 -- 127.
-int GetFromGraphBuf(uint8_t *buff)
+size_t getFromGraphBuf(uint8_t *buff)
 {
-       if ( buff == NULL ) return -1;
-       uint32_t i = 0;
-       
-       for (; i < GraphTraceLen; ++i){
+       if ( buff == NULL ) return 0;
        
-               // trim upper and lower values.
-               if (GraphBuffer[i] > 127) 
-                       GraphBuffer[i] = 127;
-               else if (GraphBuffer[i] < -127)
-                       GraphBuffer[i] = -127;
-                       
-               buff[i] = (uint8_t)(GraphBuffer[i] + 128);
-       }
-       return i;
+  uint32_t i;
+  for (i=0;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;
 }
 
@@ -141,4 +134,29 @@ void DetectHighLowInGraph(int *high, int *low, bool addFuzz) {
                *high = (int)(*high * .88);
                *low  = (int)(*low  * .88);
        }
-}
\ No newline at end of file
+}
+
+int GetNRZpskClock(const char *str, int peak, int verbose)
+{
+       int clock;
+       sscanf(str, "%i", &clock);
+       if (!strcmp(str, ""))
+               clock = 0;
+
+       // Auto-detect clock
+       if (!clock)
+       {
+               uint8_t grph[MAX_GRAPH_TRACE_LEN]={0};
+               size_t size = getFromGraphBuf(grph);
+               if ( size == 0 ) {
+                       PrintAndLog("Failed to copy from graphbuffer");
+                       return -1;
+               }
+               clock = DetectpskNRZClock(grph,size,0);
+               // Only print this message if we're not looping something
+               if (!verbose){
+                       PrintAndLog("Auto-detected clock rate: %d", clock);
+               }
+       }
+       return clock;
+}
index c745270d4118e24c4a033d72471d7ad5152da556..fe35d4f1c858aba645cf322346dfb7ca78487c02 100644 (file)
 
 #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); 
 
index 1c9dae8b5a535266936af39d942aece4961c4185..9c1c2cfd4cbd63c09d6c1b6fa7d11049922c9bb1 100644 (file)
  * 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>
index 314a560a9c53891cab7d047a7e01136c8d5ab253..176a29767e1654b058c17a6ce06036ca5b3e1a94 100644 (file)
  * 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>
index f82a11cee430b0aea26c7693c4ee3e978822f322..f9c6227364e17d78c3a9af32cf627964a7133ed3 100644 (file)
  * 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>
index e233853411b6686b1c479ae8e116f46f9da2b8db..cb090f695f18b916d9f87afd4c0b35920e7375ca 100644 (file)
  * 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>
index 907d56b101290f350a119ed1ebc8c948d86e1103..8b8e6a35374936dead9ec38d2a1a25e66fa36421 100644 (file)
 #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)
index 89eac064f18f337211d36b7eb6f42a5b49288053..a8ab869e8c53c0569108ec42b2c74ecc45b72229 100644 (file)
@@ -552,6 +552,7 @@ int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[])
  */
 int bruteforceFile(const char *filename, uint16_t keytable[])
 {
+
        FILE *f = fopen(filename, "rb");
        if(!f) {
                prnlog("Failed to read from file '%s'", filename);
@@ -618,7 +619,7 @@ int _testBruteforce()
                //Test a few variants
                if(fileExists("iclass_dump.bin"))
                {
-               errors |= bruteforceFile("iclass_dump.bin",keytable);
+                       errors |= bruteforceFile("iclass_dump.bin",keytable);
                }else if(fileExists("loclass/iclass_dump.bin")){
                        errors |= bruteforceFile("loclass/iclass_dump.bin",keytable);
                }else if(fileExists("client/loclass/iclass_dump.bin")){
@@ -659,6 +660,21 @@ int _test_iclass_key_permutation()
        prnlog("[+] Iclass key permutation OK!");
        return 0;
 }
+int _testHash1()
+{
+    uint8_t csn[8]= {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0};
+    uint8_t k[8] = {0};
+    hash1(csn, k);
+    uint8_t expected[8] = {0x7E,0x72,0x2F,0x40,0x2D,0x02,0x51,0x42};
+    if(memcmp(k,expected,8) != 0)
+    {
+        prnlog("Error with hash1!");
+        printarr("calculated", k, 8);
+        printarr("expected", expected, 8);
+        return 1;
+    }
+    return 0;
+}
 
 int testElite()
 {
@@ -691,11 +707,13 @@ int testElite()
         prnlog("[+] Hash2 looks fine...");
     }
 
-    prnlog("[+] Testing key diversification ...");
-
        int errors = 0 ;
-       errors +=_test_iclass_key_permutation();
+    prnlog("[+] Testing hash1...");
+    errors += _testHash1();
+    prnlog("[+] Testing key diversification ...");
+    errors +=_test_iclass_key_permutation();
        errors += _testBruteforce();
+
        return errors;
 
 }
index 8ec52cfeb8d4da51c86797362dc473cf1df4f128..4079dccf80d5b9979f01a25e49d96c0d809be160 100644 (file)
@@ -78,31 +78,18 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si
        /*Opening file for writing in binary mode*/
        FILE *fileHandle=fopen(fileName,"wb");
        if(!fileHandle) {
-               PrintAndLog("Failed to write to file '%s'", fileName);
+               prnlog("Failed to write to file '%s'", fileName);
                free(fileName);
                return 1;
        }
        fwrite(data, 1, datalen, fileHandle);
        fclose(fileHandle);
-       PrintAndLog("Saved data to '%s'", fileName);
+       prnlog("Saved data to '%s'", fileName);
        free(fileName);
 
        return 0;
 }
 
-int loadFile(const char *fileName, void* data, size_t datalen)
-{
-       FILE *filehandle = fopen(fileName, "rb");
-       if(!filehandle) {
-               PrintAndLog("Failed to read from file '%s'", fileName);
-               free(filehandle);
-               return 1;
-       }
-       fread(data,datalen,1,filehandle);
-       fclose(filehandle);
-       free(filehandle);
-       return 0;
-}
 /**
  * Utility function to print to console. This is used consistently within the library instead
  * of printf, but it actually only calls printf (and adds a linebreak).
diff --git a/client/loclass/iclass_dump.bin b/client/loclass/iclass_dump.bin
new file mode 100644 (file)
index 0000000..bfecd1b
Binary files /dev/null and b/client/loclass/iclass_dump.bin differ
index fccd71d864f485d062ca4dfc3d736f8a829862f9..b21ecdbc028f96bdc0ae95cc08f65d9f7c7c6099 100644 (file)
  * 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/>.
+ * 
+ * 
+ * 
  ****************************************************************************/
+
 /**
 
 
diff --git a/client/loclass/loclass_main.h b/client/loclass/loclass_main.h
new file mode 100644 (file)
index 0000000..b6d58a8
--- /dev/null
@@ -0,0 +1,4 @@
+#ifndef LOCLASS_MAIN_H
+#define LOCLASS_MAIN_H
+
+#endif // LOCLASS_MAIN_H
index 50671a19220d81f9a54b647bce613d85c158e6f3..d1b0359b3c2702921a183118c8dd7516afbf1fea 100644 (file)
@@ -38,7 +38,6 @@
 
 
 #include <stdio.h>
-#include <cipherutils.h>
 #include <stdint.h>
 #include <stdbool.h>
 #include <string.h>
@@ -56,11 +55,15 @@ int unitTests()
        errors += testMAC();
        errors += doKeyTests(0);
        errors += testElite();
+    if(errors)
+    {
+        prnlog("OBS! There were errors!!!");
+    }
        return errors;
 }
 int showHelp()
 {
-       prnlog("Usage: iclazz [options]");
+    prnlog("Usage: loclass [options]");
        prnlog("Options:");
        prnlog("-t                 Perform self-test");
        prnlog("-h                 Show this help");
index d2acb3be4dfc9d488ccd8908cc6de19a9ebe426c..6f309001da3b31dd96af6627f4c57dc103db788c 100644 (file)
@@ -48,7 +48,7 @@ local _commands = {
        CMD_EM4X_READ_WORD =                                                 0x0218,
        CMD_EM4X_WRITE_WORD =                                                0x0219,
        CMD_IO_DEMOD_FSK =                                                   0x021A,
-       CMD_IO_CLONE_TAG =                                                   0x021B,
+  CMD_IO_CLONE_TAG =                                                   0x021B,
        CMD_EM410X_DEMOD =                                                                                                   0x021c,
        --/* CMD_SET_ADC_MUX: ext1 is 0 for lopkd, 1 for loraw, 2 for hipkd, 3 for hiraw */
 
@@ -109,7 +109,7 @@ local _commands = {
        CMD_MIFARE_CSETBLOCK =                                               0x0605,
        CMD_MIFARE_CGETBLOCK =                                               0x0606,
        CMD_MIFARE_CIDENT =                                                  0x0607,
-       
+
        CMD_SIMULATE_MIFARE_CARD =                                           0x0610,
 
        CMD_READER_MIFARE =                                                  0x0611,
@@ -212,7 +212,6 @@ function Command:getBytes()
        local data  = self.data
        local cmd = self.cmd 
        local arg1, arg2, arg3 = self.arg1, self.arg2, self.arg3
-
        return bin.pack("LLLLH",cmd, arg1, arg2, arg3,data);
 end
 return _commands
\ No newline at end of file
index a7890885153350a995313f9f481a2d6ef13aabd7..bd8e6d0cc20ea2942ba2b370c9907e01ea02b570 100644 (file)
@@ -49,7 +49,7 @@ end
 
 local function save_TEXT(data,filename)
        -- Open the output file
-       local outfile = io.open(filename, "wb")
+       local outfile = io.open(filename, "w")
        if outfile == nil then 
                return oops(string.format("Could not write to file %s",tostring(filename)))
        end
@@ -195,4 +195,6 @@ return {
     convert_eml_to_bin = convert_eml_to_bin,
     SaveAsBinary = save_BIN,
        SaveAsText = save_TEXT,
+    SaveAsBinary = save_BIN,
+       SaveAsText = save_TEXT,
 }
index 810f0d6eab466b7fd8a6b40f06d4e9468bbb4249..cca4699e9741e36040221e43f58774c1a5166828 100644 (file)
@@ -158,6 +158,20 @@ local _keys = {
        'eff603e1efe9',
        '644672bd4afe',
 
+       'b5ff67cba951',
+  }
+
+       --[[
+    Kiev metro cards
+    --]]       
+       '8fe644038790',
+       'f14ee7cae863',
+       '632193be1c3c',
+       '569369c5a0e5',
+       '9de89e070277',
+       'eff603e1efe9',
+       '644672bd4afe',
+
        'b5ff67cba951',
 }
 
index 9b36dfc862239736e0f16a9fc455883dc5dcb88c..3015c4195c98c55080bb50477a2fc1930a7a9046 100644 (file)
@@ -108,6 +108,24 @@ local Utils =
                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
@@ -116,7 +134,7 @@ local Utils =
                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
index 3516fca499fd3daa921345b7b4e0eb0d39f0dd85..60dba6c07800849bafb38ec3fe8152ec160698dd 100644 (file)
@@ -72,7 +72,6 @@ int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo
        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
@@ -232,14 +231,27 @@ int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount) {
 // "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
@@ -253,8 +265,10 @@ int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uin
        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
@@ -286,9 +300,9 @@ int mfCGetBlock(uint8_t blockNo, uint8_t *data, uint8_t params) {
 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
@@ -323,20 +337,28 @@ int isBlockTrailer(int blockN) {
 \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
@@ -368,22 +390,30 @@ int saveTraceCard(void) {
        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
index 3e946cd9279550cdd2cd8e9d2fbddd98af57bce6..96eb75f7031b808035841c999a13085d813dad1d 100644 (file)
@@ -47,7 +47,7 @@ typedef struct {
        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
index c2dd7a547bfff60365f3b6a36ac87e280aeb4409..ca926a7382a8d3e77b1d5078e65154452dce7bfa 100644 (file)
@@ -545,9 +545,9 @@ lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8],
        statelist = malloc((sizeof *statelist) << 21);  //how large should be? \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
diff --git a/client/polarssl_config.h b/client/polarssl_config.h
new file mode 100644 (file)
index 0000000..5bd88fc
--- /dev/null
@@ -0,0 +1,2179 @@
+/**
+ * \file config.h
+ *
+ * \brief Configuration options (set of defines)
+ *
+ *  Copyright (C) 2006-2014, Brainspark B.V.
+ *
+ *  This file is part of PolarSSL (http://www.polarssl.org)
+ *  Lead Maintainer: Paul Bakker <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 */
index 7d50c35aecc4c79a0e353a7b72a98a47d2fa78d6..c100bbea0985d05222f580adbf90d05d887540bd 100644 (file)
@@ -34,15 +34,15 @@ static UsbCommand txcmd;
 volatile static bool txcmd_pending = false;
 
 void SendCommand(UsbCommand *c) {
-#if 0
+       #if 0
   printf("Sending %d bytes\n", sizeof(UsbCommand));
-#endif
+       #endif
 
        if (offline) {
       PrintAndLog("Sending bytes to proxmark failed - offline");
       return;
     }
-       /**
+  /**
        The while-loop below causes hangups at times, when the pm3 unit is unresponsive
        or disconnected. The main console thread is alive, but comm thread just spins here.
        Not good.../holiman
@@ -68,30 +68,30 @@ static void *uart_receiver(void *targ) {
   struct receiver_arg *arg = (struct receiver_arg*)targ;
   size_t rxlen;
   size_t cmd_count;
-  
+
   while (arg->run) {
     rxlen = sizeof(UsbCommand);
-    if (uart_receive(sp,prx,&rxlen)) {
+               if (uart_receive(sp, prx, &rxlen)) {
       prx += rxlen;
       if (((prx-rx) % sizeof(UsbCommand)) != 0) {
         continue;
       }
       cmd_count = (prx-rx) / sizeof(UsbCommand);
 
-      for (size_t i=0; 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;
 }
@@ -103,13 +103,13 @@ static void *main_loop(void *targ) {
   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) {
@@ -134,7 +134,7 @@ static void *main_loop(void *targ) {
                                
         nl = strrchr(script_cmd_buf, '\n');
         if (nl) *nl = '\0';
-        
+
                                if ((cmd = (char*) malloc(strlen(script_cmd_buf) + 1)) != NULL) {
           memset(cmd, 0, strlen(script_cmd_buf));
           strcpy(cmd, script_cmd_buf);
@@ -173,12 +173,12 @@ static void *main_loop(void *targ) {
     rarg.run = 0;
     pthread_join(reader_thread, NULL);
   }
-  
+
        if (script_file) {
     fclose(script_file);
     script_file = NULL;
   }
-  
+
   ExitGraphics();
   pthread_exit(NULL);
   return NULL;
index cc59f995bfc36255ab403e0fe502f2011f902399..cf149b6e6773051166b186f70843c15fa239e641 100644 (file)
@@ -18,8 +18,8 @@
 #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
@@ -240,10 +240,10 @@ static int l_aes(lua_State *L)
 
     const char *p_encTxt = luaL_checklstring(L, 2, &size);
     
-       unsigned char indata[AES_BLOCK_SIZE] = {0x00};
-       unsigned char outdata[AES_BLOCK_SIZE] = {0x00};
-    unsigned char aes_key[AES_BLOCK_SIZE] = {0x00};
-       unsigned char iv[AES_BLOCK_SIZE] = {0x00};
+       unsigned char indata[16] = {0x00};
+       unsigned char outdata[16] = {0x00};
+    unsigned char aes_key[16] = {0x00};
+       unsigned char iv[16] = {0x00};
        
        // convert key to bytearray
        for (i = 0; i < 32; i += 2) {
@@ -255,10 +255,14 @@ static int l_aes(lua_State *L)
                sscanf(&p_key[i], "%02x", (unsigned int *)&aes_key[i / 2]);
        }
        
-       AES_KEY key;
-       AES_set_decrypt_key(aes_key, 128, &key);
-    AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT);
-
+       //AES_KEY key;
+    //AES_set_decrypt_key(aes_key, 128, &key);
+    //AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT);
+
+    aes_context ctx;
+    aes_init(&ctx);
+    aes_setkey_enc(&ctx,(const unsigned char *)p_key,128);
+       aes_crypt_cbc(&ctx,AES_DECRYPT,sizeof(indata), iv, indata,outdata );
     //Push decrypted array as a string
        lua_pushlstring(L,(const char *)&outdata, sizeof(outdata));
        return 1;// return 1 to signal one return value
diff --git a/client/scripts/remagic.lua b/client/scripts/remagic.lua
new file mode 100644 (file)
index 0000000..d2b869c
--- /dev/null
@@ -0,0 +1,63 @@
+local getopt = require('getopt')
+
+example = "script run remagic"
+author = "Iceman"
+
+desc =
+[[
+This is a script that tries to bring back a chinese magic card (1k generation1) 
+from the dead when it's block 0 has been written with bad values.
+
+Arguments:
+       -h              this help
+]]
+--- 
+-- A debug printout-function
+function dbg(args)
+       if DEBUG then
+               print("###", args)
+       end
+end 
+--- 
+-- This is only meant to be used when errors occur
+function oops(err)
+       print("ERROR: ",err)
+end
+
+--- 
+-- Usage help
+function help()
+       print(desc)
+       print("Example usage")
+       print(example)
+end
+
+--- 
+-- The main entry point
+function main(args)
+
+       
+       -- Read the parameters
+       for o, a in getopt.getopt(args, 'h') do
+               if o == "h" then help() return end
+       end
+       
+       local _cmds = {
+    --[[
+    --]]
+       [0] = "hf 14a raw -p -a -b 7 40",
+       [1] = "hf 14a raw -p -a 43",
+       [2] = "hf 14a raw -c -p -a A000",
+       [3] = "hf 14a raw -c -p -a 01 02 03 04 04 98 02 00 00 00 00 00 00 00 10 01",
+       }
+       core.clearCommandBuffer()
+       
+       local i
+       --for _,c in pairs(_cmds) do 
+       for i = 0, 3 do
+           print ( _cmds[i] )
+               core.console( _cmds[i] )
+       end
+end
+
+main(args)
index 520161b93663856774d57463dda4c7028482c091..f41fe8aba3036341ef0761db877977966a374510 100644 (file)
@@ -249,18 +249,19 @@ local function main(args)
                end
        end 
        
+
+       local uid = block0:sub(1,8)
+       local itemtype = block1:sub(1,4)
+       local cardid = block1:sub(9,24)
+       
        -- Write dump to files
        if not DEBUG then
-               local foo = dumplib.SaveAsBinary(bindata, outputTemplate..'.bin')
+               local foo = dumplib.SaveAsBinary(bindata, outputTemplate..'_uid_'..uid..'.bin')
                print(("Wrote a BIN dump to the file %s"):format(foo))
-               local bar = dumplib.SaveAsText(emldata, outputTemplate..'.eml')
+               local bar = dumplib.SaveAsText(emldata, outputTemplate..'_uid_'..uid..'.eml')
                print(("Wrote a EML dump to the file %s"):format(bar))
        end
 
-       local uid = block0:sub(1,8)
-       local itemtype = block1:sub(1,4)
-       local cardid = block1:sub(9,24)
-
        -- Show info 
        print( string.rep('--',20) )
        print( (' ITEM TYPE : 0x%s - %s'):format(itemtype, toyNames[itemtype]) )
index f43dafa2495946fc275341b2bb34bb84a1f4dedf..adc34cce1ca8e84ef54502e9c2ec5f04d5cfbe73 100644 (file)
@@ -241,18 +241,20 @@ local function main(args)
        local cmdSetDbgOff = "hf mf dbg 0"
        core.console( cmdSetDbgOff) 
        
-       -- Look for tag present on reader,
-       result, err = lib14a.read1443a(false)
-       if not result then return oops(err)     end
+       -- if not loadFromDump then
+               -- -- Look for tag present on reader,
+               -- result, err = lib14a.read1443a(false)
+               -- if not result then return oops(err)  end
 
-       core.clearCommandBuffer()
+               -- core.clearCommandBuffer()
        
-       if 0x01 ~= result.sak then -- NXP MIFARE TNP3xxx
-               return oops('This is not a TNP3xxx tag. aborting.')
-       end     
+               -- if 0x01 ~= result.sak then -- NXP MIFARE TNP3xxx
+                       -- return oops('This is not a TNP3xxx tag. aborting.')
+               -- end  
 
-       -- Show tag info
-       print((' Found tag : %s'):format(result.name))
+               -- -- Show tag info
+               -- print((' Found tag : %s'):format(result.name))
+       -- end
        
        -- Load dump.bin file
        print( (' Load data from %s'):format(inputTemplate))
@@ -349,7 +351,7 @@ local function main(args)
                err = LoadEmulator(blocks)
                if err then return oops(err) end        
                core.clearCommandBuffer()
-               print('The simulation is now prepared.\n --> run \"hf mf sim 5 '..uid..'\" <--')
+               print('The simulation is now prepared.\n --> run \"hf mf sim u '..uid..' x\" <--')
        end
 end
 main(args)
\ No newline at end of file
index 3b577381cbd818c69839a0754cfb4a6e1cfc0088..e4a9215cb0a74bb0c877c0f636c4097a1031c721 100644 (file)
@@ -84,17 +84,19 @@ local function main(args)
        local files = {}
        
        -- Find a set of traces staring with EM
-       local p = io.popen(tracesEM)
+       local p = assert( io.popen(tracesEM))
        for file in p:lines() do
                table.insert(files, file)
        end
+       p.close();
        
        -- Find a set of traces staring with MOD
-       p = io.popen(tracesMOD)
+       p = assert( io.popen(tracesMOD) )
        for file in p:lines() do
                table.insert(files, file)
        end
-
+       p.close();
+       
        local cmdLFSEARCH = "lf search 1" 
        
        -- main loop
index b30294a8e940dff2a3cc717f7f77f9eda1d1165b..9e8bfdf0e30530d2554f13bfb1ffe1a5c7bf0114 100644 (file)
@@ -69,6 +69,8 @@ INCLUDES = ../include/proxmark3.h ../include/at91sam7s512.h ../include/config_gp
 CFLAGS =  -c $(INCLUDE) -Wall -Werror -pedantic -std=c99 $(APP_CFLAGS) -Os
 LDFLAGS = -nostartfiles -nodefaultlibs -Wl,-gc-sections -n
 
+LIBS = -lgcc
+
 LIBS = -lgcc 
 
 THUMBOBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(THUMBSRC))
index 66b939909981889d544ce76cd49fc4d337f2686e..0c3ecc1fee83f9e60a2c82d4d9711e2aab78c46c 100644 (file)
@@ -32,7 +32,7 @@
 \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
index 35885de4973d070d88ac4cab4130106437e8a712..bc69ff617b35d8fd76d1724ea0b22ad74cbf5012 100644 (file)
@@ -33,8 +33,8 @@
 #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
index eb5a4d9586253b7b43b9785aeed2ee506bfaee99..88a250d87efd105fa85f70ef919c2fd89585a75d 100644 (file)
 //-----------------------------------------------------------------------------
-// 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;
 }
 
@@ -288,193 +327,188 @@ int BiphaseRawDecode(uint8_t * bits, int *bitlen, int offset)
 //takes 2 arguments - clock and invert both as integers
 //attempts to demodulate ask only
 //prints binary found and saves in graphbuffer for further commands
-int askrawdemod(uint8_t *BinStream, int *bitLen, int *clk, int *invert)
+int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert)
 {
-  uint32_t i;
-  uint32_t initLoopMax = 200;
-  int high = 0, low = 128;
-  uint8_t BitStream[502] = {0x00};
-  
-  *clk = DetectASKClock(BinStream, *bitLen, *clk); //clock default
-  
-  if (*clk < 8)                *clk = 64;      
-  if (*clk < 32)       *clk = 32;      
-  if (*invert != 1) *invert = 0;
+       uint32_t i;
+       // int invert=0;  //invert default
+       int clk2 = *clk;
+       *clk=DetectASKClock(BinStream, *size, *clk); //clock default
+       //uint8_t BitStream[502] = {0};
 
-  if (initLoopMax > *bitLen) 
-       initLoopMax = *bitLen;
-  
-  // Detect high and lows 
-  for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values
-  {
-    if (BinStream[i] > high)
-               high = BinStream[i];
-    else if (BinStream[i] < low)
-               low = BinStream[i];
-  }
-  
-  //throw away static
-       if ((high < 158)){  
-               return -2;
-       }
-  
+       //HACK: if clock not detected correctly - default
+       if (clk2==0 && *clk<8) *clk =64;
+       if (clk2==0 && *clk<32 && clk2==0) *clk=32;
+       if (*invert != 0 && *invert != 1) *invert =0;
+       uint32_t initLoopMax = 200;
+       if (initLoopMax > *size) initLoopMax=*size;
+       // Detect high and lows
        //25% fuzz in case highs and lows aren't clipped [marshmellow]
-       high = (int)(high * .75);
-       low  = (int)(low+128 * .25);
+       int high, low, ans;
+       ans = getHiLo(BinStream, initLoopMax, &high, &low, 75, 75);
+       if (ans<1) return -2; //just noise
 
-  int lastBit = 0;                     //set first clock check
-  uint32_t bitnum = 0;         //output counter
-  
-  uint8_t tol = 0;                     //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave
-  if (*clk==32) tol = 1;       //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely 
-
-  uint32_t gLen = *bitLen;
-  if (gLen > 500) gLen = 500;
-
-  uint32_t j = 0;
-  uint8_t errCnt = 0;
-  uint32_t bestStart = *bitLen;
-  uint32_t bestErrCnt = (*bitLen / 1000);
-  uint32_t errCntLimit = bestErrCnt;
-  uint8_t midBit = 0;
-  
-  //loop to find first wave that works
-  for (j = 0; j < gLen; ++j){
-  
-    if ((BinStream[j] >= high)||(BinStream[j] <= low)){
-      lastBit = j - *clk;    
-      //loop through to see if this start location works
-      for (i = j; i < *bitLen; ++i) {  
-        if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){
-          lastBit += *clk;
-          BitStream[bitnum] =  *invert;
-          bitnum++;
-          midBit = 0;
-        } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){
-          //low found and we are expecting a bar
-          lastBit += *clk;
-          BitStream[bitnum] = 1-*invert; 
-          bitnum++;
-          midBit=0;
-        } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){
-          //mid bar?
-          midBit = 1;
-          BitStream[bitnum] = 1 - *invert;
-          bitnum++;
-        } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){
-          //mid bar?
-          midBit = 1;
-          BitStream[bitnum] = *invert;
-          bitnum++;
-        } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){
-          //no mid bar found
-          midBit = 1;
-          BitStream[bitnum] = BitStream[bitnum-1];
-          bitnum++;
-        } else {
-          //mid value found or no bar supposed to be here
+       //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low);
+       int lastBit = 0;  //set first clock check
+       uint32_t bitnum = 0;     //output counter
+       uint8_t tol = 0;  //clock tolerance adjust - waves will be accepted as within the clock
+                         //  if they fall + or - this value + clock from last valid wave
+       if (*clk == 32) tol=1;    //clock tolerance may not be needed anymore currently set to
+                                 //  + or - 1 but could be increased for poor waves or removed entirely
+       uint32_t iii = 0;
+       uint32_t gLen = *size;
+       if (gLen > 500) gLen=500;
+       uint8_t errCnt =0;
+       uint32_t bestStart = *size;
+       uint32_t bestErrCnt = (*size/1000);
+       uint32_t maxErr = bestErrCnt;
+       uint8_t midBit=0;
+       //PrintAndLog("DEBUG - lastbit - %d",lastBit);
+       //loop to find first wave that works
+       for (iii=0; iii < gLen; ++iii){
+               if ((BinStream[iii]>=high) || (BinStream[iii]<=low)){
+                       lastBit=iii-*clk;
+                       //loop through to see if this start location works
+                       for (i = iii; i < *size; ++i) {
+                               if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){
+                                       lastBit+=*clk;
+                                       midBit=0;
+                               } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){
+                                       //low found and we are expecting a bar
+                                       lastBit+=*clk;
+                                       midBit=0;
+                               } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){
+                                       //mid bar?
+                                       midBit=1;
+                               } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){
+                                       //mid bar?
+                                       midBit=1;
+                               } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){
+                                       //no mid bar found
+                                       midBit=1;
+                               } else {
+                                       //mid value found or no bar supposed to be here
 
-          if (( i - lastBit) > ( *clk + tol)){
-            //should have hit a high or low based on clock!!
+                                       if ((i-lastBit)>(*clk+tol)){
+                                               //should have hit a high or low based on clock!!
+                                               //debug
+                                               //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit);
 
-            if (bitnum > 0){
-              BitStream[bitnum] = 77;
-              bitnum++;
-            }
+                                               errCnt++;
+                                               lastBit+=*clk;//skip over until hit too many errors
+                                               if (errCnt > ((*size/1000))){  //allow 1 error for every 1000 samples else start over
+                                                       errCnt=0;
+                                                       break;
+                                               }
+                                       }
+                               }
+                               if ((i-iii)>(500 * *clk)) break; //got enough bits
+                       }
+                       //we got more than 64 good bits and not all errors
+                       if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt<(*size/1000))) {
+                               //possible good read
+                               if (errCnt==0){
+                                       bestStart=iii;
+                                       bestErrCnt=errCnt;
+                                       break;  //great read - finish
+                               } 
+                               if (errCnt<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;
@@ -483,124 +517,131 @@ size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow
                        numBits++;
                }
        }
-       //it returns the number of bytes, but each byte represents a bit: 1 or 0
-       return numBits; 
+       return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0
 }
 
 uint32_t myround2(float f)
 {
-  if (f >= 2000) return 2000;//something bad happened
-  return (uint32_t) (f + (float)0.5);
+       if (f >= 2000) return 2000;//something bad happened
+       return (uint32_t) (f + (float)0.5);
 }
 
-//translate 11111100000 to 10 
-size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert, uint8_t fchigh, uint8_t fclow )
+//translate 11111100000 to 10
+size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits,
+    uint8_t invert, uint8_t fchigh, uint8_t fclow)
 {
-       uint8_t lastval = dest[0];
-       uint32_t idx = 0;
-       uint32_t n = 1;
-       size_t numBits = 0;
+       uint8_t lastval=dest[0];
+       uint32_t idx=0;
+       size_t numBits=0;
+       uint32_t n=1;
 
-       for( idx = 1; idx < size; idx++) {
+       for( idx=1; idx < size; idx++) {
 
-               if (dest[idx] == lastval) {
+               if (dest[idx]==lastval) {
                        n++;
                        continue;
                }
                //if lastval was 1, we have a 1->0 crossing
-               if ( dest[idx-1] == 1 ) {
-                       n = myround2( (float)( n + 1 ) / ((float)(rfLen)/(float)fclow));
-               } else { // 0->1 crossing
-                       n = myround2( (float)( n + 1 ) / ((float)(rfLen-2)/(float)fchigh));  //-2 for fudge factor
+               if ( dest[idx-1]==1 ) {
+                       n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow));
+               } else {// 0->1 crossing
+                       n=myround2((float)(n+1)/((float)(rfLen-1)/(float)fchigh));  //-1 for fudge factor
                }
                if (n == 0) n = 1;
 
-               if(n < maxConsequtiveBits) //Consecutive 
+               if(n < maxConsequtiveBits) //Consecutive
                {
-                       if(invert == 0){ //invert bits 
+                       if(invert==0){ //invert bits
                                memset(dest+numBits, dest[idx-1] , n);
                        }else{
-                               memset(dest+numBits, dest[idx-1]^1 , n);        
-                       }                       
+                               memset(dest+numBits, dest[idx-1]^1 , n);
+                       }
                        numBits += n;
                }
-               n = 0;
-               lastval = dest[idx];
+               n=0;
+               lastval=dest[idx];
        }//end for
        return numBits;
 }
-
 //by marshmellow  (from holiman's base)
 // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod)
 int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow)
 {
        // FSK demodulator
        size = fsk_wave_demod(dest, size, fchigh, fclow);
-       if ( size > 0 )
-               size = aggregate_bits(dest, size, rfLen, 192, invert, fchigh, fclow);
+       size = aggregate_bits(dest, size, rfLen, 192, invert, fchigh, fclow);
        return size;
 }
 
 // loop to get raw HID waveform then FSK demodulate the TAG ID from it
-int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo)
+int HIDdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo)
 {
-       size_t idx = 0;
-       int numshifts = 0;
+  if (justNoise(dest, *size)) return -1;
 
-       // FSK demodulator
-       size = fskdemod(dest, size, 50, 0, 10, 8);
+  size_t numStart=0, size2=*size, startIdx=0; 
+  // FSK demodulator
+  *size = fskdemod(dest, size2,50,1,10,8); //fsk2a
+  if (*size < 96) return -2;
+  // 00011101 bit pattern represent start of frame, 01 pattern represents a 0 and 10 represents a 1
+  uint8_t preamble[] = {0,0,0,1,1,1,0,1};
+  // find bitstring in array  
+  uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
+  if (errChk == 0) return -3; //preamble not found
 
-       // final loop, go over previously decoded manchester data and decode into usable tag ID
-       // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0
-       uint8_t frame_marker_mask[] = {1,1,1,0,0,0};
+  numStart = startIdx + sizeof(preamble);
+  // final loop, go over previously decoded FSK data and manchester decode into usable tag ID
+  for (size_t idx = numStart; (idx-numStart) < *size - sizeof(preamble); idx+=2){
+    if (dest[idx] == dest[idx+1]){
+      return -4; //not manchester data
+    }
+    *hi2 = (*hi2<<1)|(*hi>>31);
+    *hi = (*hi<<1)|(*lo>>31);
+    //Then, shift in a 0 or one into low
+    if (dest[idx] && !dest[idx+1])  // 1 0
+      *lo=(*lo<<1)|1;
+    else // 0 1
+      *lo=(*lo<<1)|0;
+  }
+  return (int)startIdx;
+}
 
-       uint8_t mask_len =  sizeof frame_marker_mask /  sizeof frame_marker_mask[0];
+// loop to get raw paradox waveform then FSK demodulate the TAG ID from it
+int ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo)
+{
+       if (justNoise(dest, *size)) return -1;
        
-       //one scan
-       while( idx + mask_len < size) {
-       // search for a start of frame marker
-               if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0)
-               { // frame marker found
-                       idx += mask_len;
-                       while(dest[idx] != dest[idx+1] && idx < size-2)
-                       {       
-                               // Keep going until next frame marker (or error)
-                               // Shift in a bit. Start by shifting high registers
-                               *hi2 = ( *hi2 << 1 ) | ( *hi >> 31 );
-                               *hi = ( *hi << 1 ) | ( *lo >> 31 );
-                               //Then, shift in a 0 or one into low
-                               if (dest[idx] && !dest[idx+1])  // 1 0
-                                       *lo = ( *lo << 1 ) | 0;
-                               else // 0 1
-                                       *lo = ( *lo << 1 ) | 1;
-                               numshifts++;
-                               idx += 2;
-                       }
-                       // Hopefully, we read a tag and  hit upon the next frame marker
-                       if(idx + mask_len < size)
-                       {
-                               if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0)
-                               {
-                                       //good return 
-                                       return idx;
-                               }
-                       }
-                       // reset
-                       *hi2 = *hi = *lo = 0;
-                       numshifts = 0;
-               }else   {
-                       idx++;
-               }
+       size_t numStart=0, size2=*size, startIdx=0;
+       // FSK demodulator
+       *size = fskdemod(dest, size2,50,1,10,8); //fsk2a
+       if (*size < 96) return -2;
+
+       // 00001111 bit pattern represent start of frame, 01 pattern represents a 0 and 10 represents a 1
+       uint8_t preamble[] = {0,0,0,0,1,1,1,1};
+
+       uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
+       if (errChk == 0) return -3; //preamble not found
+
+       numStart = startIdx + sizeof(preamble);
+       // final loop, go over previously decoded FSK data and manchester decode into usable tag ID
+       for (size_t idx = numStart; (idx-numStart) < *size - sizeof(preamble); idx+=2){
+               if (dest[idx] == dest[idx+1]) 
+                       return -4; //not manchester data
+               *hi2 = (*hi2<<1)|(*hi>>31);
+               *hi = (*hi<<1)|(*lo>>31);
+               //Then, shift in a 0 or one into low
+               if (dest[idx] && !dest[idx+1])  // 1 0
+                       *lo=(*lo<<1)|1;
+               else // 0 1
+                       *lo=(*lo<<1)|0;
        }
-       return -1;
+       return (int)startIdx;
 }
 
-uint32_t bytebits_to_byte(uint8_t *src, int numbits)
+uint32_t bytebits_to_byte(uint8_t* src, size_t numbits)
 {
-       //HACK:  potential overflow in numbits is larger then uint32 bits.
-       
        uint32_t num = 0;
-       for(int i = 0 ; i < numbits ; ++i)      {
+       for(int i = 0 ; i < numbits ; i++)
+       {
                num = (num << 1) | (*src);
                src++;
        }
@@ -609,27 +650,12 @@ uint32_t bytebits_to_byte(uint8_t *src, int numbits)
 
 int IOdemodFSK(uint8_t *dest, size_t size)
 {
+       if (justNoise(dest, size)) return -1;
        //make sure buffer has data
-       if (size < 100) return -1;
-       
-       uint32_t idx = 0;
-       uint8_t testMax = 0;
-       
-       //test samples are not just noise
-       for (; idx < 65; ++idx ){
-               if (testMax < dest[idx])
-                       testMax = dest[idx];
-       }
-
-       //if not, just noise
-       if (testMax < 20) return -2;
-               
+       if (size < 66*64) return -2;
        // FSK demodulator
-       size = fskdemod(dest, size, 64, 1, 10, 8);  //  RF/64 and invert
-       
-       //did we get a good demod?
-       if (size < 65) return -3;
-       
+       size = fskdemod(dest, size, 64, 1, 10, 8);  // FSK2a RF/64 
+       if (size < 65) return -3;  //did we get a good demod?
        //Index map
        //0           10          20          30          40          50          60
        //|           |           |           |           |           |           |
@@ -639,25 +665,83 @@ int IOdemodFSK(uint8_t *dest, size_t size)
        //
        //XSF(version)facility:codeone+codetwo
        //Handle the data
-       
-       uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1};
-       
-       for( idx = 0; idx < (size - 65); ++idx) {
-       if ( memcmp(dest + idx, mask, sizeof(mask))==0) {
-               //frame marker found
-               if (!dest[idx+8] && 
-                       dest[idx+17] == 1 &&
-                       dest[idx+26] == 1 &&
-                       dest[idx+35] == 1 &&
-                       dest[idx+44] == 1 &&
-                       dest[idx+53] == 1){
-                               //confirmed proper separator bits found
-                               //return start position
-                               return (int) idx;
-                       }
-               }               
+       size_t startIdx = 0;
+       uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,1};
+       uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), &size, &startIdx);
+       if (errChk == 0) return -4; //preamble not found
+
+       if (!dest[startIdx+8] && dest[startIdx+17]==1 && dest[startIdx+26]==1 && dest[startIdx+35]==1 && dest[startIdx+44]==1 && dest[startIdx+53]==1){
+               //confirmed proper separator bits found
+               //return start position
+               return (int) startIdx;
+       }
+       return -5;
+}
+
+// by marshmellow
+// takes a array of binary values, start position, length of bits per parity (includes parity bit),
+//   Parity Type (1 for odd 0 for even), and binary Length (length to run) 
+size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen)
+{
+       uint32_t parityWd = 0;
+       size_t j = 0, bitCnt = 0;
+       for (int word = 0; word < (bLen); word+=pLen){
+               for (int bit=0; bit < pLen; bit++){
+                       parityWd = (parityWd << 1) | BitStream[startIdx+word+bit];
+      BitStream[j++] = (BitStream[startIdx+word+bit]);
+               }
+               j--;
+               // if parity fails then return 0
+               if (parityTest(parityWd, pLen, pType) == 0) return -1;
+               bitCnt+=(pLen-1);
+               parityWd = 0;
        }
-       return 0;
+       // if we got here then all the parities passed
+       //return ID start index and size
+       return bitCnt;
+}
+
+// by marshmellow
+// FSK Demod then try to locate an AWID ID
+int AWIDdemodFSK(uint8_t *dest, size_t *size)
+{
+       //make sure buffer has enough data
+       if (*size < 96*50) return -1;
+
+       if (justNoise(dest, *size)) return -2;
+
+       // FSK demodulator
+       *size = fskdemod(dest, *size, 50, 1, 10, 8);  // fsk2a RF/50 
+       if (*size < 96) return -3;  //did we get a good demod?
+
+       uint8_t preamble[] = {0,0,0,0,0,0,0,1};
+       size_t startIdx = 0;
+       uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
+       if (errChk == 0) return -4; //preamble not found
+       if (*size != 96) return -5;
+       return (int)startIdx;
+}
+
+// by marshmellow
+// FSK Demod then try to locate an Farpointe Data (pyramid) ID
+int PyramiddemodFSK(uint8_t *dest, size_t *size)
+{
+  //make sure buffer has data
+  if (*size < 128*50) return -5;
+
+  //test samples are not just noise
+  if (justNoise(dest, *size)) return -1;
+
+  // FSK demodulator
+  *size = fskdemod(dest, *size, 50, 1, 10, 8);  // fsk2a RF/50 
+  if (*size < 128) return -2;  //did we get a good demod?
+
+  uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
+       size_t startIdx = 0;
+       uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
+       if (errChk == 0) return -4; //preamble not found
+       if (*size != 128) return -3;
+       return (int)startIdx;
 }
 
 // by marshmellow
@@ -665,86 +749,582 @@ int IOdemodFSK(uint8_t *dest, size_t size)
 // maybe somehow adjust peak trimming value based on samples to fix?
 int DetectASKClock(uint8_t dest[], size_t size, int clock)
 {
-       int i = 0;
-       int clk[] = {16,32,40,50,64,100,128,256};
-       uint8_t clkLen = sizeof clk / sizeof clk[0];
-       
+  int i=0;
+  int clk[]={8,16,32,40,50,64,100,128,256};
+  int loopCnt = 256;  //don't need to loop through entire array...
+  if (size<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;
 }
index ad95fda5e161b8b5db1d12a89e71b0720d0587ba..dbeab0f7b58621290100544e209436a42fad5d99 100644 (file)
@@ -1,10 +1,14 @@
-// Copyright (C) 2014 
+// Copyright (C) 2014
 //
 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
 // at your option, any later version. See the LICENSE.txt file for the text of
 // the license.
 //-----------------------------------------------------------------------------
-// Low frequency commands
+// Low frequency demod related commands
+// marshmellow
+// note that many of these demods are not the slickest code and they often rely
+//   on peaks and clock instead of converting to clean signal. 
+//   
 //-----------------------------------------------------------------------------
 
 #ifndef LFDEMOD_H__
 #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
index c8d5af1c4363d9c152eba6b535a9e53c0fa53364..ccbb3c50e91389a4d733e25f75c7f94e50e77ef5 100644 (file)
@@ -33,7 +33,7 @@
  */\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
@@ -235,31 +235,31 @@ void usb_disable() {
 //* \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
@@ -298,26 +298,26 @@ bool usb_poll()
 //* \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
@@ -349,7 +349,7 @@ uint32_t usb_write(const byte_t* data, const size_t len) {
                // Wait for the the first bank to be sent\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
@@ -370,7 +370,7 @@ uint32_t usb_write(const byte_t* data, const size_t len) {
 //* \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
index b648993786971ab78342240c19049ad12e07c7db..59e73a478f6f37334c681068ed5b22b7bb258b9d 100644 (file)
@@ -35,7 +35,7 @@
 #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
index 5389428c5539eb60eee9f27b6956ca950aa79b15..8b0c7a3788ef438c94eaed81346a08f24927f954 100644 (file)
Binary files a/fpga/fpga_hf.bit and b/fpga/fpga_hf.bit differ
index e942921a8685731cbcf0e7bb6f86a11ea629dd0c..51b0681cd6a082550a19dccd794ff40439e393f9 100644 (file)
Binary files a/fpga/fpga_lf.bit and b/fpga/fpga_lf.bit differ
index c04ade80b098a474218fa8693c537ebe17729a14..0768c29de0dcd0204d0692acc9b23486a98d26a2 100644 (file)
@@ -50,12 +50,38 @@ begin
     else if(~(| adc_d[7:5])) after_hysteresis = 1'b0;
 end
 
+
 // Divide 13.56 MHz by 32 to produce the SSP_CLK
 // The register is bigger to allow higher division factors of up to /128
-reg [6:0] ssp_clk_divider;
+reg [10:0] ssp_clk_divider;
+
 always @(posedge adc_clk)
     ssp_clk_divider <= (ssp_clk_divider + 1);
-assign ssp_clk = ssp_clk_divider[4];
+
+reg ssp_clk;
+reg ssp_frame;
+always @(negedge adc_clk)
+begin
+    //If we're in 101, we only need a new bit every 8th carrier bit (53Hz). Otherwise, get next bit at 424Khz
+    if(mod_type == 3'b101)
+    begin
+       if(ssp_clk_divider[7:0] == 8'b00000000)
+           ssp_clk <= 1'b0;
+       if(ssp_clk_divider[7:0] == 8'b10000000)
+           ssp_clk <= 1'b1;
+
+    end
+    else
+    begin
+       if(ssp_clk_divider[4:0] == 5'd0)//[4:0] == 5'b00000)
+           ssp_clk <= 1'b1;
+       if(ssp_clk_divider[4:0] == 5'd16) //[4:0] == 5'b10000)
+           ssp_clk <= 1'b0;
+    end
+end
+
+
+//assign ssp_clk = ssp_clk_divider[4];
 
 // Divide SSP_CLK by 8 to produce the byte framing signal; the phase of
 // this is arbitrary, because it's just a bitstream.
@@ -69,12 +95,13 @@ reg [2:0] ssp_frame_divider_from_arm;
 always @(negedge ssp_clk)
     ssp_frame_divider_from_arm <= (ssp_frame_divider_from_arm + 1);
 
-reg ssp_frame;
+
+
 always @(ssp_frame_divider_to_arm or ssp_frame_divider_from_arm or mod_type)
     if(mod_type == 3'b000) // not modulating, so listening, to ARM
         ssp_frame = (ssp_frame_divider_to_arm == 3'b000);
     else
-        ssp_frame = (ssp_frame_divider_from_arm == 3'b000);
+       ssp_frame = (ssp_frame_divider_from_arm == 3'b000);
 
 // Synchronize up the after-hysteresis signal, to produce DIN.
 reg ssp_din;
@@ -90,7 +117,7 @@ always @(mod_type or ssp_clk or ssp_dout)
         modulating_carrier <= ssp_dout ^ ssp_clk_divider[3]; // XOR means BPSK
     else if(mod_type == 3'b010)
        modulating_carrier <= ssp_dout & ssp_clk_divider[5]; // switch 212kHz subcarrier on/off
-    else if(mod_type == 3'b100)
+    else if(mod_type == 3'b100 || mod_type == 3'b101)
        modulating_carrier <= ssp_dout & ssp_clk_divider[4]; // switch 424kHz modulation on/off
     else
         modulating_carrier <= 1'b0;                           // yet unused
@@ -106,7 +133,7 @@ assign pwr_oe4 = modulating_carrier;
 // This one is always on, so that we can watch the carrier.
 assign pwr_oe3 = 1'b0;
 
-assign dbg = after_hysteresis;
+assign dbg = modulating_carrier;
 //reg dbg;
 //always @(ssp_dout)
 //    dbg <= ssp_dout;
index 713c2cb8c3233085c2e897885d753f17359aa18e..ca15d81d2b6e959040c2920ef53382c92a8d6275 100644 (file)
@@ -14,8 +14,8 @@
 typedef enum {
        RHT2F_PASSWORD            = 21,
        RHT2F_AUTHENTICATE        = 22,
-  RHT2F_CRYPTO              = 23,
-  RHT2F_TEST_AUTH_ATTEMPTS  = 25,
+       RHT2F_CRYPTO              = 23,
+       RHT2F_TEST_AUTH_ATTEMPTS  = 25,
 } hitag_function;
 
 typedef struct {
@@ -33,7 +33,7 @@ typedef struct {
 typedef union {
        rht2d_password pwd;
        rht2d_authenticate auth;
-  rht2d_crypto crypto;
+       rht2d_crypto crypto;
 } hitag_data;
 
 #endif
diff --git a/traces/ATA5577-HIDemu-FC1-C9.pm3 b/traces/ATA5577-HIDemu-FC1-C9.pm3
new file mode 100644 (file)
index 0000000..7c0a878
--- /dev/null
@@ -0,0 +1,16000 @@
+69
+73
+35
+-4
+-36
+-64
+-86
+-106
+-46
+60
+74
+38
+3
+-31
+-58
+-82
+-101
+-102
+-41
+68
+86
+50
+14
+-22
+-50
+-75
+-96
+-113
+-34
+75
+92
+55
+19
+-17
+-46
+-72
+-92
+-111
+-31
+79
+96
+60
+23
+-14
+-43
+-70
+-91
+-109
+-28
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-108
+-25
+84
+101
+65
+28
+-10
+-40
+-67
+-88
+-107
+-25
+85
+102
+65
+28
+-10
+-40
+-67
+-88
+-107
+-24
+85
+103
+66
+29
+-9
+-40
+-66
+-88
+-107
+-24
+85
+102
+66
+29
+-9
+-40
+-66
+-88
+-106
+-25
+85
+102
+65
+28
+-10
+-40
+-67
+-88
+-16
+92
+98
+60
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+77
+40
+-1
+-33
+-61
+-83
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+73
+35
+-2
+-34
+-62
+-85
+-104
+-104
+-45
+66
+81
+47
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-28
+83
+97
+63
+25
+-11
+-42
+-68
+-90
+-107
+-26
+85
+100
+65
+21
+-14
+-45
+-70
+-14
+90
+94
+55
+12
+-22
+-51
+-75
+-22
+82
+86
+47
+6
+-27
+-56
+-80
+-28
+77
+81
+42
+2
+-31
+-59
+-82
+-31
+74
+77
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-34
+69
+74
+36
+-4
+-35
+-63
+-85
+-35
+68
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-5
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-37
+-64
+-86
+-35
+69
+72
+34
+-5
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+72
+35
+-5
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-36
+-64
+-86
+-35
+69
+73
+35
+-5
+-36
+-64
+-86
+-36
+68
+72
+34
+-4
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-36
+-64
+-86
+-36
+68
+72
+35
+-3
+-35
+-63
+-85
+-105
+-104
+-46
+65
+80
+47
+10
+-24
+-53
+-77
+-98
+-98
+-37
+74
+89
+55
+17
+-17
+-48
+-72
+-94
+-111
+-32
+79
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+96
+62
+24
+-12
+-43
+-68
+-90
+-108
+-28
+84
+98
+64
+25
+-11
+-42
+-68
+-90
+-107
+-27
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+100
+65
+26
+-10
+-41
+-67
+-89
+-107
+-26
+86
+99
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+100
+65
+26
+-10
+-42
+-67
+-89
+-106
+-26
+86
+100
+65
+27
+-9
+-41
+-67
+-89
+-106
+-26
+86
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+66
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+100
+65
+26
+-9
+-41
+-67
+-89
+-106
+-26
+86
+100
+66
+22
+-13
+-44
+-69
+-13
+91
+94
+55
+12
+-22
+-52
+-76
+-22
+82
+85
+47
+6
+-27
+-56
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+68
+83
+49
+11
+-22
+-52
+-76
+-97
+-97
+-35
+76
+91
+57
+19
+-16
+-47
+-71
+-93
+-110
+-31
+81
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-29
+82
+97
+63
+23
+-12
+-43
+-68
+-90
+-108
+-28
+83
+97
+63
+20
+-15
+-46
+-70
+-15
+89
+92
+54
+11
+-23
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+74
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+77
+39
+-1
+-33
+-62
+-84
+-33
+72
+76
+37
+-2
+-34
+-62
+-85
+-104
+-43
+63
+78
+41
+6
+-28
+-56
+-80
+-100
+-101
+-38
+72
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-90
+-18
+89
+97
+58
+15
+-19
+-49
+-73
+-20
+83
+86
+48
+7
+-27
+-56
+-79
+-26
+77
+81
+43
+2
+-30
+-59
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-33
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+75
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+51
+15
+-20
+-49
+-75
+-95
+-113
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-30
+80
+96
+61
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+90
+96
+58
+15
+-19
+-49
+-73
+-20
+84
+88
+48
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+75
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+70
+75
+37
+-1
+-33
+-61
+-84
+-104
+-104
+-44
+67
+82
+48
+11
+-23
+-52
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+54
+12
+-22
+-52
+-76
+-24
+81
+85
+46
+5
+-28
+-57
+-80
+-29
+75
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+68
+82
+49
+11
+-22
+-52
+-76
+-97
+-98
+-35
+75
+90
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+94
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+21
+-15
+-45
+-70
+-14
+90
+94
+54
+12
+-22
+-52
+-76
+-22
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+2
+-31
+-59
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-2
+-35
+-63
+-85
+-105
+-44
+62
+77
+41
+6
+-29
+-56
+-81
+-100
+-101
+-38
+71
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+95
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+96
+58
+15
+-19
+-49
+-74
+-20
+83
+87
+48
+7
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+75
+37
+-3
+-34
+-62
+-85
+-33
+71
+74
+36
+-3
+-35
+-63
+-85
+-105
+-44
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+51
+15
+-20
+-49
+-75
+-95
+-112
+-33
+76
+93
+58
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+81
+99
+62
+25
+-12
+-42
+-68
+-90
+-108
+-27
+82
+100
+63
+26
+-11
+-41
+-68
+-89
+-108
+-26
+83
+101
+63
+26
+-11
+-41
+-68
+-89
+-107
+-26
+83
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-25
+83
+100
+64
+27
+-10
+-40
+-67
+-88
+-16
+92
+99
+59
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+83
+44
+3
+-30
+-59
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+77
+38
+-2
+-34
+-62
+-84
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+35
+-4
+-35
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+72
+35
+-2
+-34
+-62
+-85
+-104
+-104
+-45
+66
+81
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+89
+56
+18
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+22
+-14
+-45
+-70
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-107
+-27
+84
+98
+64
+20
+-15
+-46
+-70
+-14
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+41
+1
+-32
+-60
+-83
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+38
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+77
+41
+6
+-28
+-56
+-80
+-100
+-101
+-38
+72
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+95
+59
+22
+-15
+-44
+-70
+-91
+-109
+-29
+81
+98
+62
+25
+-13
+-42
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+89
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+87
+51
+15
+-20
+-49
+-75
+-95
+-113
+-33
+76
+93
+57
+20
+-16
+-46
+-72
+-92
+-110
+-30
+79
+96
+60
+23
+-14
+-44
+-70
+-91
+-109
+-28
+81
+98
+61
+24
+-13
+-43
+-69
+-90
+-19
+89
+97
+58
+15
+-19
+-49
+-74
+-21
+83
+87
+48
+7
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-35
+69
+75
+37
+-1
+-33
+-61
+-84
+-104
+-104
+-44
+67
+82
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+94
+61
+22
+-13
+-44
+-69
+-91
+-108
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+54
+11
+-23
+-52
+-76
+-23
+80
+84
+46
+5
+-28
+-57
+-80
+-29
+75
+80
+42
+1
+-31
+-60
+-82
+-31
+72
+77
+39
+-1
+-33
+-62
+-84
+-33
+71
+76
+38
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+49
+12
+-22
+-52
+-76
+-97
+-97
+-35
+75
+90
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-45
+-69
+-91
+-109
+-29
+82
+96
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-45
+-70
+-14
+89
+93
+54
+12
+-22
+-52
+-76
+-22
+81
+86
+47
+6
+-27
+-56
+-80
+-27
+77
+81
+42
+2
+-31
+-59
+-82
+-30
+74
+77
+39
+-1
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+77
+40
+5
+-29
+-56
+-81
+-100
+-101
+-38
+70
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-16
+-45
+-71
+-91
+-110
+-29
+80
+96
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-18
+89
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+88
+48
+7
+-26
+-56
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-82
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-104
+-44
+62
+77
+40
+6
+-29
+-56
+-81
+-100
+-101
+-38
+72
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+98
+61
+25
+-13
+-43
+-69
+-90
+-108
+-27
+81
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+90
+97
+58
+15
+-19
+-49
+-74
+-20
+83
+86
+47
+6
+-27
+-56
+-79
+-27
+77
+81
+42
+2
+-31
+-59
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-36
+68
+72
+34
+-5
+-36
+-64
+-86
+-37
+67
+72
+34
+-3
+-35
+-63
+-85
+-105
+-104
+-46
+65
+79
+47
+9
+-24
+-54
+-77
+-98
+-98
+-37
+74
+89
+55
+17
+-17
+-48
+-72
+-94
+-111
+-32
+80
+95
+61
+22
+-14
+-45
+-69
+-91
+-109
+-28
+83
+97
+64
+25
+-11
+-42
+-68
+-90
+-107
+-26
+86
+100
+66
+22
+-13
+-44
+-69
+-13
+91
+94
+55
+13
+-21
+-51
+-75
+-22
+83
+86
+47
+6
+-27
+-56
+-80
+-27
+77
+81
+43
+2
+-30
+-59
+-82
+-30
+74
+77
+40
+-1
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-111
+-32
+79
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-30
+81
+96
+62
+23
+-12
+-43
+-69
+-91
+-108
+-28
+83
+97
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+47
+5
+-28
+-57
+-80
+-27
+77
+80
+42
+1
+-31
+-60
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+73
+77
+39
+-1
+-33
+-62
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-104
+-44
+62
+77
+41
+6
+-28
+-56
+-80
+-99
+-101
+-38
+71
+88
+52
+16
+-19
+-49
+-74
+-94
+-112
+-32
+77
+95
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-90
+-108
+-26
+83
+100
+63
+26
+-11
+-41
+-68
+-89
+-108
+-26
+83
+101
+64
+27
+-11
+-41
+-68
+-89
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-89
+-107
+-25
+84
+101
+65
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-89
+-17
+91
+98
+59
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-58
+-81
+-30
+75
+78
+40
+0
+-32
+-60
+-83
+-32
+72
+75
+38
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+51
+16
+-20
+-49
+-74
+-95
+-112
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+96
+60
+24
+-14
+-43
+-69
+-90
+-109
+-28
+81
+99
+62
+25
+-12
+-42
+-69
+-90
+-18
+89
+97
+59
+15
+-19
+-49
+-73
+-20
+83
+87
+48
+7
+-27
+-56
+-79
+-26
+78
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-33
+71
+74
+36
+-3
+-35
+-63
+-85
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-63
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+72
+34
+-5
+-36
+-64
+-86
+-36
+69
+73
+35
+-2
+-34
+-62
+-85
+-105
+-104
+-45
+66
+81
+48
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-107
+-27
+83
+98
+64
+20
+-15
+-46
+-70
+-14
+89
+93
+54
+11
+-23
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-83
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+77
+40
+5
+-29
+-56
+-81
+-100
+-101
+-38
+70
+88
+51
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+88
+49
+8
+-26
+-55
+-78
+-25
+79
+82
+44
+3
+-29
+-58
+-81
+-29
+76
+80
+42
+1
+-32
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-104
+-43
+63
+77
+40
+6
+-28
+-56
+-81
+-100
+-101
+-38
+71
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+96
+58
+15
+-19
+-49
+-73
+-20
+83
+87
+48
+7
+-26
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+78
+40
+0
+-32
+-61
+-83
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-2
+-34
+-62
+-84
+-104
+-104
+-44
+66
+80
+47
+10
+-23
+-53
+-77
+-97
+-98
+-36
+75
+89
+56
+18
+-17
+-48
+-72
+-94
+-111
+-32
+80
+95
+60
+22
+-14
+-45
+-69
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+92
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+47
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+69
+74
+36
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+68
+82
+49
+11
+-22
+-52
+-76
+-97
+-97
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-94
+-110
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+83
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+54
+12
+-22
+-52
+-76
+-23
+80
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+83
+100
+63
+26
+-11
+-41
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+88
+50
+8
+-26
+-55
+-78
+-26
+78
+83
+44
+3
+-30
+-58
+-81
+-29
+75
+79
+40
+0
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-62
+-85
+-105
+-44
+63
+77
+40
+6
+-28
+-56
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-19
+-49
+-74
+-94
+-112
+-33
+77
+94
+58
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+98
+62
+25
+-12
+-42
+-69
+-89
+-108
+-27
+82
+100
+63
+26
+-12
+-42
+-68
+-89
+-108
+-26
+82
+100
+64
+27
+-11
+-41
+-67
+-89
+-107
+-25
+83
+100
+63
+27
+-11
+-41
+-67
+-89
+-107
+-26
+83
+101
+65
+27
+-10
+-41
+-67
+-88
+-107
+-26
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-16
+91
+98
+59
+16
+-18
+-49
+-73
+-19
+85
+88
+48
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-33
+72
+75
+37
+-3
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-63
+-86
+-35
+68
+73
+35
+-2
+-34
+-62
+-85
+-104
+-104
+-44
+66
+81
+47
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-94
+-110
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-91
+-108
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-46
+-70
+-14
+89
+93
+54
+11
+-23
+-52
+-76
+-23
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+41
+1
+-31
+-60
+-82
+-31
+74
+77
+40
+-1
+-33
+-61
+-84
+-33
+72
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-56
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+25
+-12
+-42
+-68
+-89
+-17
+89
+97
+58
+15
+-19
+-49
+-73
+-19
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+44
+3
+-30
+-58
+-81
+-30
+75
+78
+41
+0
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-104
+-44
+63
+78
+41
+6
+-28
+-56
+-80
+-100
+-101
+-38
+72
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-58
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+73
+35
+-2
+-34
+-62
+-84
+-104
+-104
+-45
+66
+81
+47
+10
+-24
+-53
+-77
+-98
+-98
+-37
+74
+89
+55
+17
+-18
+-48
+-73
+-94
+-111
+-32
+79
+93
+59
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+96
+62
+23
+-13
+-44
+-69
+-91
+-108
+-28
+83
+97
+63
+20
+-15
+-46
+-71
+-15
+89
+93
+53
+11
+-23
+-52
+-76
+-24
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-43
+68
+82
+49
+12
+-22
+-52
+-76
+-97
+-97
+-35
+76
+90
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+94
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+82
+96
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+84
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+53
+11
+-23
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+51
+15
+-20
+-49
+-75
+-95
+-113
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+26
+-12
+-41
+-68
+-89
+-17
+91
+98
+60
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-105
+-44
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+87
+52
+16
+-20
+-49
+-74
+-94
+-112
+-33
+77
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-17
+90
+98
+59
+16
+-19
+-49
+-73
+-19
+85
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+83
+44
+3
+-30
+-59
+-81
+-29
+75
+79
+41
+1
+-32
+-60
+-83
+-32
+73
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-43
+67
+82
+49
+12
+-22
+-52
+-76
+-97
+-97
+-35
+76
+90
+56
+18
+-17
+-48
+-72
+-94
+-110
+-31
+80
+94
+60
+22
+-14
+-45
+-70
+-91
+-109
+-29
+82
+96
+62
+23
+-12
+-43
+-69
+-91
+-108
+-28
+83
+97
+63
+20
+-15
+-46
+-71
+-16
+88
+91
+52
+10
+-24
+-53
+-77
+-25
+79
+83
+44
+4
+-29
+-58
+-81
+-30
+74
+77
+39
+-1
+-33
+-61
+-83
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+73
+35
+-2
+-34
+-62
+-85
+-104
+-104
+-44
+67
+81
+48
+11
+-23
+-52
+-76
+-97
+-98
+-35
+76
+91
+57
+19
+-16
+-47
+-71
+-93
+-110
+-30
+81
+96
+62
+24
+-12
+-43
+-69
+-91
+-108
+-27
+84
+99
+64
+26
+-10
+-42
+-67
+-89
+-107
+-27
+84
+99
+65
+22
+-14
+-44
+-69
+-14
+90
+94
+55
+12
+-22
+-51
+-75
+-23
+81
+85
+47
+6
+-27
+-56
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-46
+61
+75
+40
+5
+-29
+-57
+-81
+-100
+-102
+-40
+70
+87
+51
+15
+-21
+-49
+-75
+-95
+-113
+-33
+76
+93
+57
+21
+-16
+-46
+-72
+-92
+-110
+-29
+79
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+100
+63
+26
+-11
+-41
+-68
+-89
+-17
+91
+97
+59
+16
+-18
+-49
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-25
+79
+82
+44
+3
+-29
+-58
+-81
+-29
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-62
+-84
+-33
+71
+75
+37
+-2
+-35
+-62
+-85
+-105
+-44
+62
+77
+40
+6
+-29
+-56
+-81
+-100
+-101
+-38
+71
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-32
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-27
+78
+82
+43
+3
+-30
+-59
+-82
+-30
+74
+78
+40
+-1
+-33
+-61
+-84
+-33
+72
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+37
+-1
+-33
+-62
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+84
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+84
+98
+64
+25
+-11
+-42
+-67
+-89
+-107
+-27
+84
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-27
+84
+98
+64
+26
+-10
+-42
+-67
+-89
+-107
+-26
+86
+100
+65
+21
+-14
+-45
+-70
+-13
+90
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+47
+5
+-28
+-57
+-80
+-28
+76
+81
+43
+2
+-31
+-59
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-63
+-86
+-35
+68
+72
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-106
+-46
+61
+75
+39
+4
+-30
+-57
+-81
+-101
+-102
+-39
+70
+87
+51
+15
+-20
+-49
+-75
+-95
+-113
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-1
+-33
+-62
+-84
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+87
+51
+15
+-20
+-49
+-74
+-95
+-112
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+83
+99
+63
+26
+-11
+-41
+-68
+-89
+-108
+-25
+84
+101
+65
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+101
+65
+28
+-10
+-40
+-67
+-88
+-107
+-25
+85
+101
+65
+28
+-10
+-40
+-66
+-88
+-107
+-24
+85
+102
+65
+27
+-10
+-40
+-67
+-88
+-107
+-25
+85
+101
+64
+27
+-10
+-41
+-67
+-88
+-16
+91
+98
+60
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+7
+-26
+-55
+-78
+-26
+77
+81
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+70
+74
+35
+-2
+-34
+-62
+-84
+-104
+-104
+-45
+67
+81
+48
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+89
+56
+18
+-17
+-48
+-72
+-94
+-111
+-32
+80
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+97
+62
+23
+-12
+-43
+-69
+-91
+-108
+-28
+83
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+53
+11
+-23
+-52
+-76
+-23
+80
+84
+46
+5
+-28
+-57
+-80
+-29
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+74
+35
+-4
+-36
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-5
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-5
+-36
+-64
+-86
+-35
+69
+73
+35
+-5
+-36
+-64
+-86
+-35
+69
+72
+34
+-5
+-36
+-64
+-86
+-36
+68
+72
+35
+-4
+-36
+-64
+-86
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+72
+35
+-4
+-36
+-64
+-86
+-36
+69
+72
+35
+-2
+-34
+-63
+-85
+-105
+-104
+-45
+67
+81
+48
+10
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+81
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-28
+83
+97
+63
+24
+-11
+-43
+-68
+-90
+-107
+-27
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+66
+27
+-9
+-41
+-66
+-89
+-106
+-26
+86
+100
+66
+27
+-9
+-41
+-66
+-89
+-106
+-26
+86
+100
+66
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+66
+27
+-9
+-41
+-66
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+86
+100
+65
+21
+-14
+-45
+-70
+-14
+90
+94
+54
+12
+-22
+-52
+-76
+-22
+82
+85
+47
+6
+-27
+-56
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+72
+77
+39
+-1
+-33
+-61
+-84
+-33
+70
+74
+37
+-3
+-35
+-63
+-85
+-34
+69
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-44
+67
+81
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+74
+89
+56
+18
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-91
+-109
+-29
+82
+96
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+21
+-14
+-45
+-70
+-14
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+87
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+81
+43
+2
+-31
+-59
+-82
+-30
+75
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-33
+77
+94
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+79
+82
+43
+3
+-30
+-59
+-81
+-29
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+49
+11
+-22
+-52
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-107
+-27
+85
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-29
+75
+79
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+69
+73
+35
+-2
+-34
+-62
+-84
+-104
+-104
+-45
+66
+81
+47
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+89
+56
+17
+-17
+-48
+-72
+-94
+-111
+-32
+79
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+96
+62
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+54
+11
+-23
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+75
+37
+-3
+-35
+-62
+-85
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-30
+-57
+-81
+-100
+-102
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+58
+15
+-19
+-49
+-73
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-58
+-81
+-30
+75
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+77
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-28
+81
+98
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+100
+63
+26
+-11
+-41
+-68
+-89
+-108
+-26
+84
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+83
+100
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-10
+-40
+-67
+-88
+-107
+-25
+84
+102
+65
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-16
+91
+98
+60
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+7
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-63
+-86
+-35
+68
+73
+35
+-2
+-34
+-62
+-84
+-104
+-104
+-45
+67
+81
+47
+10
+-24
+-53
+-77
+-98
+-98
+-36
+74
+89
+56
+17
+-17
+-48
+-72
+-94
+-111
+-32
+79
+93
+60
+21
+-14
+-45
+-70
+-92
+-109
+-30
+81
+96
+62
+23
+-13
+-44
+-69
+-91
+-108
+-29
+82
+96
+62
+19
+-16
+-47
+-71
+-16
+87
+91
+52
+10
+-24
+-53
+-77
+-25
+79
+83
+44
+3
+-29
+-58
+-81
+-30
+75
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-44
+63
+77
+41
+6
+-28
+-56
+-81
+-100
+-101
+-38
+71
+89
+53
+17
+-19
+-48
+-73
+-94
+-112
+-31
+78
+96
+60
+23
+-14
+-44
+-70
+-91
+-109
+-28
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-108
+-27
+83
+100
+63
+26
+-11
+-41
+-68
+-89
+-17
+91
+98
+59
+16
+-19
+-49
+-73
+-19
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+81
+43
+2
+-30
+-59
+-82
+-30
+74
+78
+40
+-1
+-33
+-61
+-83
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+69
+74
+36
+-4
+-35
+-63
+-85
+-105
+-46
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-102
+-39
+70
+87
+51
+15
+-21
+-49
+-75
+-95
+-113
+-33
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+98
+62
+25
+-12
+-42
+-69
+-90
+-108
+-26
+83
+100
+63
+27
+-11
+-41
+-68
+-89
+-17
+91
+98
+60
+16
+-18
+-48
+-73
+-19
+84
+88
+49
+8
+-25
+-55
+-78
+-26
+78
+82
+44
+3
+-29
+-58
+-81
+-29
+75
+80
+41
+1
+-32
+-60
+-83
+-32
+72
+77
+38
+-2
+-34
+-62
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+75
+89
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-14
+-45
+-70
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+99
+64
+20
+-15
+-45
+-70
+-15
+88
+93
+54
+11
+-23
+-52
+-76
+-24
+80
+84
+46
+5
+-28
+-57
+-80
+-29
+75
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-52
+-76
+-97
+-98
+-35
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-110
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-91
+-109
+-29
+82
+97
+62
+23
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+63
+20
+-15
+-46
+-71
+-16
+89
+93
+53
+11
+-23
+-52
+-76
+-23
+80
+84
+46
+5
+-28
+-57
+-80
+-28
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-33
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-27
+77
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-56
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+15
+-19
+-49
+-73
+-20
+84
+88
+49
+8
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-2
+-34
+-62
+-84
+-104
+-104
+-45
+67
+82
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+81
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-28
+83
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-26
+86
+100
+65
+21
+-14
+-45
+-70
+-14
+90
+94
+55
+12
+-22
+-52
+-75
+-22
+82
+86
+47
+6
+-27
+-56
+-80
+-28
+76
+81
+42
+2
+-31
+-59
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-62
+-85
+-34
+69
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-45
+67
+82
+48
+11
+-23
+-52
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-111
+-32
+79
+94
+60
+22
+-14
+-45
+-69
+-91
+-109
+-29
+82
+96
+62
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+92
+54
+11
+-23
+-52
+-76
+-24
+80
+84
+46
+4
+-28
+-57
+-80
+-28
+76
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-62
+-85
+-35
+69
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+75
+40
+5
+-29
+-57
+-81
+-100
+-102
+-39
+71
+87
+51
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+95
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+25
+-12
+-42
+-68
+-89
+-108
+-26
+83
+100
+63
+27
+-11
+-41
+-68
+-89
+-107
+-26
+83
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-26
+83
+101
+64
+27
+-10
+-41
+-67
+-88
+-17
+91
+98
+60
+16
+-18
+-48
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+74
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+77
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+83
+44
+3
+-30
+-58
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-3
+-35
+-63
+-85
+-105
+-104
+-45
+66
+81
+47
+10
+-24
+-53
+-77
+-98
+-98
+-36
+75
+89
+55
+17
+-17
+-48
+-72
+-94
+-111
+-31
+79
+94
+60
+21
+-14
+-45
+-70
+-91
+-109
+-29
+82
+97
+62
+23
+-12
+-44
+-69
+-91
+-108
+-28
+83
+97
+63
+20
+-15
+-46
+-70
+-14
+89
+93
+53
+11
+-23
+-52
+-76
+-23
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+38
+-1
+-33
+-62
+-84
+-33
+71
+74
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+39
+5
+-30
+-57
+-81
+-100
+-102
+-39
+70
+87
+51
+16
+-20
+-49
+-74
+-95
+-112
+-32
+77
+94
+58
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+96
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+100
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+81
+43
+3
+-30
+-59
+-82
+-30
+75
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+75
+37
+-2
+-34
+-62
+-85
+-33
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+77
+40
+5
+-29
+-56
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+97
+59
+15
+-19
+-49
+-73
+-20
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+40
+0
+-32
+-60
+-83
+-33
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-61
+-84
+-104
+-104
+-44
+67
+81
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-14
+-45
+-70
+-91
+-109
+-29
+83
+97
+64
+24
+-11
+-43
+-68
+-90
+-107
+-27
+85
+99
+65
+21
+-14
+-45
+-70
+-14
+90
+93
+55
+12
+-22
+-52
+-75
+-22
+82
+85
+47
+5
+-27
+-56
+-80
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+70
+75
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+68
+82
+49
+12
+-22
+-52
+-76
+-97
+-97
+-35
+76
+91
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-107
+-28
+84
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+54
+11
+-23
+-52
+-76
+-24
+81
+84
+46
+5
+-28
+-57
+-80
+-29
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-1
+-34
+-62
+-84
+-33
+70
+74
+36
+-3
+-35
+-63
+-85
+-34
+69
+73
+35
+-4
+-35
+-63
+-85
+-105
+-45
+61
+75
+39
+5
+-30
+-57
+-81
+-101
+-102
+-40
+70
+88
+52
+15
+-20
+-49
+-75
+-95
+-113
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-32
+77
+94
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+26
+-12
+-42
+-68
+-89
+-108
+-26
+83
+100
+64
+27
+-11
+-41
+-68
+-89
+-107
+-25
+84
+101
+63
+27
+-11
+-41
+-68
+-89
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-88
+-16
+91
+98
+60
+17
+-18
+-48
+-73
+-19
+85
+89
+50
+8
+-25
+-55
+-78
+-25
+79
+82
+44
+3
+-29
+-58
+-81
+-29
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+74
+36
+-4
+-35
+-63
+-85
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-2
+-34
+-62
+-85
+-105
+-104
+-45
+66
+81
+47
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+89
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-14
+-45
+-69
+-91
+-109
+-28
+82
+97
+63
+24
+-11
+-43
+-68
+-90
+-107
+-27
+84
+98
+65
+21
+-14
+-45
+-70
+-14
+90
+94
+54
+12
+-22
+-52
+-76
+-22
+82
+86
+47
+6
+-27
+-56
+-80
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+77
+40
+-1
+-33
+-61
+-83
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+75
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+39
+4
+-30
+-57
+-81
+-101
+-102
+-39
+70
+87
+51
+15
+-21
+-49
+-75
+-95
+-113
+-34
+76
+93
+56
+20
+-17
+-46
+-72
+-92
+-110
+-31
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-30
+80
+97
+60
+23
+-14
+-43
+-70
+-91
+-20
+88
+95
+56
+14
+-20
+-50
+-74
+-21
+83
+86
+47
+6
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+77
+39
+-1
+-33
+-62
+-84
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-104
+-43
+63
+78
+42
+7
+-28
+-55
+-80
+-99
+-100
+-37
+72
+90
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+95
+59
+22
+-14
+-44
+-70
+-91
+-109
+-29
+80
+97
+61
+25
+-13
+-42
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+58
+15
+-19
+-49
+-73
+-20
+83
+86
+47
+6
+-27
+-56
+-79
+-27
+77
+81
+42
+2
+-31
+-59
+-82
+-31
+74
+78
+40
+0
+-33
+-61
+-83
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-44
+67
+82
+49
+11
+-22
+-52
+-76
+-97
+-98
+-35
+76
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-30
+81
+95
+62
+23
+-13
+-44
+-69
+-91
+-108
+-28
+83
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-26
+85
+100
+65
+22
+-14
+-45
+-69
+-14
+90
+94
+54
+12
+-22
+-51
+-75
+-23
+81
+85
+47
+6
+-27
+-56
+-80
+-28
+77
+80
+42
+1
+-31
+-60
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-44
+68
+82
+49
+11
+-22
+-52
+-76
+-97
+-98
+-35
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-29
+82
+96
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+63
+20
+-15
+-46
+-70
+-15
+89
+92
+54
+11
+-23
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+76
+93
+57
+20
+-16
+-45
+-71
+-92
+-110
+-30
+80
+97
+60
+23
+-14
+-44
+-70
+-91
+-109
+-28
+82
+99
+62
+25
+-12
+-42
+-68
+-90
+-18
+89
+97
+58
+15
+-19
+-49
+-74
+-20
+84
+87
+48
+7
+-27
+-56
+-79
+-26
+77
+82
+43
+2
+-31
+-59
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+6
+-29
+-56
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-18
+89
+97
+59
+15
+-19
+-49
+-73
+-20
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+74
+78
+40
+0
+-32
+-60
+-83
+-33
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-45
+67
+82
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-28
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+99
+65
+21
+-14
+-45
+-70
+-14
+89
+94
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+75
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+76
+38
+-1
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-1
+-33
+-61
+-84
+-104
+-103
+-43
+68
+83
+49
+12
+-22
+-52
+-76
+-97
+-97
+-35
+76
+91
+57
+19
+-16
+-47
+-71
+-93
+-110
+-30
+82
+96
+62
+23
+-12
+-44
+-69
+-91
+-108
+-27
+83
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+85
+99
+65
+21
+-14
+-45
+-70
+-14
+90
+93
+54
+12
+-22
+-52
+-76
+-22
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+15
+-20
+-49
+-75
+-95
+-97
+-32
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+81
+98
+62
+25
+-12
+-42
+-68
+-90
+-18
+89
+97
+58
+15
+-19
+-49
+-73
+-21
+83
+87
+48
+7
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+77
+40
+0
+-33
+-61
+-83
+-33
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+62
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+15
+-19
+-49
+-73
+-20
+84
+87
+49
+7
+-26
+-55
+-79
+-27
+78
+82
+43
+3
+-30
+-59
+-82
+-30
+75
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-33
+70
+74
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+81
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-92
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+99
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+84
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-27
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+86
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+100
+66
+27
+-9
+-41
+-67
+-89
+-106
+-26
+86
+100
+66
+22
+-14
+-45
+-69
+-13
+90
+94
+55
+12
+-22
+-51
+-75
+-22
+82
+86
+47
+6
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-30
+-59
+-82
+-30
+74
+77
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-34
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-5
+-36
+-64
+-86
+-35
+69
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-36
+-64
+-86
+-106
+-46
+60
+75
+39
+4
+-30
+-58
+-82
+-101
+-102
+-40
+70
+87
+51
+15
+-21
+-49
+-75
+-95
+-97
+-33
+77
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+81
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+97
+58
+15
+-19
+-49
+-74
+-20
+83
+87
+48
+7
+-26
+-55
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-31
+74
+77
+40
+-1
+-33
+-61
+-84
+-33
+72
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-108
+-26
+83
+100
+63
+27
+-11
+-41
+-68
+-89
+-107
+-26
+83
+100
+64
+27
+-11
+-41
+-68
+-88
+-107
+-26
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+100
+64
+27
+-10
+-41
+-67
+-88
+-107
+-26
+83
+101
+65
+27
+-10
+-40
+-67
+-88
+-16
+91
+98
+60
+17
+-18
+-48
+-73
+-19
+85
+88
+49
+7
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+77
+38
+-2
+-34
+-62
+-84
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-52
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-32
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+82
+97
+62
+24
+-12
+-43
+-68
+-90
+-108
+-27
+85
+99
+65
+21
+-14
+-45
+-70
+-14
+89
+93
+53
+11
+-23
+-52
+-76
+-22
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+38
+-2
+-34
+-62
+-85
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-34
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+74
+35
+-4
+-36
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-37
+-64
+-86
+-36
+68
+71
+33
+-6
+-37
+-65
+-87
+-37
+67
+72
+33
+-6
+-37
+-65
+-87
+-37
+68
+72
+34
+-5
+-37
+-64
+-86
+-37
+68
+72
+33
+-5
+-37
+-65
+-87
+-37
+68
+72
+34
+-5
+-37
+-64
+-86
+-36
+68
+73
+35
+-3
+-35
+-62
+-85
+-105
+-104
+-45
+65
+80
+47
+10
+-24
+-53
+-77
+-98
+-98
+-37
+74
+89
+56
+17
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-92
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-107
+-27
+85
+99
+64
+25
+-10
+-42
+-67
+-89
+-107
+-27
+85
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-27
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-106
+-26
+85
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+85
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+66
+22
+-13
+-44
+-69
+-14
+90
+94
+55
+12
+-22
+-52
+-75
+-22
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+77
+81
+42
+2
+-31
+-59
+-82
+-30
+74
+77
+39
+-1
+-33
+-61
+-84
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+0
+-33
+-61
+-84
+-104
+-103
+-43
+68
+83
+49
+12
+-22
+-52
+-76
+-97
+-97
+-35
+76
+90
+57
+19
+-16
+-47
+-71
+-93
+-110
+-30
+81
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-28
+83
+97
+63
+24
+-11
+-43
+-68
+-90
+-107
+-27
+84
+98
+64
+20
+-15
+-46
+-70
+-14
+90
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+77
+40
+5
+-29
+-57
+-81
+-100
+-101
+-38
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+95
+58
+22
+-15
+-45
+-71
+-91
+-110
+-28
+81
+98
+62
+25
+-13
+-42
+-69
+-90
+-108
+-27
+82
+100
+63
+26
+-11
+-42
+-68
+-89
+-17
+91
+98
+59
+16
+-18
+-49
+-73
+-19
+85
+88
+50
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+78
+39
+-1
+-33
+-61
+-84
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-105
+-45
+61
+75
+38
+4
+-30
+-57
+-81
+-101
+-102
+-40
+69
+86
+50
+14
+-22
+-50
+-76
+-96
+-113
+-35
+74
+91
+55
+19
+-17
+-47
+-72
+-93
+-111
+-31
+78
+95
+58
+22
+-15
+-45
+-71
+-91
+-109
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-19
+89
+96
+58
+15
+-19
+-49
+-74
+-20
+84
+87
+48
+7
+-27
+-55
+-79
+-26
+79
+83
+44
+3
+-30
+-58
+-81
+-29
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+38
+-1
+-34
+-62
+-84
+-33
+71
+76
+37
+0
+-32
+-61
+-83
+-103
+-103
+-44
+67
+82
+49
+11
+-22
+-52
+-76
+-97
+-98
+-36
+75
+91
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+94
+60
+22
+-14
+-45
+-70
+-91
+-109
+-29
+82
+96
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-46
+-70
+-15
+88
+92
+53
+11
+-23
+-53
+-76
+-24
+80
+83
+45
+4
+-29
+-57
+-81
+-29
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+70
+75
+37
+0
+-33
+-61
+-83
+-104
+-103
+-43
+69
+83
+50
+12
+-22
+-52
+-76
+-97
+-97
+-35
+77
+91
+57
+19
+-16
+-47
+-71
+-93
+-110
+-30
+81
+95
+62
+23
+-13
+-44
+-69
+-91
+-108
+-28
+83
+97
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+84
+99
+65
+21
+-14
+-45
+-70
+-14
+90
+94
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+69
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-18
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+48
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+74
+77
+40
+0
+-33
+-61
+-83
+-32
+71
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+75
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+51
+15
+-20
+-49
+-75
+-95
+-97
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-30
+80
+97
+60
+23
+-14
+-43
+-70
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-90
+-108
+-27
+83
+100
+63
+26
+-11
+-41
+-68
+-89
+-108
+-26
+83
+101
+63
+27
+-11
+-41
+-67
+-89
+-107
+-26
+83
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+101
+65
+27
+-10
+-40
+-67
+-88
+-107
+-25
+84
+101
+65
+27
+-10
+-41
+-67
+-88
+-16
+91
+98
+59
+16
+-18
+-48
+-73
+-19
+84
+88
+50
+8
+-25
+-55
+-78
+-26
+79
+82
+44
+3
+-30
+-58
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+74
+37
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+73
+35
+-2
+-34
+-62
+-85
+-105
+-104
+-44
+67
+81
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-45
+-70
+-14
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+84
+46
+5
+-29
+-57
+-80
+-28
+75
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+37
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-3
+-34
+-62
+-85
+-104
+-44
+62
+77
+41
+6
+-28
+-56
+-80
+-100
+-101
+-37
+72
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-31
+78
+95
+59
+22
+-15
+-44
+-70
+-91
+-109
+-28
+81
+97
+61
+25
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-18
+90
+97
+58
+15
+-19
+-49
+-74
+-20
+84
+87
+48
+7
+-26
+-56
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+75
+37
+-2
+-34
+-62
+-85
+-33
+70
+74
+36
+-4
+-35
+-63
+-85
+-105
+-45
+61
+75
+39
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+51
+15
+-20
+-49
+-74
+-95
+-113
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-30
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+81
+98
+62
+25
+-12
+-42
+-68
+-90
+-18
+89
+96
+58
+15
+-19
+-49
+-74
+-20
+83
+87
+49
+7
+-26
+-55
+-79
+-27
+77
+81
+43
+2
+-30
+-59
+-82
+-30
+75
+79
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+70
+74
+36
+-3
+-35
+-63
+-85
+-34
+70
+75
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-52
+-76
+-97
+-98
+-36
+75
+90
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+38
+-1
+-34
+-62
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-35
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+49
+11
+-23
+-52
+-76
+-97
+-98
+-36
+75
+90
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-108
+-28
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+84
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+2
+-31
+-59
+-82
+-31
+73
+77
+40
+-1
+-33
+-61
+-84
+-33
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+77
+41
+6
+-28
+-56
+-81
+-100
+-101
+-38
+71
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+95
+58
+22
+-15
+-45
+-71
+-91
+-110
+-28
+81
+97
+62
+24
+-13
+-43
+-69
+-90
+-108
+-27
+83
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+48
+7
+-26
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-31
+74
+77
+40
+0
+-33
+-61
+-83
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+75
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+99
+62
+25
+-12
+-42
+-68
+-90
+-18
+89
+96
+57
+15
+-20
+-50
+-74
+-20
+83
+86
+48
+7
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+79
+40
+0
+-33
+-61
+-83
+-32
+71
+75
+37
+-3
+-35
+-62
+-85
+-33
+71
+74
+36
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-44
+67
+82
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-94
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-107
+-27
+84
+98
+64
+21
+-14
+-45
+-70
+-14
+89
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+48
+11
+-23
+-53
+-76
+-97
+-98
+-35
+75
+90
+57
+18
+-16
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+21
+-15
+-45
+-70
+-15
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+6
+-29
+-56
+-81
+-100
+-101
+-39
+71
+89
+52
+16
+-19
+-49
+-74
+-94
+-112
+-32
+77
+95
+59
+22
+-15
+-44
+-71
+-91
+-109
+-28
+81
+99
+62
+25
+-13
+-42
+-69
+-90
+-108
+-27
+83
+100
+63
+27
+-11
+-41
+-68
+-89
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-10
+-41
+-67
+-88
+-107
+-25
+84
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+65
+28
+-10
+-40
+-67
+-88
+-107
+-25
+84
+101
+65
+27
+-10
+-41
+-67
+-88
+-16
+91
+98
+60
+17
+-18
+-48
+-73
+-19
+84
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+43
+3
+-30
+-59
+-82
+-30
+74
+77
+40
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-62
+-85
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-105
+-45
+61
+75
+39
+4
+-30
+-57
+-81
+-101
+-102
+-40
+70
+87
+51
+15
+-21
+-49
+-75
+-95
+-113
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-30
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+97
+58
+15
+-19
+-49
+-74
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+75
+79
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+74
+36
+-3
+-35
+-63
+-85
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+35
+-4
+-36
+-64
+-86
+-36
+68
+73
+35
+-2
+-34
+-63
+-85
+-104
+-104
+-45
+66
+81
+47
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+2
+-31
+-59
+-82
+-30
+74
+77
+40
+-1
+-33
+-61
+-84
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+77
+40
+6
+-29
+-56
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+81
+98
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+48
+7
+-26
+-55
+-79
+-26
+78
+81
+43
+2
+-30
+-59
+-82
+-30
+74
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+6
+-28
+-56
+-81
+-100
+-101
+-38
+71
+89
+52
+16
+-19
+-49
+-74
+-94
+-112
+-32
+77
+95
+59
+22
+-14
+-44
+-70
+-91
+-109
+-28
+81
+98
+62
+25
+-12
+-42
+-69
+-90
+-108
+-26
+83
+99
+63
+26
+-11
+-41
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+81
+42
+2
+-31
+-59
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+68
+72
+34
+-3
+-35
+-63
+-85
+-105
+-104
+-46
+65
+79
+46
+9
+-25
+-54
+-78
+-98
+-99
+-38
+73
+88
+54
+16
+-18
+-49
+-73
+-94
+-111
+-33
+78
+93
+59
+21
+-14
+-45
+-70
+-92
+-109
+-30
+82
+97
+62
+23
+-12
+-44
+-69
+-91
+-108
+-27
+85
+99
+65
+21
+-14
+-45
+-70
+-14
+90
+94
+54
+12
+-22
+-52
+-76
+-22
+82
+86
+47
+6
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-29
+75
+78
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+68
+83
+49
+11
+-22
+-52
+-76
+-97
+-98
+-36
+76
+90
+57
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-91
+-109
+-30
+82
+96
+62
+23
+-12
+-43
+-69
+-91
+-108
+-28
+83
+97
+63
+19
+-16
+-46
+-71
+-15
+89
+92
+53
+11
+-23
+-53
+-76
+-23
+80
+84
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-30
+74
+78
+40
+0
+-32
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+77
+41
+6
+-28
+-56
+-80
+-100
+-101
+-38
+72
+89
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+95
+58
+22
+-15
+-45
+-70
+-91
+-110
+-28
+81
+98
+62
+24
+-13
+-42
+-69
+-90
+-108
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-18
+-49
+-73
+-20
+83
+88
+49
+7
+-26
+-55
+-79
+-26
+77
+82
+43
+3
+-30
+-59
+-82
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+87
+51
+15
+-20
+-49
+-75
+-95
+-97
+-33
+76
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-108
+-26
+83
+100
+63
+26
+-11
+-41
+-68
+-89
+-108
+-26
+83
+100
+64
+27
+-11
+-41
+-67
+-89
+-107
+-26
+83
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+84
+101
+63
+27
+-11
+-41
+-67
+-89
+-107
+-26
+83
+100
+64
+27
+-11
+-41
+-67
+-88
+-17
+91
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+87
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+75
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+37
+-2
+-34
+-62
+-85
+-33
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+73
+35
+-4
+-36
+-63
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-2
+-34
+-62
+-85
+-104
+-104
+-45
+67
+81
+48
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+90
+56
+17
+-17
+-48
+-72
+-94
+-111
+-31
+80
+94
+60
+22
+-14
+-45
+-69
+-91
+-109
+-29
+82
+96
+62
+24
+-12
+-43
+-68
+-90
+-108
+-28
+84
+98
+64
+20
+-15
+-45
+-70
+-14
+89
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+77
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+94
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+98
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+96
+58
+15
+-19
+-49
+-74
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+44
+3
+-30
+-58
+-81
+-29
+75
+79
+41
+1
+-32
+-60
+-83
+-31
+72
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+38
+-2
+-34
+-62
+-84
+-104
+-44
+63
+78
+42
+6
+-28
+-56
+-80
+-99
+-101
+-37
+71
+88
+52
+16
+-19
+-48
+-74
+-94
+-112
+-33
+77
+95
+58
+21
+-16
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+48
+6
+-27
+-56
+-79
+-26
+78
+81
+43
+2
+-31
+-59
+-82
+-31
+74
+79
+40
+0
+-32
+-60
+-83
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-2
+-34
+-62
+-84
+-104
+-104
+-44
+67
+80
+47
+10
+-23
+-53
+-77
+-98
+-98
+-36
+75
+89
+56
+18
+-17
+-48
+-72
+-94
+-111
+-32
+79
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+97
+62
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+77
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+49
+11
+-23
+-52
+-76
+-97
+-98
+-36
+76
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+94
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-28
+83
+98
+64
+20
+-15
+-45
+-70
+-15
+89
+93
+53
+11
+-23
+-52
+-76
+-23
+80
+84
+46
+5
+-28
+-57
+-80
+-28
+75
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+37
+-2
+-34
+-62
+-85
+-33
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+77
+40
+5
+-29
+-56
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-33
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-70
+-90
+-109
+-27
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-18
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+85
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-58
+-81
+-29
+75
+78
+40
+0
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-62
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-105
+-43
+63
+77
+41
+6
+-28
+-56
+-80
+-100
+-101
+-38
+71
+88
+53
+17
+-19
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+22
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+97
+58
+15
+-19
+-49
+-74
+-20
+83
+87
+48
+7
+-27
+-56
+-79
+-27
+77
+81
+43
+2
+-31
+-59
+-82
+-30
+74
+78
+40
+-1
+-33
+-61
+-84
+-32
+71
+75
+37
+-3
+-35
+-62
+-85
+-33
+70
+74
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-44
+67
+81
+47
+10
+-23
+-53
+-77
+-97
+-98
+-36
+75
+89
+55
+17
+-17
+-48
+-72
+-94
+-111
+-31
+79
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+96
+62
+24
+-12
+-43
+-68
+-90
+-108
+-28
+84
+98
+63
+20
+-15
+-46
+-70
+-15
+89
+93
+53
+11
+-23
+-52
+-76
+-23
+81
+84
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+67
+82
+49
+11
+-22
+-52
+-76
+-97
+-97
+-36
+76
+91
+57
+18
+-17
+-47
+-71
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-45
+-69
+-91
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+83
+98
+64
+20
+-15
+-45
+-70
+-14
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+75
+80
+42
+1
+-31
+-59
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-32
+71
+76
+37
+-2
+-34
+-62
+-85
+-34
+70
+74
+37
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-32
+77
+94
+58
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-28
+82
+99
+63
+26
+-12
+-42
+-68
+-89
+-18
+90
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+48
+7
+-26
+-56
+-79
+-26
+78
+82
+43
+2
+-30
+-59
+-82
+-30
+75
+79
+40
+0
+-32
+-60
+-83
+-32
+73
+77
+38
+-2
+-34
+-62
+-84
+-34
+70
+75
+37
+-2
+-34
+-62
+-85
+-104
+-44
+62
+77
+41
+6
+-28
+-56
+-81
+-100
+-101
+-38
+71
+88
+53
+17
+-19
+-48
+-74
+-94
+-112
+-32
+77
+95
+59
+22
+-15
+-44
+-70
+-91
+-110
+-28
+81
+98
+62
+25
+-12
+-42
+-69
+-90
+-108
+-27
+83
+99
+63
+26
+-11
+-42
+-68
+-89
+-17
+91
+97
+59
+16
+-19
+-49
+-73
+-20
+84
+87
+49
+7
+-26
+-55
+-78
+-26
+78
+82
+43
+2
+-30
+-59
+-81
+-30
+75
+79
+41
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-45
+66
+81
+48
+10
+-24
+-53
+-77
+-97
+-98
+-37
+75
+89
+55
+17
+-17
+-48
+-72
+-94
+-111
+-32
+79
+94
+59
+21
+-14
+-45
+-70
+-92
+-109
+-30
+81
+96
+61
+23
+-13
+-44
+-69
+-91
+-108
+-28
+83
+98
+63
+24
+-11
+-43
+-68
+-90
+-107
+-27
+84
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+84
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+100
+65
+26
+-10
+-41
+-67
+-89
+-107
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+86
+100
+65
+22
+-14
+-44
+-69
+-14
+90
+94
+55
+12
+-21
+-51
+-75
+-22
+82
+86
+47
+6
+-27
+-56
+-80
+-28
+77
+80
+42
+1
+-31
+-59
+-82
+-31
+74
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-3
+-34
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+73
+36
+-4
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+73
+35
+-4
+-36
+-64
+-86
+-35
+68
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-106
+-46
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+77
+93
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+60
+23
+-14
+-43
+-70
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+85
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+82
+44
+3
+-30
+-58
+-81
+-29
+75
+79
+41
+1
+-32
+-60
+-83
+-32
+73
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-104
+-44
+63
+77
+40
+5
+-29
+-56
+-81
+-100
+-101
+-38
+71
+88
+52
+16
+-19
+-49
+-74
+-94
+-112
+-33
+77
+94
+57
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-108
+-26
+83
+100
+63
+26
+-11
+-41
+-68
+-89
+-107
+-26
+84
+100
+63
+27
+-11
+-41
+-68
+-89
+-107
+-26
+83
+101
+64
+27
+-11
+-41
+-67
+-88
+-107
+-25
+85
+101
+65
+28
+-10
+-40
+-67
+-88
+-107
+-24
+85
+101
+65
+28
+-10
+-40
+-67
+-88
+-16
+91
+98
+60
+17
+-17
+-48
+-72
+-19
+86
+89
+50
+8
+-25
+-54
+-78
+-25
+79
+83
+45
+4
+-29
+-58
+-81
+-29
+76
+80
+41
+1
+-32
+-60
+-83
+-31
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-45
+66
+81
+47
+10
+-24
+-53
+-77
+-98
+-98
+-37
+75
+89
+55
+17
+-18
+-48
+-73
+-94
+-111
+-33
+78
+92
+58
+20
+-15
+-46
+-71
+-92
+-109
+-31
+80
+94
+60
+21
+-14
+-45
+-70
+-91
+-109
+-30
+82
+96
+62
+19
+-16
+-47
+-71
+-16
+87
+92
+52
+10
+-23
+-53
+-77
+-24
+80
+84
+45
+4
+-29
+-58
+-81
+-29
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+40
+-1
+-33
+-61
+-83
+-32
+72
+76
+38
+-1
+-33
+-62
+-84
+-33
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-2
+-34
+-62
+-85
+-33
+70
+75
+37
+-3
+-35
+-63
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-5
+-36
+-64
+-86
+-36
+69
+72
+34
+-5
+-36
+-64
+-86
+-36
+68
+72
+34
+-5
+-37
+-65
+-86
+-36
+68
+72
+34
+-5
+-37
+-65
+-86
+-36
+68
+72
+34
+-5
+-37
+-64
+-86
+-36
+68
+72
+34
+-5
+-37
+-64
+-86
+-36
+68
+72
+35
+-5
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-35
+69
+74
+35
+-4
+-36
+-63
+-86
+-35
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+74
+36
+-4
+-35
+-63
+-86
+-35
+69
+74
+36
+-4
+-35
+-63
+-85
+-35
+70
+74
+36
+-1
+-33
+-62
+-84
+-104
+-104
+-44
+67
+82
+48
+11
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-110
+-31
+80
+95
+61
+22
+-13
+-44
+-69
+-91
+-109
+-29
+82
+96
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+25
+-11
+-42
+-67
+-90
+-107
+-27
+85
+98
+64
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+86
+100
+65
+26
+-10
+-42
+-67
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+86
+100
+65
+26
+-10
+-42
+-67
+-89
+-107
+-26
+85
+99
+65
+26
+-10
+-41
+-67
+-89
+-107
+-26
+86
+100
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+65
+26
+-9
+-41
+-67
+-89
+-106
+-26
+85
+99
+65
+26
+-10
+-41
+-67
+-89
+-106
+-26
+86
+100
+65
+22
+-14
+-45
+-69
+-14
+90
+94
+54
+12
+-22
+-51
+-76
+-22
+82
+85
+46
+5
+-28
+-57
+-80
+-28
+77
+80
+41
+1
+-32
+-60
+-82
+-31
+73
+77
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+69
+73
+36
+-2
+-34
+-62
+-84
+-104
+-104
+-44
+67
+81
+48
+11
+-23
+-53
+-76
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-94
+-110
+-31
+80
+95
+61
+22
+-14
+-45
+-69
+-92
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+99
+64
+21
+-14
+-45
+-70
+-14
+90
+93
+54
+12
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-59
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+71
+75
+37
+-2
+-35
+-62
+-85
+-34
+70
+74
+36
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+51
+16
+-20
+-49
+-74
+-94
+-112
+-33
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+60
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+15
+-19
+-49
+-73
+-20
+84
+87
+49
+7
+-26
+-55
+-79
+-27
+78
+82
+43
+3
+-30
+-59
+-82
+-29
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+6
+-28
+-56
+-81
+-100
+-101
+-38
+71
+88
+52
+16
+-20
+-49
+-74
+-95
+-112
+-33
+76
+94
+57
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+63
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+59
+16
+-19
+-49
+-73
+-19
+84
+88
+49
+8
+-26
+-55
+-78
+-26
+78
+83
+44
+3
+-30
+-58
+-81
+-29
+75
+80
+42
+1
+-31
+-60
+-83
+-32
+73
+77
+39
+-1
+-33
+-61
+-84
+-32
+71
+75
+37
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-1
+-33
+-61
+-84
+-104
+-103
+-44
+68
+82
+48
+10
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-47
+-72
+-93
+-111
+-31
+80
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+84
+98
+64
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+11
+-23
+-52
+-76
+-23
+80
+84
+45
+4
+-29
+-57
+-81
+-28
+76
+80
+41
+1
+-32
+-60
+-83
+-31
+73
+77
+39
+-1
+-33
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-34
+69
+74
+36
+-2
+-34
+-62
+-84
+-104
+-104
+-44
+67
+81
+47
+10
+-23
+-53
+-77
+-97
+-98
+-36
+75
+90
+56
+18
+-17
+-48
+-72
+-94
+-110
+-31
+79
+95
+61
+22
+-13
+-45
+-69
+-91
+-109
+-29
+83
+97
+63
+24
+-12
+-43
+-68
+-90
+-108
+-27
+83
+97
+63
+20
+-15
+-46
+-70
+-14
+90
+93
+54
+11
+-23
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+70
+87
+51
+16
+-20
+-49
+-74
+-95
+-112
+-32
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-18
+89
+97
+59
+16
+-19
+-49
+-73
+-20
+83
+87
+48
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+78
+40
+0
+-32
+-60
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-33
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-44
+62
+76
+40
+5
+-29
+-57
+-81
+-100
+-102
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+21
+-15
+-45
+-71
+-91
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-108
+-27
+83
+100
+63
+26
+-12
+-42
+-68
+-89
+-108
+-26
+84
+101
+63
+27
+-11
+-41
+-68
+-89
+-108
+-25
+84
+101
+65
+28
+-10
+-40
+-67
+-88
+-107
+-25
+84
+101
+65
+28
+-10
+-40
+-67
+-88
+-107
+-24
+85
+102
+65
+28
+-10
+-40
+-67
+-88
+-107
+-24
+85
+102
+65
+27
+-10
+-40
+-67
+-88
+-16
+92
+98
+60
+16
+-18
+-48
+-73
+-19
+85
+89
+50
+8
+-25
+-55
+-78
+-25
+79
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+72
+76
+38
+-2
+-34
+-62
+-84
+-34
+70
+74
+36
+-4
+-35
+-63
+-85
+-35
+70
+74
+36
+-3
+-35
+-63
+-85
+-35
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+35
+-4
+-36
+-64
+-86
+-36
+69
+73
+34
+-5
+-36
+-64
+-86
+-36
+68
+72
+35
+-3
+-34
+-62
+-85
+-105
+-104
+-45
+66
+81
+47
+10
+-24
+-53
+-77
+-98
+-98
+-37
+75
+89
+55
+17
+-17
+-48
+-72
+-94
+-111
+-32
+79
+94
+60
+21
+-14
+-45
+-70
+-92
+-109
+-29
+82
+96
+62
+23
+-12
+-44
+-69
+-91
+-108
+-28
+83
+98
+63
+20
+-15
+-46
+-70
+-15
+89
+93
+54
+11
+-22
+-52
+-76
+-23
+81
+85
+46
+5
+-28
+-57
+-80
+-28
+76
+80
+42
+1
+-31
+-60
+-82
+-31
+73
+77
+39
+-1
+-33
+-61
+-84
+-33
+72
+76
+37
+-2
+-34
+-62
+-85
+-34
+71
+75
+37
+-3
+-35
+-63
+-85
+-105
+-45
+61
+76
+40
+5
+-29
+-57
+-81
+-100
+-101
+-39
+71
+88
+52
+16
+-20
+-49
+-74
+-94
+-112
+-32
+77
+94
+58
+21
+-16
+-45
+-71
+-92
+-110
+-29
+80
+97
+61
+24
+-13
+-43
+-69
+-90
+-109
+-27
+82
+99
+62
+25
+-12
+-42
+-68
+-89
+-17
+90
+97
+58
+15
+-19
+-49
+-74
+-20
+84
+88
+49
+7
+-26
+-55
+-79
+-26
+78
+82
+43
+3
+-30
+-59
+-81
+-30
+74
+78
+40
+0
+-33
+-61
+-83
+-32
+71
+76
+38
+-2
+-34
+-62
+-84
+-33
diff --git a/traces/AWID-15-259.pm3 b/traces/AWID-15-259.pm3
new file mode 100644 (file)
index 0000000..46e26ed
--- /dev/null
@@ -0,0 +1,20000 @@
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-26
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-26
+92
+113
+78
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-48
+-76
+-101
+-33
+90
+117
+77
+29
+-14
+-48
+-78
+-37
+86
+109
+66
+19
+-22
+-55
+-84
+-44
+77
+101
+59
+13
+-27
+-60
+-88
+-52
+72
+97
+53
+8
+-31
+-63
+-91
+-54
+70
+93
+50
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+65
+88
+47
+3
+-36
+-67
+-94
+-57
+66
+90
+47
+3
+-35
+-67
+-94
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+89
+45
+2
+-36
+-68
+-95
+-59
+64
+87
+45
+2
+-36
+-68
+-95
+-100
+-127
+-50
+64
+88
+50
+7
+-32
+-64
+-91
+-97
+-127
+-39
+76
+100
+62
+18
+-23
+-56
+-84
+-107
+-111
+-33
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-108
+-27
+88
+111
+73
+26
+-16
+-49
+-79
+-33
+90
+114
+71
+24
+-18
+-51
+-81
+-41
+81
+105
+62
+15
+-25
+-58
+-86
+-49
+75
+98
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+51
+7
+-32
+-64
+-92
+-55
+68
+92
+50
+5
+-34
+-65
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-62
+62
+87
+45
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+89
+47
+2
+-36
+-67
+-95
+-62
+62
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-49
+65
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+76
+101
+62
+18
+-23
+-55
+-84
+-107
+-111
+-33
+83
+107
+68
+23
+-18
+-52
+-81
+-104
+-109
+-29
+86
+110
+71
+26
+-16
+-50
+-79
+-103
+-108
+-27
+88
+113
+74
+26
+-16
+-50
+-79
+-33
+89
+114
+72
+24
+-18
+-51
+-81
+-42
+81
+105
+61
+15
+-25
+-58
+-87
+-49
+74
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-55
+69
+92
+50
+5
+-34
+-65
+-93
+-57
+66
+90
+48
+4
+-35
+-66
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-50
+65
+83
+45
+0
+-36
+-68
+-95
+-101
+-127
+-45
+71
+93
+57
+12
+-26
+-60
+-87
+-111
+-127
+-36
+80
+102
+67
+20
+-20
+-54
+-82
+-106
+-110
+-32
+86
+108
+72
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+109
+74
+26
+-14
+-50
+-78
+-103
+-37
+87
+115
+75
+27
+-15
+-49
+-79
+-38
+85
+109
+66
+19
+-22
+-55
+-84
+-46
+77
+100
+58
+12
+-28
+-60
+-89
+-53
+70
+95
+53
+8
+-31
+-63
+-91
+-54
+70
+93
+50
+6
+-33
+-65
+-93
+-56
+68
+91
+49
+4
+-34
+-66
+-93
+-60
+64
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+66
+89
+47
+3
+-36
+-67
+-94
+-60
+64
+87
+46
+2
+-36
+-68
+-95
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-101
+-49
+65
+82
+43
+-1
+-37
+-69
+-95
+-102
+-127
+-45
+72
+93
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+81
+103
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+86
+108
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-16
+-49
+-79
+-38
+84
+108
+66
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-88
+-53
+72
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+50
+5
+-33
+-65
+-93
+-57
+68
+91
+48
+4
+-35
+-66
+-94
+-60
+64
+90
+48
+3
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+47
+3
+-36
+-67
+-95
+-62
+62
+88
+47
+2
+-36
+-67
+-95
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-96
+-60
+64
+89
+47
+2
+-36
+-67
+-94
+-60
+65
+89
+46
+2
+-36
+-68
+-95
+-60
+63
+87
+46
+2
+-36
+-68
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+1
+-36
+-68
+-95
+-60
+64
+88
+46
+3
+-36
+-67
+-95
+-100
+-127
+-51
+64
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+75
+99
+61
+17
+-23
+-56
+-85
+-108
+-112
+-33
+83
+107
+69
+24
+-17
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+27
+-16
+-49
+-79
+-103
+-108
+-28
+87
+111
+73
+26
+-16
+-50
+-80
+-33
+90
+113
+71
+24
+-18
+-52
+-81
+-42
+81
+105
+62
+16
+-25
+-57
+-86
+-49
+75
+98
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+49
+5
+-34
+-66
+-93
+-57
+66
+91
+49
+4
+-35
+-66
+-93
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+47
+3
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+87
+46
+2
+-37
+-68
+-95
+-62
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+76
+99
+62
+18
+-23
+-56
+-85
+-108
+-112
+-32
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+111
+72
+27
+-15
+-49
+-79
+-102
+-107
+-28
+88
+112
+74
+26
+-16
+-49
+-79
+-34
+89
+114
+72
+24
+-18
+-51
+-81
+-43
+81
+104
+62
+15
+-25
+-58
+-86
+-51
+73
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-34
+-65
+-93
+-58
+66
+91
+49
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+63
+88
+47
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+1
+-37
+-68
+-95
+-101
+-50
+65
+83
+45
+1
+-36
+-68
+-94
+-101
+-127
+-45
+71
+93
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+80
+102
+66
+20
+-20
+-54
+-82
+-107
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+110
+74
+26
+-14
+-49
+-78
+-103
+-37
+86
+115
+75
+27
+-16
+-49
+-79
+-39
+85
+109
+66
+19
+-22
+-55
+-84
+-46
+76
+101
+59
+13
+-27
+-60
+-88
+-55
+70
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+51
+6
+-33
+-64
+-92
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-60
+64
+89
+48
+4
+-35
+-67
+-94
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-35
+-67
+-94
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-37
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-68
+-95
+-101
+-50
+64
+82
+44
+0
+-37
+-69
+-95
+-101
+-127
+-45
+71
+93
+58
+13
+-26
+-60
+-87
+-111
+-127
+-37
+80
+102
+68
+20
+-19
+-54
+-81
+-106
+-110
+-31
+86
+108
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+75
+27
+-14
+-49
+-78
+-103
+-37
+88
+115
+75
+27
+-15
+-49
+-79
+-39
+84
+109
+66
+19
+-22
+-55
+-84
+-48
+77
+101
+58
+12
+-28
+-61
+-89
+-53
+71
+95
+54
+8
+-31
+-63
+-91
+-56
+68
+93
+51
+6
+-33
+-65
+-92
+-57
+67
+91
+49
+4
+-34
+-66
+-94
+-60
+64
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-63
+62
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+46
+2
+-36
+-67
+-95
+-63
+62
+87
+46
+2
+-36
+-68
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-62
+63
+88
+46
+3
+-36
+-67
+-95
+-100
+-127
+-51
+64
+88
+50
+7
+-32
+-64
+-91
+-97
+-127
+-40
+76
+100
+62
+18
+-23
+-55
+-84
+-107
+-112
+-33
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+111
+72
+27
+-15
+-49
+-79
+-103
+-108
+-27
+88
+112
+74
+26
+-16
+-50
+-80
+-34
+89
+114
+72
+24
+-18
+-51
+-81
+-43
+81
+105
+62
+15
+-25
+-58
+-86
+-50
+74
+97
+55
+10
+-30
+-62
+-90
+-54
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-33
+-65
+-93
+-59
+66
+90
+48
+4
+-35
+-66
+-94
+-59
+65
+90
+48
+4
+-35
+-66
+-94
+-60
+65
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+89
+46
+2
+-36
+-67
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-63
+62
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-64
+62
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+46
+1
+-37
+-68
+-95
+-63
+62
+87
+46
+3
+-36
+-67
+-94
+-100
+-127
+-50
+65
+89
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+74
+99
+62
+18
+-23
+-56
+-85
+-108
+-112
+-33
+82
+107
+69
+24
+-18
+-52
+-81
+-105
+-109
+-29
+86
+110
+72
+27
+-15
+-49
+-79
+-103
+-108
+-28
+87
+112
+75
+27
+-15
+-49
+-79
+-35
+89
+114
+71
+23
+-18
+-52
+-82
+-43
+80
+105
+63
+16
+-25
+-58
+-86
+-51
+73
+98
+56
+10
+-29
+-62
+-90
+-53
+71
+94
+52
+7
+-32
+-64
+-92
+-57
+68
+92
+50
+5
+-33
+-65
+-93
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-59
+64
+89
+48
+4
+-35
+-67
+-94
+-60
+65
+89
+47
+3
+-36
+-67
+-95
+-60
+65
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+89
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-37
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-68
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-68
+-95
+-101
+-51
+65
+83
+45
+1
+-36
+-68
+-95
+-101
+-127
+-46
+72
+94
+59
+13
+-26
+-60
+-87
+-110
+-127
+-37
+80
+102
+66
+20
+-19
+-54
+-82
+-107
+-110
+-32
+86
+107
+72
+24
+-16
+-51
+-80
+-104
+-108
+-29
+89
+109
+75
+27
+-14
+-49
+-78
+-103
+-38
+86
+115
+76
+27
+-15
+-49
+-79
+-39
+84
+109
+66
+19
+-22
+-55
+-84
+-48
+77
+101
+58
+13
+-28
+-60
+-89
+-55
+69
+94
+53
+8
+-31
+-63
+-91
+-56
+69
+93
+52
+7
+-33
+-65
+-92
+-58
+67
+91
+49
+5
+-34
+-65
+-93
+-61
+63
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-62
+63
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+89
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+1
+-37
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-62
+63
+89
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-68
+-95
+-63
+62
+87
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-64
+62
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+47
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-62
+63
+88
+47
+2
+-36
+-68
+-95
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+87
+46
+2
+-37
+-68
+-95
+-61
+63
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-101
+-50
+64
+82
+45
+0
+-36
+-69
+-95
+-101
+-127
+-46
+71
+93
+58
+13
+-26
+-60
+-87
+-111
+-127
+-38
+80
+102
+67
+20
+-19
+-54
+-82
+-107
+-110
+-31
+85
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+75
+27
+-14
+-49
+-78
+-103
+-37
+87
+115
+75
+27
+-15
+-49
+-79
+-40
+84
+109
+67
+19
+-22
+-55
+-84
+-48
+76
+101
+58
+12
+-28
+-60
+-89
+-54
+70
+95
+54
+8
+-31
+-63
+-91
+-57
+68
+93
+52
+7
+-33
+-65
+-92
+-58
+66
+90
+49
+4
+-34
+-66
+-94
+-61
+64
+89
+48
+4
+-35
+-66
+-94
+-60
+65
+89
+48
+3
+-35
+-67
+-95
+-60
+64
+89
+48
+3
+-36
+-67
+-95
+-63
+62
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-63
+62
+87
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-63
+62
+88
+47
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-62
+63
+88
+47
+3
+-36
+-67
+-94
+-100
+-127
+-51
+65
+88
+50
+8
+-31
+-64
+-91
+-97
+-127
+-40
+75
+100
+62
+18
+-23
+-56
+-85
+-107
+-112
+-34
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+111
+72
+27
+-15
+-49
+-79
+-103
+-108
+-28
+87
+112
+74
+28
+-14
+-48
+-78
+-102
+-107
+-26
+89
+113
+75
+29
+-13
+-47
+-77
+-101
+-106
+-26
+89
+113
+76
+30
+-13
+-47
+-77
+-101
+-107
+-26
+90
+115
+77
+31
+-12
+-47
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-12
+-46
+-77
+-101
+-106
+-25
+89
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-25
+90
+115
+77
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+114
+77
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+115
+77
+31
+-12
+-46
+-76
+-101
+-106
+-25
+90
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+88
+114
+76
+28
+-14
+-49
+-78
+-34
+90
+116
+73
+25
+-17
+-51
+-80
+-43
+81
+105
+63
+16
+-24
+-57
+-86
+-50
+74
+99
+56
+11
+-29
+-61
+-90
+-55
+70
+94
+53
+7
+-32
+-64
+-92
+-57
+67
+92
+51
+5
+-33
+-65
+-93
+-59
+66
+90
+49
+4
+-34
+-66
+-94
+-99
+-49
+66
+84
+46
+1
+-36
+-68
+-94
+-101
+-127
+-45
+72
+94
+59
+13
+-25
+-59
+-86
+-111
+-127
+-37
+81
+103
+68
+21
+-19
+-53
+-81
+-106
+-110
+-32
+86
+107
+72
+25
+-15
+-50
+-79
+-104
+-108
+-29
+88
+109
+74
+26
+-14
+-50
+-78
+-103
+-107
+-28
+90
+112
+77
+28
+-13
+-48
+-77
+-102
+-106
+-27
+90
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-27
+91
+113
+78
+29
+-11
+-47
+-76
+-101
+-106
+-26
+91
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+92
+113
+78
+30
+-11
+-47
+-76
+-102
+-36
+89
+117
+77
+29
+-14
+-48
+-78
+-39
+85
+110
+68
+20
+-21
+-55
+-83
+-47
+77
+102
+59
+13
+-27
+-60
+-88
+-54
+70
+95
+54
+9
+-31
+-63
+-91
+-56
+68
+93
+51
+6
+-33
+-65
+-93
+-58
+67
+91
+50
+5
+-34
+-66
+-93
+-61
+63
+89
+48
+4
+-35
+-67
+-94
+-60
+65
+90
+48
+3
+-35
+-67
+-94
+-61
+64
+89
+48
+3
+-36
+-67
+-94
+-64
+62
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-61
+63
+89
+47
+3
+-36
+-67
+-95
+-63
+62
+87
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-62
+63
+89
+47
+2
+-36
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-68
+-95
+-62
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-63
+63
+88
+46
+1
+-37
+-68
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-63
+62
+88
+47
+3
+-36
+-68
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-62
+63
+88
+46
+2
+-37
+-68
+-95
+-64
+60
+87
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-64
+61
+87
+46
+3
+-36
+-67
+-95
+-101
+-127
+-50
+65
+89
+51
+8
+-31
+-63
+-91
+-97
+-127
+-40
+76
+101
+62
+18
+-23
+-56
+-84
+-107
+-112
+-33
+83
+108
+70
+24
+-17
+-51
+-81
+-104
+-109
+-30
+85
+111
+72
+26
+-16
+-49
+-79
+-103
+-108
+-28
+88
+113
+74
+26
+-16
+-49
+-79
+-35
+88
+114
+72
+24
+-18
+-51
+-81
+-44
+80
+104
+62
+15
+-25
+-58
+-87
+-52
+72
+97
+56
+11
+-29
+-61
+-90
+-55
+70
+94
+52
+7
+-32
+-64
+-92
+-57
+67
+92
+50
+5
+-34
+-65
+-93
+-60
+65
+91
+49
+5
+-34
+-66
+-93
+-99
+-127
+-49
+66
+90
+52
+9
+-31
+-63
+-91
+-97
+-127
+-39
+76
+101
+63
+19
+-22
+-55
+-84
+-107
+-112
+-33
+83
+107
+69
+24
+-17
+-51
+-81
+-104
+-109
+-29
+86
+111
+72
+27
+-15
+-49
+-79
+-103
+-108
+-28
+87
+112
+74
+28
+-14
+-48
+-78
+-102
+-107
+-27
+89
+114
+75
+29
+-14
+-48
+-78
+-102
+-107
+-26
+89
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-26
+90
+115
+77
+31
+-12
+-46
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+89
+114
+75
+29
+-13
+-47
+-77
+-101
+-107
+-25
+90
+114
+76
+30
+-12
+-46
+-77
+-101
+-106
+-25
+90
+115
+77
+31
+-12
+-47
+-77
+-101
+-106
+-25
+90
+114
+77
+31
+-12
+-46
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-25
+89
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+115
+77
+31
+-12
+-46
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+115
+77
+31
+-12
+-46
+-77
+-101
+-106
+-25
+90
+115
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+89
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+89
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-25
+89
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+116
+77
+31
+-12
+-46
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-12
+-46
+-77
+-101
+-106
+-26
+89
+114
+76
+28
+-14
+-48
+-78
+-34
+90
+115
+73
+25
+-17
+-51
+-81
+-43
+81
+106
+63
+16
+-24
+-57
+-86
+-50
+74
+98
+56
+10
+-29
+-62
+-90
+-55
+70
+95
+53
+8
+-32
+-64
+-91
+-57
+67
+92
+50
+5
+-34
+-65
+-93
+-59
+66
+91
+49
+4
+-35
+-66
+-94
+-100
+-49
+66
+85
+46
+2
+-35
+-68
+-94
+-101
+-127
+-45
+71
+94
+59
+13
+-26
+-60
+-87
+-110
+-127
+-37
+81
+103
+68
+21
+-19
+-53
+-82
+-106
+-110
+-31
+86
+107
+73
+25
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+75
+27
+-13
+-49
+-78
+-103
+-38
+87
+115
+75
+27
+-15
+-49
+-79
+-40
+84
+109
+67
+19
+-22
+-55
+-84
+-49
+76
+101
+58
+12
+-28
+-61
+-89
+-54
+70
+95
+54
+9
+-31
+-63
+-91
+-57
+68
+93
+51
+7
+-33
+-65
+-92
+-58
+66
+91
+49
+4
+-34
+-66
+-94
+-61
+63
+89
+48
+4
+-35
+-67
+-94
+-60
+65
+89
+48
+3
+-36
+-67
+-95
+-60
+65
+89
+48
+3
+-36
+-67
+-94
+-64
+62
+87
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-64
+62
+87
+46
+2
+-37
+-68
+-95
+-61
+63
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-62
+62
+87
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-62
+63
+88
+47
+3
+-35
+-67
+-94
+-100
+-127
+-51
+64
+89
+50
+7
+-32
+-63
+-91
+-97
+-127
+-40
+75
+100
+62
+18
+-22
+-56
+-85
+-108
+-112
+-34
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-30
+85
+111
+73
+27
+-15
+-49
+-79
+-103
+-108
+-29
+87
+112
+74
+26
+-16
+-50
+-80
+-35
+88
+113
+72
+24
+-18
+-52
+-81
+-44
+80
+105
+63
+16
+-25
+-57
+-86
+-50
+74
+97
+56
+11
+-29
+-62
+-90
+-55
+70
+94
+53
+8
+-32
+-64
+-92
+-57
+68
+92
+50
+5
+-34
+-65
+-93
+-59
+65
+91
+49
+4
+-35
+-66
+-94
+-61
+65
+90
+48
+3
+-35
+-67
+-94
+-60
+64
+88
+47
+3
+-36
+-67
+-95
+-61
+63
+89
+47
+2
+-36
+-68
+-95
+-62
+63
+88
+47
+3
+-36
+-67
+-95
+-62
+63
+89
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-63
+62
+87
+47
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-64
+61
+87
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-94
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-64
+61
+87
+46
+3
+-35
+-67
+-95
+-100
+-127
+-50
+65
+88
+51
+8
+-31
+-63
+-91
+-97
+-127
+-40
+75
+100
+62
+18
+-23
+-56
+-84
+-108
+-112
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+27
+-15
+-49
+-79
+-103
+-108
+-28
+87
+112
+75
+29
+-14
+-48
+-78
+-102
+-107
+-27
+88
+113
+75
+29
+-13
+-47
+-78
+-102
+-107
+-25
+89
+113
+75
+29
+-13
+-47
+-77
+-101
+-107
+-26
+89
+114
+77
+30
+-12
+-47
+-77
+-101
+-106
+-26
+89
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-26
+89
+114
+76
+28
+-14
+-48
+-78
+-34
+90
+116
+73
+25
+-17
+-51
+-81
+-43
+80
+105
+63
+16
+-24
+-57
+-86
+-51
+73
+98
+56
+10
+-30
+-61
+-90
+-54
+70
+95
+53
+8
+-32
+-64
+-91
+-57
+67
+92
+50
+5
+-34
+-65
+-93
+-59
+66
+91
+49
+4
+-35
+-66
+-94
+-60
+64
+89
+48
+3
+-35
+-67
+-94
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+63
+88
+47
+3
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-62
+63
+88
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+1
+-37
+-68
+-95
+-61
+63
+88
+47
+3
+-36
+-68
+-95
+-63
+62
+88
+47
+2
+-36
+-68
+-95
+-61
+64
+88
+47
+2
+-36
+-68
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-64
+61
+87
+46
+2
+-37
+-68
+-95
+-60
+63
+88
+47
+3
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-63
+62
+87
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-62
+63
+88
+46
+2
+-37
+-68
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+47
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-101
+-50
+65
+83
+45
+0
+-37
+-69
+-95
+-102
+-127
+-46
+71
+92
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+79
+102
+67
+20
+-19
+-54
+-82
+-107
+-110
+-32
+84
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+75
+26
+-14
+-49
+-78
+-103
+-37
+86
+115
+75
+27
+-15
+-49
+-79
+-40
+83
+109
+66
+19
+-22
+-55
+-84
+-48
+77
+101
+58
+13
+-28
+-60
+-88
+-54
+70
+95
+54
+8
+-31
+-63
+-91
+-57
+68
+93
+51
+6
+-33
+-65
+-92
+-58
+66
+91
+49
+5
+-34
+-66
+-93
+-99
+-49
+66
+85
+47
+2
+-35
+-68
+-94
+-100
+-127
+-45
+72
+94
+59
+13
+-25
+-59
+-86
+-110
+-127
+-36
+81
+103
+68
+20
+-19
+-54
+-81
+-106
+-110
+-32
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+75
+27
+-14
+-49
+-78
+-103
+-107
+-27
+90
+112
+77
+28
+-12
+-48
+-77
+-102
+-106
+-27
+90
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-27
+89
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+91
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+91
+112
+78
+30
+-11
+-47
+-76
+-101
+-105
+-26
+91
+113
+78
+30
+-11
+-47
+-76
+-101
+-105
+-26
+90
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+90
+112
+77
+29
+-12
+-48
+-76
+-102
+-106
+-26
+91
+114
+78
+30
+-11
+-47
+-76
+-101
+-105
+-26
+91
+112
+78
+29
+-12
+-48
+-76
+-102
+-36
+88
+115
+77
+29
+-14
+-48
+-78
+-39
+85
+110
+68
+20
+-21
+-54
+-83
+-47
+77
+101
+59
+13
+-27
+-60
+-88
+-55
+70
+95
+54
+8
+-31
+-63
+-91
+-56
+69
+93
+52
+6
+-33
+-65
+-92
+-58
+66
+91
+50
+5
+-34
+-66
+-93
+-61
+64
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-60
+65
+89
+48
+3
+-36
+-67
+-94
+-62
+63
+87
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-101
+-50
+64
+83
+45
+0
+-37
+-69
+-95
+-102
+-127
+-46
+71
+93
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+81
+103
+67
+20
+-19
+-54
+-82
+-106
+-110
+-32
+86
+107
+71
+24
+-16
+-51
+-80
+-104
+-108
+-29
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+87
+115
+75
+27
+-15
+-49
+-79
+-40
+84
+108
+66
+19
+-22
+-55
+-84
+-47
+76
+101
+59
+13
+-28
+-60
+-88
+-53
+71
+96
+54
+9
+-31
+-63
+-91
+-56
+68
+92
+51
+6
+-33
+-65
+-93
+-58
+66
+91
+48
+4
+-35
+-66
+-94
+-61
+64
+89
+48
+4
+-35
+-66
+-94
+-60
+65
+89
+47
+3
+-36
+-67
+-95
+-60
+65
+89
+48
+3
+-36
+-67
+-94
+-63
+62
+87
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+3
+-36
+-67
+-95
+-63
+62
+87
+46
+2
+-37
+-68
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-61
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-94
+-100
+-127
+-51
+64
+88
+51
+8
+-31
+-63
+-91
+-97
+-127
+-40
+75
+99
+62
+18
+-23
+-56
+-85
+-108
+-112
+-33
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-30
+86
+110
+72
+27
+-16
+-49
+-79
+-103
+-108
+-28
+87
+111
+73
+25
+-16
+-50
+-80
+-35
+89
+113
+72
+24
+-18
+-52
+-81
+-44
+80
+105
+63
+16
+-25
+-57
+-86
+-50
+74
+97
+56
+10
+-30
+-62
+-90
+-54
+70
+94
+52
+7
+-32
+-64
+-92
+-57
+68
+92
+50
+5
+-34
+-65
+-93
+-58
+66
+90
+48
+4
+-35
+-66
+-94
+-60
+64
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-60
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-64
+61
+87
+46
+2
+-37
+-68
+-95
+-61
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+3
+-36
+-67
+-95
+-64
+60
+86
+46
+3
+-36
+-67
+-95
+-100
+-127
+-50
+65
+89
+51
+8
+-31
+-63
+-91
+-97
+-127
+-40
+76
+101
+63
+18
+-23
+-55
+-84
+-107
+-112
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+111
+72
+27
+-15
+-49
+-79
+-103
+-108
+-28
+88
+111
+74
+26
+-16
+-50
+-79
+-34
+88
+114
+72
+24
+-18
+-51
+-81
+-43
+80
+105
+62
+16
+-25
+-58
+-86
+-51
+73
+97
+55
+10
+-30
+-62
+-90
+-54
+70
+95
+52
+7
+-32
+-64
+-92
+-57
+68
+92
+50
+5
+-34
+-65
+-93
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+65
+88
+47
+3
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+1
+-37
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-37
+-68
+-95
+-62
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-101
+-50
+65
+83
+45
+1
+-36
+-68
+-95
+-101
+-127
+-46
+71
+93
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+80
+102
+66
+20
+-20
+-54
+-82
+-107
+-110
+-32
+86
+108
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+110
+74
+27
+-14
+-49
+-78
+-103
+-38
+86
+115
+75
+27
+-15
+-49
+-79
+-39
+84
+109
+65
+19
+-22
+-55
+-84
+-47
+77
+100
+59
+13
+-27
+-60
+-88
+-55
+69
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+51
+6
+-33
+-65
+-92
+-57
+66
+91
+48
+4
+-35
+-66
+-94
+-61
+64
+88
+47
+3
+-36
+-67
+-95
+-59
+65
+90
+48
+3
+-35
+-66
+-94
+-60
+65
+89
+47
+3
+-36
+-67
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+89
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+1
+-37
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-101
+-50
+65
+82
+43
+-1
+-37
+-69
+-95
+-102
+-127
+-45
+72
+94
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+80
+101
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+86
+108
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+88
+109
+74
+27
+-14
+-49
+-78
+-103
+-37
+87
+115
+74
+26
+-16
+-50
+-79
+-39
+84
+109
+66
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-88
+-53
+71
+95
+53
+8
+-31
+-63
+-91
+-55
+68
+93
+50
+5
+-33
+-65
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-93
+-61
+64
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-60
+65
+89
+47
+3
+-36
+-67
+-95
+-63
+62
+88
+47
+2
+-36
+-67
+-95
+-60
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-62
+62
+87
+45
+1
+-37
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-62
+62
+87
+46
+1
+-37
+-68
+-95
+-60
+65
+89
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+45
+2
+-36
+-67
+-95
+-101
+-127
+-50
+65
+88
+50
+8
+-31
+-63
+-91
+-97
+-127
+-40
+75
+100
+62
+18
+-23
+-56
+-85
+-107
+-112
+-33
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-108
+-28
+88
+112
+73
+25
+-16
+-50
+-80
+-34
+89
+113
+71
+24
+-18
+-52
+-81
+-43
+81
+105
+62
+15
+-25
+-58
+-86
+-49
+74
+98
+56
+10
+-29
+-61
+-90
+-54
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+91
+50
+5
+-34
+-66
+-93
+-58
+65
+90
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-62
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-63
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-63
+62
+86
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+75
+99
+62
+18
+-23
+-56
+-85
+-107
+-112
+-33
+82
+106
+69
+24
+-18
+-51
+-81
+-104
+-109
+-28
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-108
+-28
+87
+112
+74
+26
+-16
+-49
+-79
+-34
+89
+114
+71
+23
+-18
+-52
+-81
+-42
+81
+105
+62
+15
+-25
+-58
+-86
+-51
+73
+97
+55
+10
+-30
+-62
+-90
+-53
+71
+94
+52
+7
+-32
+-64
+-92
+-55
+68
+92
+50
+5
+-34
+-65
+-93
+-59
+66
+90
+47
+3
+-36
+-67
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+87
+45
+2
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+87
+45
+2
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+87
+46
+2
+-37
+-68
+-95
+-101
+-50
+65
+82
+45
+0
+-37
+-68
+-95
+-101
+-127
+-45
+72
+94
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+80
+102
+66
+20
+-20
+-54
+-82
+-107
+-110
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-108
+-29
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+88
+115
+75
+27
+-15
+-49
+-79
+-39
+85
+108
+65
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-88
+-54
+70
+94
+53
+8
+-31
+-63
+-91
+-54
+69
+93
+50
+6
+-33
+-65
+-92
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-60
+63
+88
+47
+3
+-36
+-67
+-94
+-58
+66
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+45
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+89
+46
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-37
+-68
+-95
+-101
+-49
+65
+82
+44
+0
+-37
+-69
+-95
+-101
+-127
+-45
+71
+93
+58
+12
+-26
+-60
+-87
+-110
+-127
+-37
+79
+102
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+85
+107
+71
+24
+-17
+-51
+-80
+-104
+-108
+-28
+88
+110
+75
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-15
+-49
+-79
+-39
+84
+108
+65
+19
+-22
+-55
+-84
+-46
+77
+101
+58
+12
+-28
+-60
+-88
+-53
+71
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+50
+5
+-34
+-65
+-93
+-57
+67
+91
+49
+4
+-34
+-66
+-93
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-58
+66
+89
+47
+3
+-35
+-67
+-94
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-62
+63
+87
+46
+2
+-36
+-68
+-95
+-59
+64
+89
+47
+2
+-36
+-67
+-94
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+62
+87
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+1
+-36
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+49
+7
+-32
+-64
+-91
+-97
+-127
+-39
+76
+100
+62
+18
+-23
+-56
+-85
+-107
+-112
+-33
+83
+107
+68
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+109
+71
+26
+-16
+-50
+-79
+-103
+-108
+-27
+88
+111
+73
+25
+-16
+-50
+-80
+-33
+90
+114
+71
+24
+-18
+-51
+-81
+-42
+81
+105
+62
+15
+-25
+-58
+-87
+-49
+75
+98
+55
+10
+-30
+-62
+-90
+-54
+70
+94
+51
+6
+-33
+-64
+-92
+-55
+68
+92
+50
+5
+-34
+-65
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-35
+-67
+-94
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+45
+1
+-37
+-67
+-95
+-63
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-68
+-95
+-63
+60
+86
+45
+2
+-36
+-67
+-95
+-100
+-127
+-49
+65
+89
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+76
+101
+63
+18
+-22
+-55
+-84
+-107
+-111
+-33
+82
+106
+68
+23
+-18
+-52
+-81
+-104
+-109
+-29
+85
+110
+72
+26
+-16
+-49
+-79
+-103
+-108
+-27
+88
+112
+74
+26
+-16
+-49
+-79
+-34
+89
+114
+71
+23
+-18
+-52
+-81
+-42
+80
+104
+61
+15
+-25
+-58
+-86
+-50
+74
+98
+55
+10
+-30
+-62
+-90
+-52
+70
+94
+52
+7
+-32
+-64
+-92
+-55
+68
+92
+49
+5
+-34
+-65
+-93
+-57
+66
+89
+48
+3
+-35
+-67
+-94
+-58
+65
+89
+47
+3
+-35
+-67
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-59
+64
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-36
+-68
+-95
+-62
+63
+87
+45
+1
+-38
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+1
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+45
+2
+-36
+-67
+-95
+-61
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-67
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-101
+-50
+65
+82
+44
+0
+-37
+-69
+-95
+-101
+-127
+-45
+72
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-37
+81
+102
+66
+20
+-20
+-54
+-82
+-106
+-110
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+110
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+74
+26
+-16
+-49
+-79
+-38
+85
+108
+65
+19
+-22
+-55
+-84
+-46
+77
+101
+58
+12
+-28
+-60
+-88
+-54
+70
+94
+52
+7
+-32
+-63
+-91
+-54
+69
+93
+51
+5
+-33
+-65
+-93
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+64
+89
+47
+3
+-36
+-67
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+89
+47
+2
+-36
+-67
+-94
+-59
+64
+88
+46
+2
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-101
+-49
+65
+81
+43
+0
+-37
+-69
+-95
+-101
+-127
+-45
+71
+93
+58
+12
+-26
+-60
+-87
+-110
+-127
+-37
+80
+102
+67
+20
+-19
+-54
+-81
+-106
+-109
+-31
+85
+107
+71
+23
+-17
+-51
+-80
+-104
+-108
+-28
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-107
+-27
+90
+111
+75
+28
+-13
+-48
+-77
+-102
+-106
+-26
+90
+112
+76
+28
+-13
+-48
+-77
+-102
+-105
+-26
+91
+112
+77
+28
+-13
+-48
+-77
+-102
+-106
+-25
+91
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+91
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-26
+91
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+91
+112
+76
+28
+-13
+-48
+-77
+-102
+-105
+-26
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-34
+90
+117
+76
+28
+-14
+-48
+-78
+-36
+86
+110
+66
+19
+-21
+-54
+-83
+-45
+77
+101
+58
+12
+-28
+-60
+-88
+-51
+72
+96
+53
+8
+-31
+-63
+-91
+-53
+70
+92
+50
+5
+-33
+-65
+-93
+-56
+68
+91
+48
+4
+-35
+-66
+-94
+-99
+-48
+66
+84
+46
+1
+-35
+-67
+-93
+-100
+-127
+-44
+72
+94
+58
+13
+-26
+-59
+-86
+-110
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-82
+-106
+-109
+-30
+86
+108
+72
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+110
+74
+26
+-14
+-49
+-78
+-103
+-106
+-27
+90
+111
+75
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+112
+75
+27
+-13
+-48
+-77
+-102
+-106
+-26
+91
+113
+76
+28
+-13
+-48
+-76
+-102
+-106
+-25
+92
+113
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+91
+112
+77
+29
+-12
+-48
+-76
+-101
+-35
+89
+117
+76
+28
+-14
+-48
+-78
+-36
+86
+110
+66
+19
+-21
+-55
+-84
+-45
+78
+101
+58
+13
+-28
+-60
+-88
+-53
+71
+95
+52
+8
+-32
+-63
+-91
+-53
+70
+92
+50
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-34
+-66
+-93
+-59
+65
+88
+47
+3
+-35
+-67
+-94
+-58
+66
+89
+46
+2
+-36
+-67
+-94
+-58
+66
+88
+46
+2
+-36
+-67
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+89
+45
+2
+-36
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-58
+66
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+87
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+2
+-37
+-67
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+64
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+64
+88
+49
+7
+-32
+-64
+-91
+-97
+-127
+-40
+75
+99
+62
+17
+-23
+-56
+-85
+-107
+-111
+-33
+82
+107
+68
+23
+-18
+-52
+-81
+-104
+-109
+-28
+86
+111
+71
+26
+-16
+-49
+-79
+-103
+-107
+-27
+88
+112
+73
+25
+-16
+-50
+-79
+-33
+90
+114
+71
+23
+-18
+-52
+-81
+-41
+82
+105
+61
+15
+-26
+-58
+-86
+-48
+75
+97
+55
+9
+-30
+-62
+-90
+-52
+71
+94
+51
+6
+-33
+-64
+-92
+-55
+69
+92
+48
+4
+-34
+-66
+-93
+-57
+67
+90
+47
+3
+-35
+-67
+-94
+-100
+-48
+67
+83
+45
+1
+-36
+-68
+-94
+-100
+-127
+-44
+73
+93
+58
+12
+-26
+-59
+-86
+-110
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-81
+-106
+-109
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-108
+-27
+89
+110
+74
+26
+-14
+-49
+-77
+-103
+-106
+-26
+91
+111
+76
+28
+-13
+-48
+-77
+-102
+-105
+-26
+90
+111
+76
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+112
+76
+28
+-13
+-48
+-76
+-102
+-105
+-25
+91
+112
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+91
+112
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+92
+112
+77
+28
+-12
+-48
+-76
+-101
+-105
+-24
+91
+112
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-24
+92
+112
+76
+28
+-12
+-48
+-77
+-102
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-24
+92
+113
+76
+28
+-12
+-48
+-76
+-101
+-105
+-26
+92
+113
+76
+28
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+76
+28
+-12
+-48
+-76
+-101
+-105
+-24
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+93
+114
+78
+29
+-11
+-47
+-76
+-101
+-105
+-24
+92
+112
+76
+28
+-12
+-48
+-76
+-101
+-105
+-25
+92
+112
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-34
+90
+117
+76
+28
+-14
+-48
+-78
+-36
+86
+109
+66
+19
+-22
+-55
+-84
+-45
+78
+101
+58
+12
+-28
+-60
+-88
+-51
+72
+95
+53
+8
+-31
+-63
+-91
+-53
+70
+93
+51
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-99
+-48
+67
+84
+46
+1
+-36
+-68
+-94
+-101
+-127
+-44
+73
+94
+57
+12
+-26
+-59
+-87
+-110
+-127
+-36
+81
+102
+66
+20
+-19
+-54
+-82
+-106
+-109
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-107
+-27
+90
+110
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+74
+27
+-15
+-49
+-79
+-37
+85
+109
+65
+18
+-23
+-55
+-84
+-45
+78
+101
+58
+12
+-28
+-60
+-88
+-53
+70
+95
+52
+7
+-32
+-64
+-92
+-53
+70
+93
+50
+5
+-33
+-65
+-92
+-56
+68
+92
+48
+4
+-35
+-66
+-93
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-57
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+89
+46
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-49
+65
+81
+43
+-1
+-37
+-69
+-95
+-101
+-127
+-45
+72
+92
+57
+12
+-26
+-60
+-87
+-110
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-82
+-106
+-109
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-35
+88
+115
+74
+27
+-15
+-49
+-79
+-37
+85
+108
+65
+18
+-22
+-55
+-84
+-45
+78
+101
+57
+11
+-28
+-60
+-89
+-51
+72
+95
+52
+7
+-32
+-63
+-91
+-54
+70
+93
+50
+5
+-34
+-65
+-93
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-57
+66
+89
+46
+2
+-36
+-67
+-94
+-58
+65
+88
+45
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-94
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+2
+-36
+-67
+-95
+-59
+64
+87
+45
+1
+-36
+-68
+-95
+-100
+-127
+-50
+65
+88
+49
+7
+-32
+-64
+-91
+-97
+-127
+-39
+76
+100
+62
+17
+-23
+-56
+-84
+-107
+-111
+-33
+83
+107
+68
+23
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+71
+25
+-16
+-50
+-80
+-103
+-108
+-26
+88
+112
+73
+28
+-14
+-49
+-78
+-102
+-107
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+113
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+27
+-15
+-48
+-78
+-31
+92
+115
+72
+24
+-17
+-51
+-80
+-40
+83
+105
+62
+15
+-25
+-57
+-86
+-47
+75
+99
+56
+10
+-30
+-61
+-90
+-52
+72
+95
+51
+6
+-33
+-64
+-92
+-54
+68
+92
+49
+4
+-34
+-65
+-93
+-56
+67
+90
+47
+3
+-35
+-67
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-57
+66
+89
+46
+2
+-36
+-67
+-95
+-58
+66
+89
+45
+1
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-37
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+86
+45
+1
+-37
+-68
+-95
+-58
+65
+89
+47
+2
+-36
+-67
+-94
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+66
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-100
+-50
+65
+82
+43
+-1
+-37
+-69
+-95
+-101
+-127
+-45
+72
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-36
+81
+102
+66
+19
+-20
+-54
+-82
+-106
+-109
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-107
+-28
+88
+109
+74
+26
+-14
+-50
+-78
+-103
+-36
+88
+115
+74
+26
+-16
+-49
+-79
+-37
+85
+109
+65
+19
+-22
+-55
+-84
+-45
+77
+101
+57
+11
+-28
+-61
+-89
+-53
+71
+94
+53
+8
+-31
+-63
+-91
+-53
+69
+93
+50
+5
+-33
+-65
+-93
+-55
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+64
+88
+47
+3
+-35
+-66
+-94
+-99
+-127
+-49
+65
+89
+51
+8
+-31
+-63
+-90
+-97
+-127
+-38
+77
+101
+62
+18
+-23
+-56
+-84
+-107
+-111
+-32
+83
+107
+69
+24
+-18
+-51
+-80
+-104
+-108
+-28
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-107
+-27
+87
+112
+74
+28
+-14
+-48
+-78
+-102
+-107
+-25
+89
+113
+74
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+115
+76
+30
+-12
+-46
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+115
+76
+30
+-12
+-47
+-77
+-101
+-106
+-23
+91
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-24
+90
+114
+76
+28
+-14
+-48
+-78
+-31
+92
+115
+72
+24
+-17
+-51
+-80
+-40
+82
+106
+62
+15
+-25
+-58
+-86
+-48
+75
+97
+55
+10
+-30
+-62
+-90
+-52
+72
+95
+52
+7
+-32
+-64
+-91
+-54
+70
+91
+49
+5
+-34
+-65
+-93
+-57
+66
+90
+48
+3
+-35
+-67
+-94
+-57
+66
+89
+46
+2
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+2
+-36
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+1
+-37
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-49
+65
+82
+44
+-1
+-37
+-69
+-95
+-101
+-127
+-45
+72
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-36
+81
+102
+66
+19
+-20
+-54
+-82
+-106
+-109
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-15
+-49
+-79
+-37
+85
+109
+65
+18
+-22
+-55
+-84
+-45
+77
+101
+58
+12
+-28
+-60
+-88
+-53
+70
+94
+51
+7
+-32
+-64
+-92
+-53
+70
+93
+50
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+65
+88
+47
+2
+-36
+-67
+-94
+-57
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+66
+89
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-94
+-58
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+2
+-36
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-100
+-49
+65
+82
+43
+-1
+-37
+-69
+-95
+-101
+-127
+-45
+72
+92
+57
+12
+-26
+-60
+-87
+-110
+-127
+-37
+81
+102
+67
+20
+-20
+-54
+-82
+-106
+-110
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+110
+74
+27
+-14
+-49
+-78
+-102
+-36
+88
+115
+74
+26
+-16
+-50
+-79
+-37
+85
+108
+65
+19
+-22
+-55
+-84
+-45
+77
+101
+58
+12
+-28
+-60
+-88
+-51
+72
+95
+52
+7
+-32
+-64
+-91
+-53
+70
+93
+50
+5
+-33
+-65
+-92
+-56
+68
+90
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-58
+66
+90
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+66
+89
+45
+1
+-36
+-67
+-95
+-61
+64
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+87
+45
+2
+-36
+-68
+-95
+-100
+-127
+-50
+65
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+76
+100
+61
+17
+-23
+-56
+-85
+-107
+-112
+-33
+83
+107
+68
+23
+-18
+-51
+-81
+-104
+-109
+-28
+86
+110
+71
+25
+-16
+-50
+-80
+-103
+-108
+-27
+88
+112
+74
+26
+-16
+-49
+-79
+-32
+90
+114
+71
+24
+-18
+-51
+-81
+-41
+82
+105
+61
+15
+-26
+-58
+-86
+-48
+75
+97
+55
+10
+-29
+-62
+-90
+-52
+71
+94
+51
+6
+-33
+-64
+-92
+-55
+69
+93
+49
+5
+-34
+-65
+-93
+-56
+67
+90
+48
+3
+-35
+-67
+-94
+-58
+66
+90
+46
+2
+-36
+-67
+-94
+-58
+65
+88
+46
+2
+-36
+-67
+-94
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-60
+63
+87
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-62
+62
+87
+45
+1
+-38
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+86
+45
+2
+-36
+-67
+-95
+-100
+-127
+-49
+65
+89
+50
+7
+-31
+-63
+-91
+-97
+-127
+-39
+76
+101
+62
+18
+-23
+-55
+-84
+-107
+-111
+-32
+83
+106
+68
+23
+-18
+-51
+-81
+-104
+-109
+-28
+87
+110
+71
+26
+-16
+-49
+-79
+-103
+-107
+-27
+88
+112
+74
+26
+-16
+-49
+-79
+-33
+90
+114
+71
+24
+-18
+-52
+-81
+-41
+82
+104
+61
+15
+-25
+-58
+-86
+-49
+74
+97
+55
+10
+-30
+-62
+-90
+-52
+71
+94
+51
+6
+-33
+-64
+-92
+-55
+68
+92
+49
+5
+-34
+-66
+-93
+-57
+67
+90
+47
+3
+-35
+-67
+-94
+-57
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+66
+89
+46
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-68
+-95
+-58
+65
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-101
+-50
+65
+82
+43
+0
+-37
+-69
+-95
+-101
+-127
+-45
+72
+94
+57
+12
+-27
+-60
+-87
+-110
+-127
+-36
+81
+102
+66
+19
+-20
+-54
+-82
+-106
+-110
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-15
+-49
+-79
+-38
+85
+108
+65
+18
+-23
+-56
+-84
+-45
+77
+101
+58
+12
+-28
+-60
+-88
+-54
+71
+95
+53
+8
+-31
+-63
+-91
+-53
+70
+93
+50
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+64
+88
+47
+3
+-36
+-67
+-94
+-58
+66
+90
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-50
+64
+81
+43
+-1
+-37
+-69
+-95
+-102
+-127
+-45
+72
+93
+58
+12
+-26
+-60
+-87
+-110
+-127
+-37
+81
+102
+67
+20
+-19
+-54
+-81
+-106
+-109
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-108
+-28
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-35
+88
+115
+75
+27
+-15
+-49
+-79
+-37
+85
+109
+65
+18
+-22
+-55
+-84
+-46
+77
+101
+58
+12
+-28
+-60
+-88
+-52
+71
+96
+53
+8
+-31
+-63
+-91
+-54
+70
+93
+50
+5
+-34
+-65
+-93
+-56
+67
+91
+48
+4
+-35
+-66
+-93
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-58
+66
+90
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-94
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+2
+-36
+-68
+-95
+-60
+64
+88
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+50
+7
+-32
+-64
+-91
+-97
+-127
+-39
+76
+100
+62
+17
+-23
+-56
+-84
+-107
+-112
+-32
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+71
+26
+-16
+-49
+-79
+-103
+-108
+-27
+88
+112
+73
+25
+-16
+-50
+-80
+-33
+89
+114
+71
+24
+-18
+-51
+-81
+-42
+81
+105
+61
+15
+-25
+-58
+-86
+-48
+75
+98
+55
+10
+-30
+-62
+-90
+-53
+71
+94
+51
+6
+-33
+-64
+-92
+-55
+69
+91
+49
+5
+-34
+-66
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-93
+-59
+66
+89
+47
+2
+-36
+-67
+-95
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-59
+65
+89
+45
+1
+-36
+-68
+-95
+-62
+62
+87
+45
+2
+-36
+-67
+-94
+-100
+-127
+-50
+65
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+75
+100
+62
+18
+-22
+-55
+-84
+-107
+-111
+-32
+82
+107
+69
+24
+-17
+-51
+-80
+-104
+-109
+-29
+86
+110
+71
+26
+-16
+-50
+-79
+-103
+-108
+-27
+88
+113
+74
+26
+-16
+-49
+-79
+-33
+90
+114
+71
+24
+-18
+-52
+-81
+-42
+80
+104
+62
+15
+-25
+-58
+-86
+-50
+74
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-55
+68
+91
+49
+5
+-34
+-65
+-93
+-58
+66
+91
+48
+3
+-35
+-67
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+87
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-100
+-50
+65
+82
+44
+-1
+-37
+-69
+-95
+-101
+-127
+-45
+72
+93
+57
+12
+-26
+-60
+-87
+-111
+-127
+-36
+81
+102
+67
+20
+-20
+-54
+-82
+-106
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+88
+115
+75
+27
+-16
+-49
+-79
+-38
+85
+109
+66
+19
+-22
+-55
+-84
+-46
+77
+101
+57
+11
+-28
+-61
+-89
+-53
+70
+95
+53
+8
+-31
+-63
+-91
+-54
+69
+93
+50
+5
+-33
+-65
+-93
+-56
+68
+91
+48
+4
+-35
+-66
+-94
+-59
+64
+89
+48
+3
+-35
+-66
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-95
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-60
+63
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+89
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-100
+-50
+64
+82
+44
+0
+-37
+-69
+-95
+-101
+-127
+-45
+71
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-36
+81
+103
+68
+21
+-19
+-53
+-81
+-106
+-109
+-31
+85
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+110
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-15
+-49
+-79
+-38
+85
+109
+66
+19
+-22
+-55
+-84
+-46
+77
+100
+57
+12
+-28
+-60
+-89
+-52
+71
+95
+54
+8
+-31
+-63
+-91
+-55
+69
+93
+50
+5
+-33
+-65
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-60
+65
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-62
+63
+87
+46
+2
+-37
+-68
+-95
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-61
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+1
+-36
+-68
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+50
+7
+-31
+-63
+-91
+-97
+-127
+-39
+76
+99
+62
+17
+-23
+-56
+-85
+-108
+-112
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+27
+-16
+-49
+-79
+-103
+-108
+-27
+88
+111
+73
+26
+-16
+-50
+-79
+-34
+90
+114
+71
+24
+-18
+-52
+-81
+-42
+81
+105
+62
+16
+-25
+-58
+-86
+-49
+74
+97
+55
+10
+-30
+-62
+-90
+-53
+71
+93
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-34
+-66
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+47
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-60
+63
+88
+45
+2
+-36
+-68
+-95
+-62
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-62
+62
+87
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-59
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+2
+-36
+-68
+-95
+-60
+64
+89
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+87
+45
+2
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-37
+-68
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+45
+1
+-36
+-68
+-95
+-60
+63
+88
+46
+2
+-37
+-68
+-95
+-62
+63
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-63
+62
+87
+45
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-63
+62
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+64
+88
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+75
+100
+62
+18
+-23
+-56
+-84
+-107
+-112
+-33
+82
+107
+69
+24
+-17
+-51
+-80
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-50
+-79
+-103
+-108
+-28
+87
+112
+74
+26
+-16
+-50
+-79
+-34
+90
+114
+72
+24
+-18
+-52
+-81
+-42
+80
+104
+62
+15
+-25
+-58
+-86
+-50
+73
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-34
+-65
+-93
+-58
+66
+91
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-59
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-62
+63
+88
+46
+1
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-101
+-50
+65
+83
+45
+0
+-36
+-68
+-95
+-101
+-127
+-45
+72
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+109
+75
+27
+-14
+-49
+-78
+-103
+-107
+-27
+90
+111
+76
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+112
+76
+28
+-12
+-48
+-77
+-102
+-106
+-26
+91
+112
+77
+29
+-12
+-48
+-76
+-102
+-105
+-26
+91
+112
+77
+29
+-12
+-48
+-76
+-102
+-106
+-25
+91
+112
+77
+29
+-12
+-47
+-76
+-102
+-106
+-25
+92
+114
+79
+30
+-11
+-47
+-76
+-101
+-105
+-25
+91
+113
+78
+29
+-12
+-47
+-76
+-101
+-105
+-26
+91
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-102
+-106
+-25
+91
+113
+78
+29
+-12
+-48
+-76
+-102
+-35
+89
+116
+77
+29
+-14
+-48
+-78
+-38
+85
+110
+67
+20
+-21
+-54
+-84
+-46
+78
+101
+59
+13
+-27
+-59
+-88
+-54
+70
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+51
+6
+-33
+-65
+-92
+-57
+67
+91
+49
+5
+-34
+-66
+-93
+-61
+63
+89
+47
+4
+-35
+-66
+-94
+-100
+-127
+-49
+66
+90
+52
+9
+-30
+-62
+-90
+-112
+-127
+-39
+76
+101
+63
+19
+-22
+-55
+-84
+-107
+-111
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-28
+86
+110
+72
+27
+-15
+-49
+-79
+-103
+-108
+-27
+88
+112
+74
+29
+-14
+-48
+-78
+-102
+-107
+-26
+89
+113
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+113
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+115
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-25
+89
+114
+76
+28
+-14
+-48
+-78
+-33
+90
+115
+72
+24
+-18
+-51
+-81
+-42
+82
+105
+63
+17
+-24
+-57
+-86
+-50
+73
+98
+56
+10
+-29
+-62
+-90
+-53
+71
+95
+53
+8
+-32
+-64
+-91
+-56
+68
+92
+50
+5
+-34
+-65
+-93
+-58
+66
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-59
+64
+89
+47
+3
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-62
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-62
+63
+87
+46
+2
+-36
+-68
+-95
+-60
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+89
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+46
+2
+-36
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-101
+-50
+65
+82
+44
+0
+-37
+-69
+-95
+-102
+-127
+-45
+72
+93
+59
+13
+-26
+-60
+-87
+-110
+-127
+-37
+80
+102
+67
+21
+-19
+-54
+-82
+-106
+-109
+-32
+85
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+88
+116
+76
+27
+-15
+-49
+-79
+-39
+84
+108
+66
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-89
+-54
+70
+95
+54
+8
+-31
+-63
+-91
+-56
+69
+93
+51
+6
+-33
+-65
+-93
+-57
+67
+91
+49
+5
+-34
+-66
+-93
+-99
+-49
+66
+84
+46
+1
+-36
+-68
+-94
+-101
+-127
+-44
+73
+94
+59
+13
+-25
+-59
+-87
+-110
+-127
+-36
+81
+103
+68
+21
+-19
+-54
+-81
+-106
+-109
+-32
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-107
+-27
+90
+112
+76
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+112
+76
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+112
+77
+29
+-12
+-48
+-76
+-101
+-106
+-26
+91
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+92
+113
+78
+29
+-12
+-47
+-76
+-101
+-106
+-26
+92
+113
+78
+30
+-11
+-47
+-76
+-101
+-105
+-25
+91
+113
+77
+29
+-12
+-48
+-76
+-101
+-105
+-26
+91
+112
+77
+29
+-12
+-48
+-76
+-102
+-106
+-25
+91
+113
+78
+30
+-12
+-47
+-76
+-101
+-105
+-26
+91
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-26
+91
+113
+78
+29
+-11
+-47
+-76
+-101
+-105
+-25
+91
+113
+77
+29
+-12
+-48
+-76
+-101
+-106
+-26
+91
+113
+78
+29
+-12
+-47
+-76
+-101
+-105
+-26
+91
+113
+78
+30
+-12
+-47
+-76
+-101
+-105
+-26
+91
+112
+77
+29
+-12
+-48
+-77
+-102
+-105
+-26
+91
+114
+78
+30
+-11
+-47
+-76
+-101
+-105
+-25
+91
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+91
+113
+78
+29
+-12
+-47
+-76
+-101
+-105
+-26
+91
+113
+77
+29
+-12
+-48
+-77
+-102
+-105
+-26
+92
+113
+78
+29
+-12
+-47
+-76
+-102
+-35
+89
+117
+77
+29
+-13
+-48
+-78
+-38
+86
+110
+67
+19
+-22
+-55
+-84
+-46
+77
+101
+59
+13
+-27
+-60
+-88
+-55
+70
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+52
+7
+-33
+-65
+-92
+-57
+68
+92
+49
+5
+-34
+-66
+-93
+-62
+62
+88
+47
+3
+-35
+-66
+-94
+-100
+-127
+-49
+66
+90
+52
+9
+-30
+-62
+-90
+-112
+-127
+-38
+77
+101
+63
+19
+-22
+-55
+-84
+-107
+-111
+-32
+83
+107
+69
+24
+-17
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+27
+-15
+-49
+-79
+-103
+-108
+-28
+87
+112
+74
+26
+-16
+-49
+-79
+-35
+89
+114
+71
+23
+-18
+-52
+-82
+-43
+80
+104
+62
+16
+-25
+-58
+-86
+-50
+73
+97
+56
+11
+-29
+-61
+-90
+-54
+70
+93
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-34
+-65
+-93
+-59
+66
+90
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-37
+-68
+-95
+-61
+64
+88
+46
+1
+-37
+-68
+-95
+-62
+63
+87
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-100
+-51
+65
+83
+45
+0
+-36
+-69
+-95
+-101
+-127
+-46
+71
+93
+57
+12
+-26
+-60
+-87
+-111
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+74
+26
+-14
+-50
+-78
+-103
+-37
+87
+115
+75
+27
+-15
+-49
+-79
+-39
+84
+109
+66
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-88
+-55
+69
+95
+53
+8
+-31
+-64
+-91
+-55
+68
+93
+51
+6
+-33
+-65
+-92
+-57
+67
+91
+49
+4
+-34
+-66
+-94
+-60
+64
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+89
+47
+3
+-35
+-67
+-94
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-100
+-49
+65
+82
+44
+0
+-37
+-69
+-95
+-102
+-127
+-45
+71
+93
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+80
+103
+68
+21
+-19
+-54
+-81
+-106
+-110
+-32
+85
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-107
+-27
+89
+112
+76
+28
+-13
+-48
+-77
+-102
+-106
+-26
+90
+112
+77
+29
+-12
+-48
+-77
+-102
+-106
+-27
+90
+112
+77
+29
+-12
+-48
+-76
+-102
+-106
+-27
+91
+113
+77
+29
+-12
+-48
+-77
+-102
+-106
+-26
+91
+113
+77
+29
+-12
+-48
+-77
+-102
+-35
+89
+117
+77
+29
+-14
+-48
+-78
+-39
+85
+110
+67
+20
+-21
+-54
+-84
+-46
+77
+101
+59
+13
+-27
+-60
+-88
+-53
+71
+96
+54
+9
+-31
+-63
+-91
+-55
+69
+93
+51
+6
+-33
+-65
+-93
+-57
+67
+91
+49
+4
+-34
+-66
+-93
+-61
+64
+89
+47
+3
+-35
+-67
+-95
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-62
+62
+87
+46
+2
+-36
+-67
+-95
+-60
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+64
+87
+45
+1
+-36
+-68
+-95
+-62
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-62
+62
+87
+46
+2
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+63
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+45
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-63
+61
+87
+46
+3
+-36
+-67
+-95
+-100
+-127
+-50
+64
+88
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+76
+100
+62
+18
+-23
+-55
+-84
+-108
+-112
+-32
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+85
+110
+72
+27
+-16
+-49
+-79
+-103
+-108
+-28
+88
+112
+74
+26
+-16
+-49
+-79
+-34
+89
+114
+72
+24
+-18
+-51
+-81
+-43
+80
+105
+62
+15
+-25
+-58
+-86
+-51
+73
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+67
+91
+50
+5
+-34
+-66
+-93
+-58
+66
+90
+48
+5
+-34
+-66
+-93
+-99
+-127
+-49
+66
+89
+51
+8
+-31
+-63
+-90
+-97
+-127
+-39
+76
+100
+62
+18
+-22
+-55
+-84
+-107
+-112
+-33
+83
+108
+69
+24
+-17
+-51
+-80
+-104
+-109
+-29
+86
+111
+72
+27
+-15
+-49
+-79
+-103
+-108
+-27
+87
+112
+74
+28
+-14
+-48
+-78
+-102
+-107
+-26
+88
+113
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+89
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-26
+90
+115
+77
+30
+-12
+-46
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-26
+89
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-24
+90
+115
+77
+30
+-12
+-46
+-77
+-101
+-106
+-25
+90
+115
+77
+30
+-12
+-46
+-77
+-101
+-106
+-25
+89
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-26
+89
+114
+75
+27
+-15
+-49
+-78
+-33
+90
+115
+73
+25
+-17
+-50
+-80
+-42
+81
+106
+63
+16
+-24
+-57
+-86
+-49
+74
+98
+56
+11
+-29
+-62
+-90
+-54
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-34
+-65
+-93
+-58
+66
+91
+48
+4
+-35
+-66
+-94
+-60
+65
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+63
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-63
+63
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-64
+62
+87
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+89
+47
+2
+-36
+-67
+-95
+-63
+62
+87
+45
+2
+-36
+-68
+-95
+-101
+-127
+-50
+65
+89
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+76
+100
+62
+18
+-22
+-55
+-84
+-107
+-112
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+85
+109
+72
+26
+-16
+-50
+-79
+-103
+-108
+-28
+88
+112
+74
+26
+-16
+-49
+-79
+-34
+89
+114
+72
+24
+-18
+-51
+-81
+-43
+80
+105
+62
+15
+-25
+-58
+-87
+-50
+72
+97
+56
+10
+-30
+-62
+-90
+-54
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+50
+5
+-33
+-65
+-93
+-59
+66
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+48
+3
+-36
+-67
+-94
+-60
+65
+90
+48
+3
+-35
+-67
+-94
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-37
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+46
+2
+-36
+-67
+-95
+-101
+-50
+64
+82
+45
+0
+-37
+-69
+-95
+-102
+-127
+-46
+72
+94
+58
+12
+-26
+-60
+-87
+-111
+-127
+-37
+81
+102
+66
+20
+-20
+-54
+-82
+-107
+-110
+-32
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+87
+115
+76
+27
+-15
+-49
+-79
+-39
+84
+109
+66
+19
+-22
+-55
+-84
+-47
+76
+101
+58
+12
+-28
+-60
+-88
+-54
+70
+95
+53
+8
+-31
+-63
+-91
+-55
+68
+93
+51
+6
+-33
+-65
+-93
+-57
+68
+92
+49
+5
+-34
+-66
+-93
+-60
+64
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+90
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-37
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-68
+-95
+-101
+-50
+65
+82
+44
+0
+-37
+-69
+-95
+-102
+-127
+-45
+72
+93
+58
+13
+-26
+-60
+-87
+-111
+-127
+-37
+81
+102
+67
+21
+-19
+-53
+-81
+-106
+-110
+-31
+86
+106
+71
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+74
+27
+-14
+-49
+-78
+-103
+-37
+87
+115
+75
+27
+-16
+-49
+-79
+-39
+84
+108
+66
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-88
+-53
+71
+95
+53
+8
+-31
+-63
+-91
+-56
+68
+93
+50
+5
+-34
+-65
+-93
+-57
+67
+91
+49
+5
+-34
+-66
+-93
+-60
+64
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-63
+62
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+89
+47
+3
+-36
+-67
+-94
+-60
+64
+89
+46
+2
+-36
+-67
+-95
+-62
+62
+87
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+2
+-36
+-67
+-95
+-101
+-127
+-50
+64
+88
+50
+7
+-32
+-64
+-91
+-97
+-127
+-40
+76
+100
+62
+18
+-23
+-56
+-84
+-107
+-112
+-33
+83
+108
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+71
+26
+-16
+-49
+-79
+-103
+-108
+-28
+88
+111
+73
+26
+-16
+-50
+-80
+-34
+89
+114
+72
+24
+-18
+-51
+-81
+-43
+80
+104
+62
+15
+-25
+-58
+-87
+-49
+74
+98
+56
+10
+-30
+-62
+-90
+-54
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+92
+49
+5
+-34
+-66
+-93
+-57
+67
+90
+48
+4
+-35
+-66
+-94
+-60
+65
+90
+47
+3
+-36
+-67
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+2
+-36
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-62
+62
+88
+46
+2
+-36
+-67
+-95
+-61
+64
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+89
+47
+2
+-36
+-67
+-95
+-63
+62
+86
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+64
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+77
+100
+62
+18
+-23
+-55
+-84
+-107
+-112
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-108
+-28
+86
+112
+74
+26
+-16
+-49
+-79
+-34
+90
+114
+72
+24
+-18
+-51
+-81
+-42
+80
+104
+62
+15
+-25
+-58
+-86
+-50
+73
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+93
+52
+7
+-32
+-64
+-92
+-56
+68
+91
+50
+5
+-34
+-66
+-93
+-58
+66
+90
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-94
+-59
+64
+89
+47
+3
+-36
+-67
+-94
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-68
+-95
+-60
+65
+88
+45
+2
+-36
+-68
+-95
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-100
+-50
+65
+83
+44
+0
+-36
+-69
+-95
+-101
+-127
+-46
+71
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-29
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+87
+114
+75
+27
+-16
+-49
+-79
+-39
+85
+109
+66
+19
+-22
+-55
+-84
+-47
+77
+101
+58
+12
+-28
+-60
+-88
+-54
+70
+95
+53
+8
+-31
+-63
+-91
+-55
+69
+93
+51
+6
+-33
+-65
+-92
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-60
+63
+89
+48
+3
+-35
+-67
+-94
+-59
+66
+89
+47
+3
+-36
+-67
+-95
+-59
+65
+89
+47
+3
+-35
+-67
+-94
+-61
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+47
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+47
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+46
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-101
+-50
+64
+82
+44
+-1
+-37
+-69
+-95
+-102
+-127
+-45
+72
+93
+57
+12
+-27
+-60
+-87
+-111
+-127
+-37
+80
+102
+67
+20
+-19
+-54
+-82
+-106
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+88
+109
+74
+26
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-16
+-49
+-79
+-39
+84
+109
+66
+19
+-22
+-55
+-84
+-46
+77
+100
+58
+12
+-28
+-60
+-89
+-53
+71
+95
+54
+8
+-31
+-63
+-91
+-54
+69
+92
+50
+5
+-33
+-65
+-93
+-56
+67
+91
+49
+4
+-34
+-66
+-93
+-60
+65
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+88
+47
+2
+-36
+-67
+-95
+-59
+65
+89
+47
+2
+-36
+-67
+-94
+-62
+62
+87
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-62
+62
+87
+45
+1
+-37
+-68
+-95
+-60
+65
+89
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-37
+-67
+-95
+-60
+64
+87
+46
+3
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+76
+99
+62
+18
+-23
+-56
+-85
+-107
+-112
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+111
+72
+26
+-16
+-49
+-79
+-103
+-108
+-27
+87
+111
+73
+25
+-16
+-50
+-80
+-34
+89
+114
+72
+24
+-18
+-51
+-81
+-42
+80
+105
+62
+15
+-25
+-58
+-86
+-49
+74
+97
+55
+10
+-30
+-62
+-90
+-54
+70
+94
+52
+6
+-32
+-64
+-92
+-55
+67
+92
+50
+5
+-34
+-66
+-93
+-57
+67
+91
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+48
+3
+-35
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-95
+-62
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-63
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-62
+61
+87
+45
+3
+-36
+-67
+-95
+-100
+-127
+-50
+65
+89
+50
+7
+-31
+-63
+-91
+-97
+-127
+-39
+75
+100
+62
+18
+-23
+-56
+-84
+-107
+-112
+-33
+82
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-108
+-28
+88
+112
+74
+26
+-16
+-49
+-79
+-33
+90
+113
+71
+24
+-18
+-52
+-81
+-42
+81
+105
+62
+15
+-25
+-57
+-86
+-50
+74
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+52
+7
+-32
+-64
+-92
+-56
+68
+91
+49
+5
+-34
+-66
+-93
+-57
+67
+89
+47
+3
+-35
+-67
+-94
+-58
+66
+90
+48
+3
+-35
+-66
+-94
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+1
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+87
+45
+2
+-36
+-68
+-95
+-60
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-101
+-49
+65
+82
+44
+0
+-37
+-69
+-95
+-101
+-127
+-45
+71
+93
+57
+12
+-26
+-60
+-87
+-110
+-127
+-36
+80
+101
+66
+19
+-20
+-54
+-82
+-107
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+109
+74
+27
+-14
+-49
+-78
+-103
+-37
+87
+114
+74
+27
+-16
+-49
+-79
+-38
+84
+108
+65
+19
+-22
+-55
+-84
+-46
+77
+101
+58
+12
+-28
+-60
+-89
+-54
+70
+94
+53
+8
+-31
+-64
+-91
+-55
+69
+93
+50
+5
+-33
+-65
+-93
+-56
+68
+91
+48
+4
+-34
+-66
+-93
+-60
+64
+89
+47
+3
+-35
+-67
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+87
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+47
+2
+-36
+-67
+-95
+-60
+64
+87
+46
+2
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-67
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-49
+65
+82
+44
+0
+-36
+-68
+-95
+-101
+-127
+-45
+71
+93
+58
+12
+-27
+-60
+-87
+-111
+-127
+-38
+80
+102
+67
+20
+-19
+-54
+-82
+-106
+-109
+-31
+86
+107
+71
+23
+-17
+-51
+-80
+-104
+-108
+-28
+89
+110
+74
+27
+-14
+-49
+-78
+-103
+-36
+88
+115
+75
+27
+-16
+-49
+-79
+-38
+85
+109
+65
+19
+-22
+-55
+-84
+-46
+77
+100
+58
+12
+-28
+-60
+-88
+-53
+71
+95
+53
+8
+-31
+-63
+-91
+-54
+69
+92
+50
+6
+-33
+-65
+-92
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-35
+-67
+-94
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-61
+63
+87
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+46
+1
+-37
+-68
+-95
+-60
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-61
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-62
+62
+86
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-62
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-60
+64
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+88
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+75
+99
+61
+17
+-23
+-56
+-85
+-108
+-112
+-32
+83
+107
+68
+23
+-18
+-51
+-81
+-105
+-109
+-28
+86
+110
+71
+26
+-16
+-49
+-79
+-103
+-108
+-27
+88
+111
+73
+25
+-16
+-50
+-79
+-34
+89
+114
+71
+24
+-18
+-52
+-81
+-42
+82
+105
+62
+15
+-25
+-58
+-86
+-49
+74
+97
+55
+10
+-30
+-62
+-90
+-53
+71
+94
+52
+7
+-32
+-64
+-92
+-55
+68
+92
+49
+5
+-34
+-65
+-93
+-57
+67
+90
+47
+3
+-35
+-67
+-94
+-58
+65
+89
+47
+3
+-35
+-67
+-94
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-62
+62
+86
+45
+1
+-37
+-68
+-95
+-59
+64
+89
+47
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-62
+62
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+64
+88
+51
+8
+-31
+-63
+-91
+-97
+-127
+-39
+75
+100
+62
+17
+-23
+-56
+-85
+-108
+-112
+-32
+83
+107
+69
+23
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-107
+-28
+88
+112
+74
+28
+-14
+-48
+-78
+-102
+-106
+-26
+89
+113
+74
+28
+-14
+-48
+-78
+-102
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+115
+76
+30
+-12
+-46
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-26
+90
+114
+76
+30
+-13
+-47
+-77
+-101
+-106
+-24
+91
+115
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+91
+115
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+115
+76
+30
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+91
+115
+77
+28
+-14
+-48
+-78
+-32
+91
+115
+72
+25
+-17
+-51
+-80
+-41
+82
+105
+62
+15
+-25
+-58
+-86
+-49
+74
+98
+56
+10
+-29
+-61
+-89
+-53
+71
+95
+52
+6
+-32
+-64
+-92
+-55
+69
+92
+49
+5
+-34
+-65
+-93
+-58
+66
+90
+47
+4
+-35
+-66
+-94
+-99
+-127
+-49
+66
+89
+52
+9
+-31
+-63
+-90
+-112
+-127
+-38
+77
+101
+62
+18
+-23
+-55
+-84
+-107
+-111
+-33
+83
+107
+69
+24
+-18
+-51
+-80
+-104
+-109
+-29
+86
+110
+71
+26
+-16
+-50
+-79
+-103
+-108
+-27
+88
+112
+73
+27
+-14
+-48
+-78
+-102
+-107
+-26
+90
+114
+74
+29
+-13
+-47
+-78
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+114
+75
+28
+-15
+-49
+-78
+-32
+91
+115
+73
+25
+-17
+-50
+-80
+-41
+83
+106
+62
+16
+-24
+-57
+-86
+-48
+75
+98
+56
+10
+-29
+-61
+-90
+-53
+71
+94
+51
+7
+-32
+-64
+-92
+-55
+69
+92
+49
+5
+-34
+-65
+-93
+-57
+67
+91
+48
+4
+-35
+-66
+-94
+-58
+65
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-61
+63
+88
+45
+1
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-62
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+62
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+63
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+2
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-101
+-50
+64
+82
+44
+0
+-36
+-69
+-95
+-101
+-127
+-45
+71
+93
+57
+11
+-27
+-60
+-87
+-111
+-127
+-36
+81
+102
+66
+20
+-20
+-54
+-82
+-106
+-110
+-31
+86
+107
+71
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+110
+74
+26
+-14
+-49
+-78
+-103
+-37
+87
+115
+74
+27
+-15
+-49
+-79
+-38
+85
+108
+65
+19
+-22
+-55
+-84
+-46
+77
+101
+58
+12
+-28
+-60
+-88
+-54
+70
+94
+52
+7
+-32
+-64
+-91
+-54
+69
+93
+51
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-35
+-66
+-94
+-59
+64
+88
+47
+4
+-35
+-66
+-94
+-99
+-127
+-49
+65
+89
+51
+8
+-31
+-63
+-90
+-112
+-127
+-38
+77
+100
+62
+18
+-22
+-55
+-84
+-107
+-111
+-32
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-107
+-27
+87
+112
+74
+28
+-14
+-48
+-78
+-102
+-106
+-26
+88
+113
+75
+29
+-13
+-48
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+115
+76
+30
+-13
+-47
+-77
+-101
+-106
+-25
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-26
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+90
+115
+76
+30
+-13
+-47
+-77
+-101
+-106
+-24
+90
+115
+76
+30
+-12
+-47
+-76
+-101
+-106
+-24
+90
+114
+76
+30
+-13
+-46
+-77
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+114
+75
+30
+-12
+-47
+-77
+-101
+-106
+-24
+90
+115
+76
+30
+-12
+-47
+-77
+-101
+-106
+-24
+90
+115
+76
+30
+-13
+-47
+-77
+-101
+-106
+-24
+91
+115
+76
+30
+-12
+-47
+-77
+-101
+-106
+-24
+90
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-25
+90
+114
+76
+30
+-12
+-47
+-77
+-100
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-24
+91
+114
+76
+30
+-12
+-47
+-77
+-101
+-106
+-24
+91
+115
+76
+30
+-12
+-46
+-76
+-101
+-106
+-24
+90
+114
+75
+29
+-13
+-47
+-77
+-101
+-106
+-25
+90
+114
+75
+27
+-14
+-48
+-78
+-31
+92
+115
+72
+25
+-17
+-51
+-80
+-41
+82
+106
+62
+16
+-25
+-57
+-86
+-49
+74
+98
+55
+10
+-30
+-62
+-90
+-52
+71
+94
+51
+7
+-33
+-64
+-92
+-55
+68
+91
+49
+5
+-34
+-66
+-93
+-57
+67
+90
+48
+4
+-34
+-66
+-93
+-99
+-127
+-49
+65
+89
+51
+8
+-31
+-63
+-90
+-97
+-127
+-38
+77
+101
+62
+18
+-22
+-55
+-84
+-107
+-111
+-32
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-109
+-29
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-107
+-27
+88
+111
+73
+26
+-16
+-50
+-79
+-33
+90
+114
+71
+24
+-18
+-51
+-81
+-41
+82
+104
+62
+15
+-25
+-58
+-86
+-48
+74
+97
+55
+10
+-30
+-62
+-90
+-53
+71
+94
+51
+7
+-32
+-64
+-92
+-55
+69
+91
+48
+4
+-35
+-66
+-94
+-56
+67
+91
+48
+3
+-35
+-66
+-94
+-59
+66
+89
+47
+3
+-35
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-60
+63
+88
+45
+1
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-36
+-68
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+62
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+64
+87
+50
+7
+-32
+-64
+-91
+-97
+-127
+-39
+76
+99
+62
+18
+-23
+-56
+-84
+-107
+-112
+-32
+83
+107
+69
+24
+-18
+-51
+-80
+-104
+-109
+-28
+85
+110
+72
+26
+-16
+-49
+-79
+-103
+-107
+-27
+88
+112
+74
+26
+-16
+-49
+-79
+-33
+90
+114
+70
+23
+-19
+-52
+-81
+-42
+80
+104
+62
+15
+-25
+-58
+-86
+-50
+74
+97
+54
+9
+-30
+-62
+-90
+-52
+71
+94
+52
+7
+-32
+-64
+-91
+-56
+68
+92
+49
+5
+-34
+-66
+-93
+-56
+67
+89
+48
+3
+-35
+-67
+-94
+-57
+66
+89
+47
+3
+-35
+-67
+-94
+-58
+65
+88
+46
+2
+-36
+-68
+-95
+-58
+65
+89
+46
+2
+-36
+-67
+-94
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+2
+-37
+-68
+-95
+-59
+64
+88
+45
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+46
+1
+-37
+-68
+-95
+-59
+64
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-49
+65
+82
+44
+0
+-37
+-68
+-95
+-101
+-127
+-45
+72
+92
+57
+12
+-26
+-60
+-87
+-111
+-127
+-36
+81
+101
+66
+20
+-20
+-54
+-82
+-106
+-109
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-108
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-106
+-27
+90
+111
+75
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+111
+76
+28
+-13
+-48
+-77
+-102
+-106
+-25
+91
+112
+76
+28
+-12
+-48
+-76
+-102
+-105
+-25
+92
+112
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+112
+77
+29
+-12
+-48
+-76
+-102
+-34
+90
+115
+76
+28
+-14
+-49
+-78
+-36
+86
+110
+67
+20
+-21
+-54
+-83
+-45
+78
+101
+58
+12
+-28
+-60
+-88
+-53
+70
+95
+53
+8
+-31
+-63
+-91
+-53
+70
+93
+50
+5
+-33
+-65
+-93
+-55
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+65
+89
+47
+2
+-36
+-67
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+47
+2
+-36
+-67
+-94
+-59
+64
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+45
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-60
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+64
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+86
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+64
+88
+45
+1
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+87
+45
+2
+-36
+-67
+-95
+-100
+-127
+-50
+65
+87
+50
+7
+-32
+-63
+-91
+-97
+-127
+-39
+76
+100
+62
+17
+-23
+-56
+-84
+-107
+-111
+-33
+82
+106
+68
+23
+-18
+-52
+-81
+-104
+-109
+-28
+86
+110
+72
+26
+-16
+-49
+-79
+-103
+-107
+-27
+88
+112
+74
+26
+-16
+-49
+-79
+-33
+90
+114
+71
+23
+-18
+-52
+-81
+-41
+82
+104
+61
+15
+-25
+-58
+-87
+-48
+75
+97
+55
+10
+-30
+-62
+-90
+-53
+71
+94
+51
+6
+-33
+-64
+-92
+-55
+69
+92
+49
+5
+-34
+-65
+-93
+-57
+67
+90
+47
+3
+-36
+-67
+-94
+-100
+-48
+66
+83
+45
+1
+-36
+-68
+-94
+-101
+-127
+-45
+73
+94
+58
+13
+-26
+-59
+-86
+-110
+-127
+-36
+81
+102
+67
+20
+-19
+-54
+-82
+-106
+-109
+-31
+87
+107
+71
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+110
+74
+26
+-14
+-49
+-78
+-103
+-107
+-27
+91
+111
+75
+28
+-13
+-48
+-77
+-102
+-106
+-26
+91
+112
+76
+28
+-13
+-48
+-77
+-102
+-105
+-26
+91
+112
+76
+28
+-12
+-48
+-77
+-102
+-106
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+113
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+92
+112
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+92
+112
+77
+29
+-12
+-48
+-76
+-101
+-105
+-25
+92
+112
+77
+29
+-12
+-47
+-76
+-101
+-105
+-24
+92
+112
+77
+29
+-12
+-47
+-76
+-101
+-105
+-25
+91
+112
+77
+29
+-12
+-48
+-76
+-101
+-34
+90
+117
+76
+28
+-14
+-48
+-78
+-37
+86
+110
+66
+19
+-22
+-55
+-84
+-45
+78
+101
+58
+12
+-28
+-60
+-88
+-51
+72
+96
+54
+9
+-31
+-63
+-91
+-53
+69
+93
+50
+5
+-33
+-65
+-92
+-56
+68
+91
+48
+3
+-35
+-66
+-94
+-59
+65
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-58
+66
+89
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+2
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+46
+2
+-36
+-67
+-94
+-100
+-127
+-50
+64
+88
+50
+7
+-32
+-64
+-91
+-97
+-127
+-39
+75
+100
+62
+17
+-23
+-56
+-85
+-107
+-111
+-33
+83
+107
+69
+24
+-18
+-51
+-81
+-104
+-108
+-29
+86
+111
+71
+26
+-16
+-49
+-79
+-103
+-108
+-27
+88
+111
+72
+25
+-16
+-50
+-80
+-33
+90
+114
+71
+24
+-18
+-51
+-81
+-42
+81
+105
+61
+15
+-25
+-58
+-86
+-48
+75
+97
+55
+10
+-30
+-62
+-90
+-53
+70
+94
+51
+7
+-32
+-64
+-92
+-55
+69
+91
+48
+4
+-35
+-66
+-93
+-56
+67
+90
+48
+3
+-35
+-66
+-94
+-58
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+89
+45
+2
+-36
+-68
+-95
+-60
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-61
+63
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+87
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-62
+63
+86
+45
+2
+-36
+-67
+-95
+-100
+-127
+-49
+65
+88
+50
+7
+-32
+-64
+-91
+-97
+-127
+-39
+76
+99
+62
+17
+-23
+-56
+-84
+-107
+-112
+-32
+83
+107
+68
+23
+-18
+-51
+-81
+-104
+-109
+-29
+85
+110
+71
+26
+-16
+-49
+-79
+-103
+-108
+-27
+88
+112
+73
+26
+-16
+-49
+-79
+-33
+90
+114
+71
+24
+-18
+-51
+-81
+-42
+82
+104
+61
+15
+-25
+-58
+-86
+-49
+74
+97
+55
+10
+-30
+-62
+-90
+-52
+72
+95
+52
+7
+-32
+-64
+-92
+-55
+68
+91
+49
+5
+-34
+-66
+-93
+-57
+67
+90
+47
+3
+-35
+-67
+-94
+-57
+66
+89
+47
+3
+-36
+-67
+-94
+-58
+66
+89
+45
+2
+-36
+-67
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+2
+-37
+-68
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-60
+64
+88
+45
+2
+-36
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-101
+-50
+65
+83
+44
+0
+-37
+-69
+-95
+-101
+-127
+-45
+72
+93
+57
+11
+-27
+-60
+-87
+-111
+-127
+-36
+81
+102
+66
+19
+-20
+-54
+-82
+-106
+-110
+-31
+86
+107
+72
+24
+-16
+-51
+-79
+-104
+-107
+-28
+89
+109
+74
+26
+-14
+-49
+-78
+-103
+-37
+87
+115
+74
+26
+-16
+-49
+-79
+-37
+86
+109
+66
+19
+-22
+-55
+-84
+-45
+77
+101
+57
+12
+-28
+-60
+-88
+-53
+71
+94
+52
+7
+-32
+-64
+-91
+-54
+70
+93
+51
+6
+-33
+-65
+-92
+-56
+68
+91
+48
+4
+-35
+-66
+-93
+-59
+64
+89
+47
+3
+-36
+-67
+-94
+-57
+66
+89
+47
+2
+-36
+-67
+-94
+-58
+66
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+46
+2
+-36
+-67
+-95
+-58
+65
+88
+45
+1
+-37
+-68
+-95
+-58
+65
+88
+46
+2
+-36
+-67
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+64
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+88
+45
+1
+-37
+-68
+-95
+-59
+65
+87
+45
+1
+-37
+-68
+-95
+-59
+65
+89
+46
+2
+-36
+-67
+-95
+-59
+64
+87
+45
+1
+-37
+-68
diff --git a/traces/HID-weak-fob-11647.pm3 b/traces/HID-weak-fob-11647.pm3
new file mode 100644 (file)
index 0000000..214ed21
--- /dev/null
@@ -0,0 +1,20000 @@
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-25
+-24
+-10
+-1
+3
+4
+1
+-4
+-13
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-14
+-22
+-27
+-26
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-23
+-9
+0
+3
+4
+0
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+2
+0
+-5
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-7
+-7
+-9
+-16
+-22
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-15
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-3
+-9
+-15
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-5
+-13
+-22
+-28
+-28
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-12
+-5
+0
+1
+-1
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-4
+-12
+-19
+-26
+-16
+-10
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-20
+-25
+-15
+-9
+-4
+-5
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-1
+3
+3
+3
+-4
+-13
+-22
+-27
+-28
+-12
+-4
+0
+0
+0
+-5
+-14
+-22
+-27
+-28
+-12
+-4
+0
+0
+0
+-7
+-15
+-23
+-27
+-27
+-12
+-4
+0
+0
+0
+-7
+-15
+-24
+-29
+-28
+-13
+-5
+0
+0
+-3
+-13
+-21
+-26
+-17
+-11
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-23
+-10
+0
+3
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-24
+-29
+-18
+-12
+-8
+-7
+-10
+-17
+-22
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-3
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-24
+-13
+-8
+-4
+-3
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+1
+-4
+-13
+-22
+-26
+-26
+-12
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+1
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+1
+1
+1
+-5
+-15
+-23
+-27
+-28
+-13
+-5
+0
+-1
+-4
+-13
+-21
+-26
+-16
+-11
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-16
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+3
+2
+-4
+-13
+-23
+-27
+-27
+-13
+-4
+0
+0
+0
+-6
+-14
+-23
+-27
+-27
+-13
+-4
+0
+0
+-1
+-7
+-14
+-23
+-28
+-28
+-12
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-16
+-10
+-8
+-8
+-10
+-18
+-23
+-27
+-15
+-9
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-20
+-25
+-24
+-10
+0
+2
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-29
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+0
+-1
+-7
+-16
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-5
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-17
+-11
+-8
+-8
+-9
+-17
+-23
+-27
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-13
+-9
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-3
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-15
+-20
+-25
+-14
+-7
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-3
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+1
+-1
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-1
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+0
+1
+-1
+-6
+-15
+-25
+-28
+-28
+-13
+-5
+0
+1
+-1
+-7
+-14
+-24
+-28
+-28
+-14
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+1
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-3
+-12
+-20
+-27
+-16
+-11
+-8
+-8
+-10
+-17
+-24
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-9
+-15
+-22
+-25
+-25
+-9
+-2
+3
+3
+2
+-4
+-13
+-22
+-27
+-27
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-4
+-13
+-20
+-27
+-16
+-10
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+-1
+2
+4
+1
+-4
+-14
+-21
+-27
+-27
+-13
+-4
+0
+1
+-1
+-5
+-14
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-14
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-3
+0
+0
+-1
+-5
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-13
+-8
+-8
+-10
+-17
+-23
+-28
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-20
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-14
+-22
+-25
+-25
+-10
+-1
+3
+2
+1
+-5
+-13
+-22
+-27
+-27
+-12
+-3
+1
+0
+0
+-6
+-14
+-23
+-27
+-27
+-13
+-4
+1
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-12
+-4
+-1
+0
+-1
+-7
+-15
+-24
+-29
+-29
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-16
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-23
+-10
+-1
+3
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-2
+-6
+-15
+-24
+-29
+-27
+-14
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-17
+-12
+-8
+-7
+-10
+-17
+-22
+-26
+-15
+-9
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-13
+-20
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-5
+-14
+-22
+-28
+-27
+-12
+-3
+0
+2
+0
+-5
+-15
+-22
+-29
+-27
+-13
+-4
+0
+1
+0
+-5
+-15
+-22
+-28
+-27
+-14
+-5
+-1
+0
+-2
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-7
+-9
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+3
+2
+-4
+-13
+-23
+-27
+-27
+-13
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-4
+1
+0
+-3
+-12
+-21
+-26
+-16
+-11
+-8
+-7
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-6
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-20
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-14
+-22
+-25
+-24
+-10
+-1
+3
+3
+2
+-4
+-13
+-22
+-27
+-27
+-12
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+1
+1
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-4
+-13
+-21
+-27
+-16
+-11
+-8
+-7
+-9
+-17
+-23
+-28
+-16
+-10
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+1
+3
+1
+-4
+-13
+-21
+-27
+-27
+-12
+-3
+0
+1
+0
+-6
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-22
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-27
+-14
+-5
+-1
+1
+-1
+-5
+-15
+-22
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-7
+-5
+-4
+-6
+-15
+-21
+-25
+-24
+-10
+0
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+0
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-13
+-3
+-1
+1
+-1
+-5
+-15
+-22
+-28
+-18
+-12
+-8
+-8
+-10
+-16
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-7
+-4
+-4
+-6
+-15
+-21
+-26
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-24
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-25
+-26
+-10
+-1
+3
+2
+2
+-4
+-13
+-22
+-27
+-27
+-12
+-3
+0
+0
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+1
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+0
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+-3
+-13
+-20
+-26
+-16
+-11
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-13
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-26
+-15
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-24
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-14
+-22
+-25
+-25
+-9
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+-1
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+1
+1
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-25
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-29
+-14
+-5
+0
+1
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+1
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+0
+0
+-3
+-12
+-20
+-26
+-16
+-11
+-7
+-7
+-11
+-18
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-4
+-13
+-23
+-27
+-27
+-13
+-4
+1
+0
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-12
+-4
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-3
+-12
+-20
+-27
+-16
+-11
+-8
+-7
+-10
+-18
+-23
+-27
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+0
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+0
+-6
+-15
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-24
+-29
+-18
+-12
+-8
+-8
+-9
+-16
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-23
+-10
+0
+3
+3
+1
+-4
+-14
+-21
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-16
+-23
+-28
+-28
+-14
+-3
+0
+1
+0
+-5
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+0
+-1
+-7
+-16
+-23
+-29
+-17
+-11
+-7
+-7
+-9
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-9
+-15
+-22
+-25
+-24
+-9
+-2
+3
+3
+1
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-5
+0
+1
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-4
+-13
+-20
+-27
+-16
+-11
+-8
+-7
+-9
+-17
+-23
+-27
+-15
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-26
+-26
+-10
+-2
+2
+2
+1
+-4
+-13
+-22
+-26
+-28
+-12
+-4
+0
+1
+0
+-7
+-14
+-23
+-27
+-27
+-12
+-4
+0
+0
+0
+-7
+-14
+-23
+-29
+-28
+-13
+-4
+0
+1
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-3
+-12
+-20
+-26
+-16
+-11
+-7
+-8
+-10
+-18
+-24
+-28
+-16
+-10
+-5
+-4
+-6
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-24
+-11
+-1
+3
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-12
+-3
+0
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-3
+0
+0
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-22
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-23
+-9
+-1
+3
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-5
+-14
+-23
+-28
+-27
+-14
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+0
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-24
+-29
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-16
+-24
+-29
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+0
+-1
+-5
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-15
+-9
+-5
+-4
+-4
+-8
+-15
+-23
+-25
+-24
+-10
+-1
+3
+2
+2
+-5
+-13
+-22
+-27
+-27
+-13
+-4
+1
+1
+0
+-6
+-15
+-23
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-28
+-29
+-13
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-3
+-12
+-21
+-27
+-15
+-11
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-6
+-8
+-15
+-21
+-26
+-14
+-9
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-5
+-14
+-21
+-27
+-27
+-12
+-3
+0
+2
+0
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+2
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-5
+-1
+1
+-1
+-5
+-15
+-23
+-29
+-27
+-13
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-29
+-17
+-12
+-8
+-8
+-9
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-15
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-24
+-10
+0
+2
+4
+2
+-4
+-13
+-21
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-16
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-7
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+3
+2
+-4
+-13
+-22
+-27
+-27
+-13
+-4
+0
+0
+-1
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+-1
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+0
+0
+-4
+-13
+-21
+-27
+-16
+-11
+-7
+-7
+-10
+-17
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-8
+-4
+-4
+-6
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-3
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-23
+-10
+0
+3
+4
+1
+-3
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+0
+-5
+-15
+-22
+-28
+-27
+-14
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+0
+1
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-7
+-10
+-17
+-22
+-27
+-15
+-9
+-6
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+2
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-28
+-27
+-13
+-3
+0
+0
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-14
+-20
+-24
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-22
+-25
+-24
+-9
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-7
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-24
+-29
+-29
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-25
+-29
+-29
+-13
+-5
+0
+0
+-4
+-13
+-20
+-26
+-16
+-11
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-25
+-26
+-10
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-4
+-13
+-21
+-27
+-17
+-11
+-7
+-8
+-10
+-17
+-24
+-27
+-16
+-10
+-5
+-5
+-7
+-16
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-22
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-15
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-7
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-1
+3
+3
+2
+-4
+-12
+-22
+-26
+-27
+-13
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-27
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-16
+-11
+-7
+-8
+-10
+-17
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-6
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-25
+-25
+-9
+-1
+3
+2
+2
+-4
+-13
+-22
+-27
+-27
+-13
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-4
+-13
+-21
+-27
+-16
+-11
+-8
+-7
+-10
+-18
+-23
+-27
+-16
+-10
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-5
+-14
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-5
+-15
+-23
+-29
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-21
+-27
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-28
+-13
+-3
+0
+1
+-1
+-5
+-16
+-23
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-8
+-15
+-21
+-26
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-9
+-4
+-4
+-3
+-8
+-15
+-22
+-26
+-25
+-10
+-2
+3
+3
+1
+-5
+-13
+-22
+-27
+-27
+-12
+-5
+0
+1
+-1
+-7
+-14
+-24
+-28
+-28
+-12
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-27
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+1
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-14
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-4
+-13
+-21
+-27
+-17
+-11
+-8
+-7
+-9
+-17
+-23
+-27
+-16
+-10
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+1
+-4
+-13
+-22
+-26
+-27
+-12
+-4
+1
+1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-14
+-5
+0
+0
+-4
+-12
+-20
+-27
+-16
+-10
+-8
+-7
+-9
+-18
+-23
+-28
+-16
+-10
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-6
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-6
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-16
+-21
+-26
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-4
+-9
+-15
+-23
+-25
+-26
+-10
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-28
+-12
+-3
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-23
+-29
+-28
+-13
+-5
+0
+0
+-3
+-13
+-20
+-26
+-17
+-11
+-7
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-25
+-25
+-11
+-2
+3
+2
+2
+-5
+-14
+-22
+-27
+-27
+-12
+-4
+1
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+1
+0
+-6
+-15
+-24
+-27
+-29
+-13
+-4
+-1
+0
+-1
+-7
+-15
+-23
+-27
+-29
+-13
+-4
+-1
+0
+-4
+-13
+-21
+-27
+-16
+-11
+-7
+-7
+-10
+-17
+-23
+-28
+-16
+-10
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-21
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-5
+-1
+1
+-2
+-6
+-15
+-23
+-29
+-28
+-14
+-5
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-2
+-6
+-15
+-24
+-29
+-27
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-24
+-29
+-28
+-14
+-5
+-1
+0
+-2
+-6
+-15
+-23
+-28
+-27
+-14
+-5
+-1
+0
+-2
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-24
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-13
+-9
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-26
+-25
+-10
+-1
+3
+2
+2
+-4
+-13
+-22
+-27
+-27
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-27
+-12
+-4
+0
+0
+-1
+-7
+-16
+-24
+-28
+-29
+-13
+-4
+0
+-1
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-16
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-30
+-14
+-5
+0
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+-1
+-3
+-12
+-20
+-26
+-16
+-11
+-7
+-8
+-10
+-17
+-23
+-28
+-17
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+2
+2
+-4
+-13
+-22
+-27
+-27
+-12
+-4
+0
+0
+-1
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+0
+-1
+-6
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-14
+-5
+0
+-1
+-4
+-12
+-20
+-26
+-16
+-11
+-8
+-7
+-10
+-18
+-23
+-27
+-16
+-10
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-24
+-13
+-8
+-4
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+0
+-4
+-14
+-22
+-27
+-27
+-14
+-4
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-29
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-22
+-28
+-28
+-14
+-4
+-1
+0
+-2
+-7
+-16
+-23
+-29
+-28
+-13
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-9
+-16
+-23
+-26
+-15
+-9
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-15
+-9
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-12
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-29
+-29
+-13
+-5
+0
+0
+-1
+-7
+-15
+-23
+-28
+-28
+-13
+-6
+-1
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-5
+-13
+-21
+-27
+-17
+-11
+-7
+-8
+-10
+-17
+-24
+-28
+-16
+-10
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-20
+-25
+-15
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-23
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-16
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-24
+-10
+-1
+3
+4
+1
+-4
+-14
+-22
+-27
+-27
+-14
+-4
+0
+1
+-1
+-5
+-15
+-22
+-27
+-26
+-13
+-3
+0
+0
+-1
+-6
+-16
+-24
+-29
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-29
+-27
+-14
+-4
+-1
+0
+-1
+-5
+-15
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-4
+-5
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-25
+-25
+-10
+-2
+3
+3
+2
+-5
+-13
+-22
+-26
+-27
+-12
+-4
+0
+0
+0
+-7
+-14
+-23
+-27
+-28
+-12
+-4
+0
+0
+-1
+-7
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-14
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-4
+-13
+-20
+-26
+-16
+-11
+-8
+-8
+-10
+-17
+-24
+-28
+-16
+-10
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-4
+-9
+-16
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-4
+-14
+-22
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-23
+-27
+-28
+-12
+-4
+0
+0
+-1
+-7
+-16
+-24
+-28
+-28
+-13
+-4
+-1
+0
+-4
+-12
+-21
+-26
+-16
+-12
+-8
+-7
+-10
+-17
+-23
+-28
+-16
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-6
+-14
+-21
+-25
+-15
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+0
+-5
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-15
+-24
+-29
+-18
+-12
+-8
+-7
+-9
+-17
+-22
+-26
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-5
+-14
+-21
+-27
+-26
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-27
+-13
+-3
+0
+2
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-29
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-15
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-25
+-25
+-9
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-12
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+1
+-4
+-12
+-20
+-27
+-16
+-11
+-8
+-8
+-10
+-17
+-24
+-27
+-16
+-10
+-5
+-5
+-7
+-16
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-25
+-25
+-10
+-1
+3
+2
+2
+-4
+-13
+-23
+-27
+-27
+-13
+-5
+0
+0
+0
+-6
+-15
+-23
+-27
+-27
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-4
+-1
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-8
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-1
+-8
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+0
+-1
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-4
+-13
+-20
+-27
+-17
+-11
+-7
+-7
+-10
+-17
+-24
+-27
+-16
+-10
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+2
+2
+2
+-4
+-13
+-22
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+-1
+-1
+-4
+-13
+-20
+-26
+-16
+-11
+-8
+-7
+-10
+-17
+-24
+-28
+-16
+-9
+-6
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-5
+-14
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-15
+-24
+-29
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-29
+-18
+-13
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-15
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-26
+-24
+-10
+0
+3
+4
+2
+-4
+-14
+-21
+-28
+-27
+-13
+-4
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+-1
+0
+-2
+-7
+-15
+-23
+-29
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-9
+-8
+-10
+-17
+-22
+-26
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-22
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-24
+-14
+-8
+-4
+-4
+-4
+-8
+-16
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-4
+-13
+-22
+-26
+-27
+-13
+-4
+1
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-5
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-3
+-13
+-20
+-27
+-16
+-11
+-8
+-8
+-10
+-18
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-4
+-9
+-15
+-23
+-25
+-25
+-10
+-2
+3
+3
+1
+-5
+-13
+-23
+-27
+-27
+-12
+-4
+0
+1
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-3
+-13
+-21
+-26
+-16
+-11
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-21
+-27
+-26
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+0
+-5
+-16
+-23
+-28
+-27
+-13
+-4
+0
+0
+-1
+-6
+-15
+-22
+-28
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-17
+-11
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-15
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-27
+-26
+-13
+-3
+0
+0
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-5
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-22
+-28
+-28
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-28
+-14
+-5
+-2
+0
+-1
+-7
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-7
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-9
+-17
+-23
+-26
+-15
+-9
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-3
+-9
+-15
+-22
+-25
+-25
+-9
+-1
+3
+3
+2
+-4
+-13
+-22
+-27
+-27
+-12
+-4
+0
+1
+0
+-7
+-14
+-23
+-27
+-27
+-12
+-5
+0
+0
+0
+-7
+-14
+-23
+-28
+-28
+-12
+-4
+0
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-5
+0
+0
+-3
+-12
+-20
+-26
+-16
+-11
+-8
+-7
+-10
+-18
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-23
+-11
+-1
+3
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-3
+0
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-4
+0
+1
+-1
+-5
+-16
+-23
+-28
+-18
+-12
+-8
+-7
+-10
+-17
+-22
+-27
+-15
+-9
+-6
+-5
+-7
+-16
+-22
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-23
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+2
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-2
+-6
+-15
+-23
+-28
+-18
+-12
+-8
+-7
+-9
+-17
+-22
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-16
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-14
+-20
+-24
+-13
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-22
+-25
+-24
+-10
+-1
+3
+2
+1
+-4
+-14
+-23
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+-1
+-1
+-7
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-12
+-4
+0
+0
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-23
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-5
+0
+1
+-3
+-12
+-20
+-26
+-16
+-10
+-7
+-8
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-24
+-10
+0
+2
+4
+1
+-4
+-13
+-21
+-27
+-26
+-12
+-4
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-14
+-5
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-13
+-9
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-24
+-10
+0
+2
+4
+1
+-4
+-14
+-21
+-27
+-27
+-13
+-3
+-1
+1
+0
+-5
+-14
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-7
+-16
+-23
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-7
+-16
+-23
+-29
+-28
+-14
+-4
+0
+1
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-9
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-15
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-3
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+2
+-4
+-13
+-22
+-27
+-28
+-13
+-4
+0
+0
+-1
+-6
+-14
+-23
+-27
+-27
+-13
+-4
+0
+0
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-16
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+-1
+-1
+-4
+-13
+-21
+-27
+-16
+-11
+-8
+-7
+-10
+-18
+-23
+-27
+-17
+-10
+-5
+-5
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-26
+-25
+-10
+-1
+3
+3
+1
+-4
+-13
+-22
+-26
+-27
+-12
+-4
+0
+0
+-1
+-7
+-14
+-23
+-27
+-27
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+-3
+-12
+-21
+-26
+-16
+-11
+-8
+-8
+-10
+-18
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-20
+-25
+-24
+-10
+0
+3
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+-1
+1
+0
+-5
+-14
+-22
+-27
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-18
+-12
+-8
+-7
+-9
+-17
+-23
+-26
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-3
+-8
+-15
+-22
+-25
+-25
+-10
+-2
+2
+3
+2
+-5
+-13
+-22
+-26
+-27
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-12
+-4
+0
+1
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-4
+-13
+-20
+-26
+-16
+-10
+-7
+-8
+-10
+-17
+-23
+-27
+-16
+-10
+-6
+-5
+-7
+-15
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-16
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-4
+-13
+-22
+-27
+-28
+-12
+-4
+0
+0
+-1
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-28
+-29
+-13
+-5
+0
+0
+-3
+-13
+-20
+-26
+-16
+-10
+-7
+-7
+-10
+-17
+-23
+-28
+-16
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+-1
+2
+4
+1
+-4
+-13
+-22
+-28
+-26
+-13
+-4
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-17
+-13
+-8
+-8
+-10
+-17
+-22
+-26
+-15
+-8
+-5
+-5
+-7
+-14
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-15
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-23
+-9
+-1
+2
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-17
+-12
+-8
+-7
+-9
+-17
+-23
+-27
+-15
+-9
+-5
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-5
+-4
+-8
+-15
+-22
+-25
+-25
+-10
+-1
+3
+3
+2
+-4
+-14
+-22
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+-1
+0
+-1
+-7
+-15
+-23
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+0
+0
+-1
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+0
+-7
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+0
+-3
+-13
+-20
+-26
+-16
+-11
+-8
+-8
+-10
+-17
+-24
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-24
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-16
+-23
+-25
+-25
+-9
+-1
+3
+3
+2
+-4
+-13
+-22
+-27
+-28
+-12
+-4
+1
+1
+0
+-5
+-14
+-23
+-27
+-28
+-13
+-4
+0
+-1
+-1
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+1
+0
+-3
+-12
+-21
+-26
+-16
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-23
+-9
+0
+3
+4
+1
+-4
+-14
+-21
+-27
+-26
+-12
+-4
+0
+1
+0
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-2
+-6
+-16
+-24
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-8
+-8
+-9
+-16
+-22
+-26
+-15
+-9
+-5
+-4
+-8
+-15
+-20
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-7
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+3
+2
+-4
+-12
+-23
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+1
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+1
+-1
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-4
+-12
+-20
+-27
+-16
+-10
+-7
+-8
+-10
+-18
+-24
+-28
+-16
+-10
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-4
+-10
+-16
+-23
+-26
+-25
+-9
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-5
+0
+0
+-1
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+1
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-17
+-11
+-7
+-7
+-9
+-17
+-22
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+0
+3
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-14
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-3
+0
+0
+-1
+-6
+-16
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-22
+-25
+-25
+-9
+-1
+3
+2
+2
+-4
+-13
+-22
+-26
+-28
+-12
+-3
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+-1
+0
+0
+-7
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+-1
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+1
+1
+-3
+-12
+-20
+-27
+-16
+-11
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-22
+-25
+-25
+-10
+-1
+3
+3
+2
+-5
+-14
+-22
+-26
+-27
+-12
+-3
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+1
+0
+-7
+-15
+-23
+-28
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+0
+-3
+-13
+-21
+-26
+-17
+-11
+-7
+-7
+-10
+-17
+-23
+-28
+-16
+-9
+-6
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-8
+-15
+-21
+-26
+-15
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-24
+-10
+0
+2
+4
+2
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+-1
+1
+0
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-7
+-16
+-23
+-29
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-13
+-4
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-13
+-5
+-1
+1
+-1
+-5
+-15
+-23
+-29
+-17
+-12
+-9
+-8
+-10
+-18
+-23
+-27
+-15
+-8
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-3
+-6
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-4
+-9
+-16
+-23
+-26
+-25
+-10
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-11
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+1
+-1
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-12
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-27
+-27
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+1
+0
+-3
+-12
+-21
+-26
+-16
+-12
+-8
+-8
+-10
+-18
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-23
+-9
+0
+2
+3
+1
+-4
+-14
+-21
+-27
+-27
+-12
+-3
+0
+2
+0
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-22
+-29
+-27
+-13
+-4
+-1
+0
+-2
+-7
+-16
+-23
+-29
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-18
+-12
+-8
+-8
+-9
+-17
+-22
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-24
+-13
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-6
+-14
+-20
+-24
+-23
+-9
+-1
+2
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-16
+-23
+-28
+-27
+-13
+-3
+0
+1
+0
+-5
+-15
+-22
+-28
+-28
+-14
+-4
+0
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-9
+-16
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-15
+-9
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-9
+-2
+3
+3
+1
+-4
+-13
+-22
+-26
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+1
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+0
+-4
+-13
+-20
+-27
+-17
+-11
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-26
+-25
+-10
+-2
+2
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-12
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+-1
+-4
+-13
+-20
+-26
+-17
+-11
+-7
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-23
+-10
+-1
+3
+3
+1
+-3
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-26
+-13
+-3
+0
+1
+-1
+-5
+-16
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-16
+-23
+-28
+-28
+-14
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-18
+-12
+-8
+-8
+-10
+-17
+-22
+-26
+-15
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-25
+-24
+-10
+0
+3
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-5
+-14
+-23
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-17
+-12
+-8
+-7
+-10
+-17
+-22
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+2
+1
+-4
+-13
+-22
+-26
+-27
+-13
+-4
+1
+1
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-15
+-11
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-6
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-7
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+3
+2
+-4
+-13
+-22
+-26
+-27
+-12
+-3
+1
+1
+0
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+0
+1
+0
+-7
+-14
+-23
+-27
+-28
+-13
+-4
+-1
+0
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-14
+-24
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-4
+1
+1
+0
+-7
+-15
+-23
+-28
+-29
+-13
+-6
+-1
+0
+-1
+-7
+-15
+-23
+-28
+-28
+-13
+-5
+0
+1
+-1
+-7
+-15
+-23
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-25
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-14
+-5
+0
+0
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+-1
+0
+-2
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+1
+-1
+-6
+-15
+-24
+-29
+-28
+-13
+-5
+0
+0
+-3
+-12
+-20
+-27
+-16
+-11
+-8
+-8
+-10
+-18
+-24
+-27
+-15
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-4
+-9
+-15
+-22
+-26
+-25
+-9
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-5
+0
+1
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-23
+-27
+-28
+-12
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-12
+-4
+0
+0
+-3
+-12
+-20
+-27
+-17
+-11
+-7
+-8
+-10
+-17
+-23
+-28
+-16
+-9
+-6
+-5
+-7
+-16
+-22
+-26
+-15
+-9
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-23
+-10
+-1
+3
+3
+1
+-4
+-14
+-22
+-27
+-26
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-3
+0
+1
+-1
+-5
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-17
+-11
+-7
+-8
+-9
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-26
+-13
+-3
+0
+1
+-1
+-5
+-14
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-29
+-27
+-14
+-4
+-1
+0
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-25
+-25
+-10
+-2
+3
+2
+2
+-4
+-14
+-22
+-26
+-27
+-12
+-3
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+-1
+0
+0
+-7
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+-3
+-13
+-20
+-26
+-16
+-11
+-7
+-8
+-10
+-17
+-23
+-28
+-16
+-10
+-6
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-25
+-26
+-10
+-2
+3
+3
+2
+-4
+-13
+-22
+-26
+-27
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+0
+0
+-4
+-12
+-21
+-26
+-16
+-11
+-8
+-7
+-11
+-18
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-23
+-10
+-1
+3
+4
+1
+-4
+-13
+-21
+-28
+-27
+-13
+-3
+0
+2
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-9
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-24
+-9
+0
+2
+3
+1
+-4
+-14
+-21
+-28
+-27
+-13
+-3
+1
+2
+0
+-6
+-15
+-22
+-29
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-29
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-2
+-6
+-16
+-23
+-29
+-27
+-13
+-5
+-1
+0
+-2
+-7
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-28
+-18
+-12
+-9
+-8
+-10
+-17
+-23
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-24
+-13
+-7
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-7
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-25
+-24
+-9
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+1
+-1
+-7
+-15
+-24
+-27
+-28
+-12
+-5
+0
+1
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+0
+0
+-4
+-12
+-20
+-27
+-16
+-11
+-7
+-7
+-9
+-18
+-23
+-27
+-16
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-13
+-21
+-27
+-27
+-13
+-3
+0
+1
+0
+-6
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-14
+-3
+-1
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-18
+-12
+-8
+-8
+-10
+-17
+-24
+-27
+-16
+-10
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+0
+3
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-28
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-9
+-8
+-10
+-17
+-23
+-27
+-15
+-8
+-5
+-4
+-7
+-14
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-3
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+2
+-4
+-13
+-22
+-27
+-28
+-12
+-5
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-12
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+1
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+1
+1
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-4
+-13
+-20
+-27
+-16
+-11
+-8
+-7
+-10
+-17
+-23
+-27
+-16
+-10
+-6
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-22
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-7
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-23
+-10
+-1
+2
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+0
+2
+-1
+-5
+-14
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-15
+-23
+-29
+-27
+-13
+-4
+0
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-7
+-10
+-17
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-15
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+-1
+2
+3
+1
+-4
+-13
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-29
+-27
+-13
+-5
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-27
+-13
+-4
+0
+1
+-2
+-6
+-16
+-23
+-28
+-17
+-12
+-8
+-8
+-9
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-16
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-22
+-25
+-25
+-10
+-2
+3
+2
+2
+-4
+-13
+-22
+-26
+-27
+-12
+-3
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+1
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-4
+-1
+0
+0
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+0
+0
+-7
+-15
+-23
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-4
+0
+0
+-3
+-13
+-20
+-26
+-17
+-11
+-8
+-8
+-10
+-18
+-24
+-28
+-16
+-10
+-6
+-5
+-8
+-16
+-22
+-26
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-5
+-4
+-8
+-16
+-22
+-25
+-25
+-9
+-1
+2
+2
+1
+-5
+-14
+-22
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-15
+-23
+-28
+-28
+-12
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-5
+0
+-1
+0
+-6
+-14
+-23
+-28
+-29
+-13
+-4
+0
+0
+-3
+-12
+-21
+-26
+-16
+-11
+-7
+-7
+-11
+-18
+-23
+-28
+-16
+-10
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-24
+-10
+-1
+2
+3
+0
+-4
+-14
+-22
+-28
+-26
+-13
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+2
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-5
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-7
+-10
+-18
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-6
+-5
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-1
+3
+3
+2
+-4
+-13
+-23
+-27
+-28
+-13
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-28
+-12
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+1
+-3
+-12
+-20
+-27
+-16
+-11
+-9
+-8
+-10
+-18
+-24
+-28
+-16
+-10
+-5
+-5
+-8
+-15
+-21
+-26
+-15
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-3
+-9
+-15
+-22
+-25
+-25
+-10
+-2
+3
+2
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+-1
+-6
+-14
+-24
+-28
+-28
+-12
+-5
+0
+1
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-17
+-11
+-7
+-8
+-10
+-17
+-23
+-27
+-16
+-10
+-6
+-5
+-7
+-16
+-21
+-25
+-15
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-16
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-28
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-9
+-16
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-16
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-24
+-10
+-1
+2
+4
+1
+-4
+-13
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-14
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-16
+-24
+-28
+-27
+-14
+-4
+0
+0
+-1
+-5
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-5
+-15
+-23
+-28
+-17
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-9
+-16
+-23
+-26
+-26
+-10
+-1
+3
+3
+2
+-4
+-13
+-22
+-26
+-28
+-12
+-4
+0
+0
+-1
+-7
+-14
+-23
+-27
+-28
+-12
+-4
+0
+1
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-14
+-23
+-29
+-29
+-13
+-5
+0
+0
+0
+-7
+-14
+-24
+-28
+-28
+-13
+-5
+-1
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-5
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-4
+-13
+-20
+-27
+-16
+-10
+-8
+-7
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-5
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-3
+-8
+-15
+-22
+-26
+-26
+-10
+-1
+2
+2
+2
+-5
+-13
+-22
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-4
+0
+1
+0
+-7
+-14
+-23
+-28
+-28
+-12
+-5
+0
+1
+0
+-7
+-15
+-24
+-29
+-29
+-13
+-5
+0
+0
+-3
+-13
+-20
+-26
+-16
+-11
+-7
+-8
+-10
+-17
+-23
+-27
+-16
+-10
+-6
+-5
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-5
+-14
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+0
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-22
+-26
+-14
+-8
+-5
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-15
+-8
+-4
+-4
+-6
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-24
+-10
+-2
+3
+2
+1
+-5
+-13
+-23
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+1
+0
+0
+-6
+-15
+-23
+-28
+-29
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-4
+-13
+-21
+-26
+-16
+-12
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-10
+-6
+-5
+-7
+-15
+-22
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-4
+-9
+-16
+-23
+-26
+-25
+-10
+-2
+3
+3
+1
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+1
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-4
+-12
+-20
+-26
+-16
+-10
+-8
+-7
+-9
+-17
+-23
+-28
+-17
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+0
+2
+4
+1
+-4
+-14
+-21
+-27
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-7
+-16
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-5
+-1
+0
+-2
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-18
+-23
+-27
+-16
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-20
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-26
+-25
+-9
+-1
+3
+3
+1
+-4
+-13
+-22
+-27
+-28
+-12
+-5
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-14
+-5
+-1
+-1
+-4
+-13
+-20
+-27
+-16
+-11
+-8
+-8
+-10
+-18
+-24
+-28
+-16
+-10
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-9
+-15
+-23
+-26
+-25
+-9
+-2
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-5
+0
+0
+-1
+-7
+-15
+-25
+-28
+-28
+-13
+-4
+1
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-3
+-13
+-20
+-26
+-17
+-11
+-8
+-8
+-10
+-18
+-24
+-28
+-16
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-13
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-13
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-29
+-27
+-13
+-4
+0
+1
+-2
+-6
+-16
+-23
+-29
+-28
+-14
+-5
+-1
+0
+-2
+-6
+-15
+-24
+-29
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-16
+-23
+-29
+-28
+-15
+-4
+-1
+1
+-2
+-6
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+0
+0
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-4
+-8
+-15
+-23
+-26
+-25
+-10
+-2
+3
+2
+2
+-4
+-13
+-22
+-27
+-27
+-13
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-1
+-6
+-15
+-23
+-27
+-29
+-13
+-4
+-1
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-14
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+-1
+-4
+-13
+-21
+-27
+-16
+-11
+-7
+-7
+-10
+-18
+-23
+-27
+-16
+-10
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-8
+-5
+-4
+-7
+-16
+-22
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-20
+-26
+-24
+-10
+-1
+2
+4
+1
+-4
+-14
+-21
+-28
+-27
+-13
+-4
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+0
+1
+-2
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-15
+-24
+-29
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-29
+-18
+-12
+-9
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-16
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-15
+-21
+-26
+-24
+-10
+0
+2
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-16
+-23
+-29
+-27
+-13
+-5
+-1
+1
+-1
+-6
+-15
+-24
+-29
+-18
+-12
+-9
+-8
+-10
+-17
+-23
+-26
+-15
+-9
+-4
+-5
+-7
+-14
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-24
+-26
+-25
+-10
+-2
+3
+2
+2
+-5
+-13
+-22
+-27
+-28
+-13
+-4
+0
+1
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-23
+-27
+-28
+-13
+-4
+0
+-1
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+0
+-1
+-3
+-12
+-21
+-26
+-16
+-11
+-8
+-8
+-11
+-18
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-4
+-9
+-16
+-23
+-26
+-25
+-9
+-2
+3
+3
+1
+-5
+-14
+-23
+-27
+-27
+-12
+-4
+0
+1
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+0
+0
+-3
+-12
+-21
+-27
+-17
+-11
+-8
+-8
+-10
+-18
+-23
+-27
+-16
+-10
+-6
+-5
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-5
+-14
+-22
+-28
+-27
+-12
+-3
+0
+2
+0
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-4
+-2
+0
+-1
+-6
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-11
+-6
+-5
+-8
+-15
+-21
+-26
+-15
+-8
+-5
+-5
+-7
+-15
+-22
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-8
+-7
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-1
+2
+3
+1
+-5
+-14
+-22
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-27
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+0
+-3
+-13
+-21
+-26
+-16
+-11
+-8
+-8
+-10
+-17
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-25
+-13
+-7
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-24
+-13
+-8
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-13
+-8
+-4
+-3
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-9
+-5
+-4
+-4
+-9
+-16
+-23
+-26
+-25
+-9
+-2
+3
+3
+1
+-5
+-13
+-22
+-27
+-28
+-12
+-4
+0
+1
+-1
+-6
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-12
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-14
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-16
+-24
+-28
+-29
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+0
+-3
+-12
+-21
+-26
+-16
+-11
+-7
+-7
+-11
+-17
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+1
+-4
+-13
+-22
+-27
+-27
+-12
+-5
+0
+1
+-1
+-6
+-14
+-24
+-27
+-27
+-13
+-4
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+1
+0
+0
+-6
+-14
+-24
+-28
+-28
+-13
+-5
+0
+0
+-3
+-12
+-21
+-26
+-16
+-11
+-8
+-7
+-10
+-18
+-24
+-28
+-17
+-10
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-8
+-15
+-21
+-25
+-24
+-9
+0
+2
+4
+1
+-4
+-13
+-21
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-23
+-10
+0
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-7
+-16
+-23
+-29
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-22
+-27
+-15
+-9
+-6
+-5
+-7
+-16
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-24
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-15
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+1
+-4
+-13
+-22
+-27
+-28
+-12
+-4
+1
+0
+-1
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-6
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-3
+-13
+-20
+-27
+-17
+-11
+-8
+-8
+-10
+-18
+-23
+-27
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-26
+-14
+-8
+-5
+-5
+-4
+-9
+-15
+-22
+-25
+-25
+-9
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+1
+0
+-7
+-15
+-23
+-28
+-28
+-13
+-5
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+0
+-7
+-14
+-23
+-27
+-28
+-13
+-5
+0
+0
+-4
+-13
+-20
+-26
+-17
+-11
+-8
+-8
+-10
+-17
+-24
+-28
+-16
+-10
+-5
+-5
+-8
+-16
+-21
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-15
+-20
+-25
+-15
+-8
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-23
+-10
+-1
+2
+3
+0
+-4
+-14
+-22
+-27
+-26
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-15
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+-1
+3
+3
+1
+-4
+-14
+-21
+-27
+-26
+-13
+-4
+0
+1
+-1
+-5
+-15
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-28
+-14
+-4
+-1
+1
+-2
+-6
+-15
+-23
+-29
+-28
+-14
+-4
+-1
+0
+-2
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-28
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-7
+-10
+-17
+-22
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-24
+-13
+-7
+-3
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-1
+3
+3
+2
+-4
+-13
+-22
+-27
+-27
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-27
+-12
+-4
+0
+0
+0
+-6
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-3
+-13
+-20
+-26
+-16
+-11
+-8
+-8
+-10
+-18
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-24
+-10
+-1
+2
+4
+1
+-4
+-14
+-21
+-28
+-27
+-13
+-4
+0
+1
+0
+-5
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-2
+-6
+-16
+-23
+-29
+-17
+-12
+-8
+-7
+-9
+-17
+-22
+-26
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-24
+-10
+-1
+2
+3
+1
+-4
+-14
+-21
+-27
+-27
+-13
+-3
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-2
+-7
+-16
+-23
+-29
+-17
+-11
+-8
+-8
+-10
+-17
+-23
+-27
+-16
+-10
+-5
+-5
+-8
+-15
+-21
+-25
+-15
+-8
+-5
+-5
+-7
+-15
+-22
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-14
+-21
+-25
+-13
+-7
+-4
+-4
+-6
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-4
+-8
+-15
+-22
+-25
+-24
+-9
+-1
+3
+2
+1
+-5
+-13
+-22
+-26
+-27
+-12
+-3
+1
+1
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-16
+-24
+-28
+-29
+-13
+-4
+0
+-1
+-1
+-6
+-15
+-23
+-28
+-29
+-13
+-5
+-1
+-1
+-1
+-7
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-29
+-13
+-4
+0
+0
+-3
+-12
+-21
+-26
+-16
+-12
+-8
+-8
+-11
+-18
+-23
+-28
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-5
+-5
+-7
+-15
+-22
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-20
+-25
+-24
+-10
+-1
+3
+4
+1
+-3
+-14
+-21
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-22
+-28
+-27
+-13
+-3
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-7
+-16
+-23
+-29
+-28
+-14
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-23
+-10
+0
+3
+4
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-4
+0
+0
+-1
+-5
+-15
+-22
+-28
+-27
+-14
+-4
+0
+0
+-1
+-5
+-16
+-23
+-28
+-27
+-13
+-3
+0
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-29
+-18
+-12
+-8
+-7
+-10
+-16
+-22
+-27
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-16
+-23
+-25
+-26
+-10
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-28
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-14
+-23
+-27
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-6
+-1
+0
+-1
+-7
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-14
+-5
+0
+-1
+-4
+-12
+-20
+-26
+-16
+-11
+-8
+-8
+-10
+-18
+-24
+-27
+-17
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-3
+-9
+-16
+-23
+-25
+-25
+-9
+-1
+3
+3
+2
+-5
+-13
+-22
+-27
+-28
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-12
+-5
+0
+0
+-1
+-7
+-15
+-24
+-29
+-28
+-13
+-5
+0
+1
+-3
+-12
+-19
+-26
+-16
+-10
+-7
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-15
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-5
+-7
+-15
+-21
+-25
+-24
+-10
+-1
+3
+4
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+2
+0
+-5
+-14
+-22
+-28
+-27
+-14
+-3
+-1
+0
+-1
+-6
+-15
+-22
+-28
+-27
+-14
+-4
+-1
+0
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-3
+0
+1
+-1
+-6
+-16
+-23
+-28
+-18
+-12
+-8
+-8
+-9
+-17
+-22
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-9
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-25
+-13
+-8
+-4
+-3
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-23
+-25
+-25
+-10
+-2
+3
+2
+2
+-4
+-13
+-22
+-27
+-27
+-12
+-4
+1
+0
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-28
+-28
+-13
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-29
+-13
+-5
+-1
+-1
+-3
+-13
+-20
+-26
+-16
+-11
+-7
+-7
+-10
+-17
+-23
+-28
+-16
+-10
+-5
+-5
+-7
+-15
+-21
+-25
+-14
+-9
+-5
+-4
+-8
+-15
+-21
+-25
+-15
+-8
+-5
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-26
+-25
+-10
+-2
+3
+3
+2
+-4
+-12
+-22
+-27
+-27
+-12
+-4
+0
+1
+0
+-6
+-14
+-23
+-27
+-27
+-13
+-4
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-3
+-12
+-20
+-26
+-16
+-11
+-7
+-8
+-10
+-17
+-23
+-27
+-16
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-15
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-8
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-6
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-20
+-25
+-23
+-10
+-1
+2
+4
+1
+-4
+-14
+-21
+-28
+-27
+-12
+-3
+0
+2
+0
+-5
+-14
+-22
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-6
+-15
+-22
+-28
+-27
+-13
+-3
+0
+1
+-1
+-7
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-29
+-18
+-12
+-8
+-7
+-9
+-17
+-22
+-26
+-15
+-9
+-5
+-4
+-8
+-15
+-21
+-26
+-14
+-8
+-5
+-5
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-24
+-10
+0
+3
+3
+1
+-4
+-14
+-22
+-27
+-27
+-13
+-3
+0
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+0
+-1
+-7
+-16
+-23
+-29
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-23
+-28
+-17
+-12
+-8
+-7
+-10
+-17
+-22
+-27
+-15
+-9
+-6
+-5
+-7
+-16
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-21
+-26
+-14
+-8
+-5
+-4
+-6
+-14
+-20
+-24
+-13
+-8
+-4
+-4
+-7
+-14
+-21
+-26
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-24
+-13
+-8
+-4
+-4
+-4
+-9
+-15
+-23
+-25
+-24
+-9
+-1
+3
+3
+1
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-27
+-12
+-4
+0
+0
+-1
+-6
+-14
+-24
+-27
+-28
+-13
+-5
+0
+0
+-1
+-7
+-14
+-24
+-28
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-6
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+0
+-6
+-14
+-23
+-27
+-28
+-14
+-5
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-4
+0
+0
+-1
+-7
+-15
+-24
+-28
+-28
+-13
+-5
+0
+0
+-3
+-12
+-20
+-26
+-15
+-11
+-8
+-7
+-9
+-17
+-23
+-27
+-16
+-9
+-5
+-5
+-7
+-15
+-21
+-26
+-15
+-9
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-4
+-9
+-15
+-22
+-25
+-24
+-9
+-2
+3
+3
+1
+-4
+-13
+-23
+-27
+-27
+-12
+-4
+1
+1
+0
+-6
+-14
+-23
+-27
+-27
+-13
+-5
+0
+0
+0
+-6
+-14
+-24
+-27
+-28
+-13
+-4
+0
+-1
+-1
+-7
+-15
+-23
+-27
+-28
+-12
+-4
+0
+0
+-3
+-13
+-20
+-27
+-17
+-11
+-8
+-7
+-9
+-17
+-23
+-27
+-15
+-10
+-5
+-5
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-20
+-24
+-24
+-10
+0
+2
+3
+1
+-4
+-14
+-22
+-28
+-27
+-13
+-3
+0
+1
+0
+-5
+-15
+-23
+-28
+-28
+-13
+-3
+-1
+1
+-1
+-5
+-15
+-23
+-28
+-28
+-13
+-4
+-1
+1
+-1
+-6
+-16
+-23
+-28
+-27
+-13
+-4
+-1
+1
+-1
+-6
+-15
+-22
+-29
+-17
+-12
+-8
+-8
+-10
+-17
+-23
+-27
+-15
+-10
+-5
+-5
+-8
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-5
+-4
+-7
+-14
+-20
+-25
+-13
+-8
+-4
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-21
+-25
+-14
+-9
+-5
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-6
+-14
+-20
+-24
+-14
+-8
+-4
+-4
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-3
+-6
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-5
+-4
+-3
+-8
+-15
+-23
+-25
+-25
+-10
+-1
+3
+3
+3
+-5
+-13
+-22
+-27
+-27
+-12
+-4
+0
+0
+0
+-6
+-14
+-22
+-27
+-27
+-12
+-4
+0
+0
+0
+-7
+-15
+-24
+-28
+-28
+-12
+-5
+0
+1
+0
+-6
+-14
+-23
+-28
+-28
+-13
+-5
+0
+0
+-3
+-13
+-20
+-26
+-16
+-11
+-8
+-7
+-11
+-17
+-23
+-27
+-15
+-9
+-5
+-5
+-7
+-15
+-22
+-26
+-14
+-9
+-5
+-4
+-7
+-15
+-20
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-14
+-8
+-4
+-4
+-4
+-8
+-15
+-22
+-25
+-25
+-10
+-1
+3
+2
+2
+-4
+-13
+-23
+-27
+-27
+-12
+-4
+0
+0
+0
+-6
+-14
+-23
+-27
+-28
+-13
+-4
+0
+0
+0
+-6
+-15
+-23
+-27
+-28
+-12
+-4
+-1
+0
+-1
+-7
+-15
+-24
+-27
+-28
+-13
+-4
+0
+0
+-3
+-13
+-21
+-26
+-17
+-11
+-7
+-7
+-10
+-17
+-23
+-27
+-16
+-9
+-6
+-5
+-7
+-15
+-21
+-25
+-14
+-8
+-4
+-4
+-7
+-14
+-20
+-25
+-15
+-9
+-4
+-4
+-7
+-14
diff --git a/traces/Paradox-96_40426-APJN08.pm3 b/traces/Paradox-96_40426-APJN08.pm3
new file mode 100644 (file)
index 0000000..c24bee3
--- /dev/null
@@ -0,0 +1,16000 @@
+-4
+-41
+-72
+-98
+-46
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-42
+-72
+-98
+-120
+-85
+34
+78
+75
+26
+-16
+-51
+-80
+-104
+-125
+-80
+41
+86
+84
+33
+-10
+-46
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-116
+-67
+52
+97
+96
+44
+-1
+-38
+-69
+-94
+-116
+-67
+53
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+53
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-27
+-60
+-88
+-30
+80
+109
+54
+7
+-31
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-38
+-68
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-46
+64
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+78
+27
+-15
+-50
+-80
+-104
+-125
+-91
+29
+72
+72
+23
+-19
+-53
+-82
+-106
+-126
+-81
+39
+83
+84
+32
+-11
+-46
+-76
+-101
+-121
+-74
+46
+90
+89
+37
+-6
+-42
+-73
+-98
+-119
+-71
+50
+94
+93
+40
+-3
+-40
+-71
+-96
+-118
+-69
+52
+96
+95
+42
+-2
+-39
+-69
+-95
+-117
+-67
+53
+98
+97
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+121
+64
+17
+-23
+-57
+-85
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+101
+47
+1
+-36
+-68
+-94
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+42
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+78
+27
+-15
+-50
+-79
+-103
+-124
+-79
+41
+86
+86
+35
+-9
+-45
+-75
+-99
+-120
+-73
+47
+92
+92
+40
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-65
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+78
+27
+-15
+-51
+-80
+-104
+-125
+-90
+29
+73
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+40
+85
+85
+33
+-10
+-46
+-75
+-100
+-121
+-74
+47
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+93
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-22
+90
+120
+63
+15
+-24
+-58
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-34
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+80
+29
+-13
+-49
+-79
+-103
+-124
+-89
+31
+75
+74
+24
+-17
+-52
+-81
+-105
+-125
+-79
+41
+86
+85
+33
+-10
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-119
+-69
+50
+95
+94
+42
+-2
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-67
+53
+97
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+53
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+45
+1
+-36
+-67
+-94
+-20
+92
+121
+64
+17
+-23
+-57
+-85
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+50
+4
+-34
+-65
+-93
+-38
+72
+101
+47
+1
+-36
+-68
+-94
+-40
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-39
+-71
+-97
+-44
+66
+95
+41
+-3
+-40
+-71
+-97
+-45
+66
+94
+41
+-3
+-41
+-71
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-119
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-124
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+46
+91
+90
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+93
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-116
+-67
+53
+98
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+99
+97
+44
+-1
+-38
+-68
+-94
+-116
+-65
+55
+99
+97
+45
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+45
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-27
+-60
+-88
+-30
+80
+109
+53
+7
+-31
+-63
+-90
+-35
+74
+103
+49
+3
+-35
+-67
+-93
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-45
+66
+95
+79
+28
+-14
+-50
+-79
+-104
+-125
+-90
+30
+75
+74
+24
+-18
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-73
+46
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-95
+-22
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+84
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+42
+-2
+-40
+-71
+-97
+-44
+66
+95
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-3
+-41
+-72
+-97
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+63
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-42
+-72
+-98
+-46
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-73
+-99
+-46
+64
+93
+40
+-5
+-42
+-72
+-98
+-46
+63
+92
+39
+-5
+-42
+-73
+-99
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+63
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-47
+64
+93
+40
+-5
+-42
+-73
+-98
+-46
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+64
+93
+78
+27
+-15
+-51
+-80
+-104
+-125
+-91
+29
+74
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+40
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+49
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+96
+43
+-1
+-39
+-69
+-95
+-116
+-67
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+54
+97
+97
+44
+0
+-38
+-69
+-94
+-116
+-65
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+99
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+1
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+45
+1
+-37
+-68
+-94
+-20
+92
+121
+64
+16
+-23
+-57
+-85
+-26
+83
+112
+56
+10
+-29
+-62
+-89
+-33
+77
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+42
+87
+86
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+95
+42
+-2
+-39
+-70
+-95
+-117
+-68
+52
+97
+96
+43
+-2
+-38
+-69
+-95
+-26
+84
+113
+57
+11
+-29
+-61
+-88
+-31
+79
+107
+53
+6
+-32
+-64
+-91
+-36
+73
+102
+48
+2
+-35
+-67
+-94
+-39
+70
+99
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-25
+85
+113
+58
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+7
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+97
+43
+-2
+-39
+-70
+-97
+-43
+66
+95
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+79
+28
+-14
+-50
+-79
+-104
+-124
+-90
+30
+74
+74
+24
+-17
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+46
+91
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+43
+-1
+-38
+-69
+-95
+-22
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-34
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+80
+30
+-13
+-49
+-78
+-103
+-124
+-89
+31
+74
+75
+25
+-17
+-52
+-81
+-105
+-125
+-79
+40
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+96
+44
+-1
+-38
+-68
+-94
+-22
+90
+120
+64
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-90
+-34
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-39
+-71
+-96
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+42
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-2
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+79
+108
+53
+6
+-32
+-64
+-91
+-36
+73
+102
+48
+3
+-35
+-67
+-94
+-39
+70
+98
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-84
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+40
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+42
+-2
+-39
+-70
+-95
+-117
+-67
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+85
+113
+58
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+7
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-36
+-67
+-94
+-40
+71
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+65
+94
+79
+29
+-14
+-49
+-79
+-103
+-124
+-89
+29
+74
+74
+24
+-18
+-52
+-81
+-105
+-125
+-80
+40
+84
+85
+33
+-10
+-46
+-75
+-100
+-121
+-73
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+119
+63
+15
+-24
+-58
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+80
+29
+-13
+-49
+-79
+-103
+-124
+-88
+31
+75
+74
+24
+-17
+-52
+-81
+-105
+-125
+-79
+41
+86
+85
+33
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+38
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-22
+90
+119
+63
+15
+-24
+-58
+-86
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-34
+76
+104
+50
+4
+-34
+-66
+-93
+-39
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+80
+77
+27
+-15
+-50
+-79
+-103
+-124
+-79
+41
+87
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+51
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+57
+11
+-28
+-61
+-88
+-31
+80
+108
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+47
+2
+-36
+-67
+-94
+-40
+71
+99
+45
+0
+-38
+-69
+-96
+-41
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+35
+78
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+40
+86
+86
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+94
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+96
+95
+43
+-1
+-38
+-69
+-95
+-26
+85
+113
+58
+11
+-28
+-61
+-88
+-31
+79
+107
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+79
+28
+-14
+-49
+-79
+-104
+-124
+-89
+30
+74
+73
+24
+-18
+-53
+-81
+-105
+-126
+-80
+40
+85
+85
+33
+-9
+-45
+-75
+-100
+-121
+-74
+47
+92
+91
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-117
+-67
+53
+98
+97
+43
+-1
+-38
+-69
+-94
+-116
+-66
+53
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+122
+64
+17
+-23
+-56
+-85
+-25
+83
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+50
+4
+-33
+-65
+-92
+-38
+72
+100
+47
+1
+-36
+-68
+-94
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+80
+30
+-13
+-49
+-79
+-103
+-124
+-88
+31
+75
+75
+25
+-17
+-52
+-81
+-105
+-125
+-79
+41
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+94
+41
+-3
+-39
+-70
+-96
+-117
+-67
+52
+96
+44
+-1
+-38
+-68
+-95
+-22
+90
+120
+64
+16
+-24
+-57
+-85
+-27
+83
+111
+55
+9
+-30
+-63
+-90
+-34
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+71
+99
+45
+0
+-37
+-69
+-95
+-41
+69
+97
+43
+-1
+-39
+-70
+-96
+-43
+66
+95
+42
+-2
+-40
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-119
+-85
+34
+78
+75
+25
+-16
+-51
+-81
+-105
+-125
+-80
+40
+85
+84
+33
+-10
+-46
+-76
+-100
+-121
+-73
+47
+92
+90
+38
+-6
+-42
+-72
+-98
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-2
+-38
+-69
+-95
+-26
+84
+114
+58
+11
+-28
+-61
+-88
+-30
+80
+107
+53
+6
+-32
+-64
+-91
+-36
+74
+103
+48
+3
+-35
+-67
+-93
+-39
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-45
+66
+95
+79
+28
+-14
+-50
+-79
+-104
+-124
+-90
+30
+75
+74
+24
+-18
+-52
+-81
+-105
+-125
+-80
+41
+86
+85
+33
+-9
+-45
+-75
+-100
+-121
+-74
+47
+92
+91
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-22
+90
+119
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+49
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+80
+29
+-13
+-49
+-78
+-103
+-124
+-89
+31
+75
+75
+25
+-17
+-52
+-81
+-105
+-125
+-80
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+96
+44
+-1
+-38
+-68
+-95
+-21
+91
+120
+63
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-90
+-33
+77
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+78
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+86
+34
+-9
+-45
+-75
+-100
+-120
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+80
+108
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+3
+-35
+-67
+-93
+-39
+70
+98
+45
+-1
+-38
+-69
+-95
+-42
+68
+97
+43
+-2
+-39
+-70
+-96
+-43
+66
+94
+41
+-3
+-40
+-71
+-97
+-119
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+42
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-67
+53
+98
+97
+44
+-1
+-38
+-68
+-95
+-116
+-67
+53
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-27
+-60
+-88
+-30
+80
+109
+54
+7
+-31
+-64
+-91
+-35
+75
+102
+48
+3
+-35
+-67
+-94
+-40
+71
+99
+46
+0
+-37
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+96
+42
+-2
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-40
+-72
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+77
+27
+-15
+-51
+-80
+-104
+-125
+-90
+29
+73
+73
+23
+-18
+-53
+-82
+-106
+-126
+-81
+40
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+90
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+94
+93
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-22
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-90
+-34
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+71
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-80
+-104
+-124
+-79
+41
+86
+86
+34
+-9
+-45
+-75
+-100
+-120
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-67
+53
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+53
+98
+97
+44
+0
+-37
+-68
+-94
+-115
+-66
+53
+99
+98
+44
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+114
+58
+12
+-28
+-60
+-88
+-30
+80
+109
+54
+7
+-31
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+46
+0
+-37
+-69
+-95
+-41
+68
+96
+43
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-120
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+53
+7
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+78
+28
+-14
+-50
+-80
+-104
+-125
+-89
+30
+74
+73
+24
+-18
+-53
+-81
+-105
+-126
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-74
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+42
+-2
+-40
+-71
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-119
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-125
+-80
+40
+86
+85
+33
+-10
+-45
+-75
+-100
+-121
+-74
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+95
+43
+-2
+-39
+-69
+-95
+-116
+-67
+52
+97
+96
+44
+-1
+-38
+-69
+-95
+-116
+-67
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+53
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-25
+86
+115
+59
+12
+-27
+-60
+-88
+-30
+80
+107
+53
+6
+-32
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+97
+43
+-1
+-39
+-70
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-42
+-72
+-97
+-118
+-69
+50
+95
+94
+41
+-2
+-39
+-70
+-96
+-117
+-67
+52
+96
+96
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+7
+-32
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-41
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+79
+28
+-14
+-50
+-79
+-104
+-125
+-89
+31
+75
+74
+25
+-17
+-52
+-81
+-105
+-125
+-79
+40
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-72
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+93
+41
+-3
+-40
+-71
+-96
+-117
+-68
+52
+97
+44
+-1
+-37
+-68
+-94
+-22
+90
+120
+63
+16
+-24
+-57
+-85
+-27
+83
+111
+55
+9
+-30
+-62
+-90
+-34
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+99
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+80
+30
+-13
+-49
+-79
+-103
+-124
+-88
+31
+74
+74
+25
+-17
+-52
+-81
+-105
+-125
+-80
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+93
+92
+40
+-4
+-41
+-71
+-97
+-118
+-69
+50
+95
+95
+42
+-2
+-40
+-70
+-96
+-117
+-68
+51
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+82
+111
+56
+9
+-30
+-62
+-90
+-34
+76
+104
+49
+4
+-34
+-66
+-93
+-39
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+96
+43
+-1
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-97
+-45
+64
+93
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-119
+-84
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-80
+40
+86
+85
+33
+-10
+-45
+-75
+-100
+-121
+-74
+46
+91
+91
+39
+-5
+-42
+-72
+-97
+-119
+-70
+49
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+95
+43
+-2
+-39
+-69
+-95
+-116
+-67
+53
+97
+96
+44
+-1
+-38
+-69
+-95
+-116
+-66
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+54
+98
+97
+44
+-1
+-37
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-38
+-68
+-95
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-95
+-24
+86
+115
+59
+12
+-27
+-60
+-87
+-29
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-67
+-93
+-39
+71
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-69
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+95
+41
+-3
+-40
+-71
+-97
+-45
+64
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+77
+27
+-15
+-51
+-80
+-105
+-125
+-90
+29
+73
+72
+23
+-18
+-53
+-82
+-106
+-126
+-80
+40
+85
+84
+32
+-10
+-46
+-76
+-100
+-121
+-73
+47
+91
+90
+38
+-6
+-42
+-72
+-98
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-39
+-69
+-95
+-116
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+45
+1
+-36
+-68
+-94
+-20
+92
+121
+64
+16
+-23
+-57
+-85
+-26
+83
+112
+56
+10
+-29
+-62
+-89
+-33
+77
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-44
+65
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+93
+41
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-119
+-85
+33
+77
+76
+26
+-16
+-51
+-80
+-104
+-124
+-80
+39
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+91
+90
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+93
+41
+-3
+-40
+-71
+-96
+-117
+-68
+52
+96
+95
+43
+-2
+-38
+-69
+-95
+-116
+-67
+53
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+96
+44
+-1
+-38
+-68
+-95
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+45
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+87
+115
+59
+12
+-27
+-60
+-87
+-29
+81
+110
+54
+8
+-31
+-63
+-90
+-35
+74
+103
+49
+3
+-35
+-67
+-93
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+97
+44
+-2
+-39
+-70
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-3
+-41
+-71
+-97
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+77
+27
+-16
+-51
+-80
+-105
+-125
+-90
+29
+74
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+40
+85
+84
+33
+-10
+-46
+-76
+-100
+-121
+-73
+47
+92
+92
+40
+-4
+-41
+-71
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+96
+43
+-2
+-39
+-69
+-95
+-116
+-67
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+53
+97
+97
+44
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+98
+45
+1
+-36
+-67
+-93
+-20
+92
+121
+65
+17
+-23
+-57
+-84
+-26
+84
+111
+56
+10
+-29
+-62
+-89
+-33
+77
+105
+50
+4
+-34
+-65
+-92
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-69
+-96
+-42
+67
+96
+43
+-2
+-39
+-70
+-97
+-118
+-82
+37
+81
+79
+29
+-14
+-49
+-79
+-103
+-123
+-78
+42
+87
+86
+35
+-9
+-45
+-75
+-100
+-120
+-72
+48
+93
+91
+39
+-4
+-41
+-72
+-97
+-118
+-69
+51
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-27
+84
+113
+58
+11
+-29
+-61
+-88
+-31
+78
+106
+52
+6
+-33
+-65
+-92
+-36
+74
+102
+47
+2
+-36
+-67
+-94
+-40
+69
+98
+44
+-1
+-38
+-70
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+65
+94
+41
+-4
+-41
+-72
+-97
+-45
+64
+93
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-40
+-71
+-97
+-45
+64
+92
+40
+-5
+-42
+-72
+-98
+-46
+64
+93
+78
+27
+-15
+-50
+-80
+-104
+-125
+-91
+29
+73
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+39
+84
+84
+33
+-10
+-46
+-76
+-100
+-122
+-74
+46
+91
+90
+38
+-6
+-42
+-72
+-97
+-119
+-70
+49
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+43
+-1
+-38
+-69
+-95
+-22
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+82
+111
+56
+9
+-30
+-62
+-90
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-39
+71
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+80
+29
+-14
+-49
+-79
+-103
+-124
+-88
+31
+75
+74
+25
+-17
+-52
+-81
+-105
+-125
+-79
+41
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-119
+-69
+51
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+53
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+-1
+-37
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-38
+-68
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+121
+64
+17
+-23
+-57
+-85
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+51
+5
+-33
+-65
+-92
+-38
+72
+100
+47
+1
+-36
+-68
+-94
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-40
+-70
+-97
+-44
+66
+94
+41
+-3
+-41
+-71
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-97
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-119
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-125
+-81
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+46
+92
+91
+39
+-6
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-25
+86
+115
+59
+12
+-27
+-60
+-88
+-30
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-67
+-93
+-39
+70
+99
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-2
+-39
+-70
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+79
+28
+-14
+-50
+-79
+-104
+-125
+-89
+30
+74
+74
+24
+-18
+-53
+-81
+-105
+-125
+-80
+40
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+46
+91
+91
+39
+-5
+-41
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-90
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+43
+-2
+-39
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-45
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-73
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+63
+93
+40
+-4
+-41
+-73
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-73
+-99
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+77
+26
+-16
+-51
+-80
+-105
+-125
+-90
+29
+73
+73
+23
+-18
+-53
+-82
+-106
+-126
+-80
+40
+85
+84
+32
+-10
+-46
+-76
+-100
+-121
+-73
+47
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-2
+-38
+-69
+-95
+-117
+-67
+53
+98
+96
+43
+-1
+-38
+-69
+-94
+-116
+-67
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+98
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-67
+53
+96
+95
+42
+-2
+-38
+-69
+-95
+-116
+-67
+53
+97
+96
+43
+-1
+-38
+-69
+-94
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+46
+1
+-36
+-67
+-93
+-19
+92
+121
+65
+17
+-23
+-56
+-84
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+51
+5
+-33
+-65
+-92
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-40
+69
+97
+44
+-1
+-38
+-69
+-96
+-42
+67
+96
+43
+-2
+-39
+-70
+-96
+-118
+-83
+35
+79
+77
+27
+-15
+-50
+-79
+-103
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-99
+-120
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+42
+-2
+-39
+-70
+-96
+-117
+-67
+52
+96
+95
+43
+-2
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-60
+-88
+-30
+79
+108
+53
+7
+-32
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+70
+99
+45
+0
+-37
+-69
+-95
+-41
+68
+97
+43
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-103
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+39
+-5
+-41
+-72
+-97
+-118
+-70
+51
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-27
+84
+113
+58
+11
+-28
+-61
+-88
+-31
+79
+107
+52
+6
+-32
+-64
+-92
+-36
+74
+103
+48
+3
+-35
+-67
+-93
+-40
+70
+98
+44
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-2
+-39
+-70
+-96
+-43
+66
+95
+42
+-2
+-40
+-71
+-97
+-44
+66
+94
+79
+28
+-14
+-49
+-79
+-104
+-124
+-89
+30
+75
+74
+24
+-17
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+95
+42
+-2
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+0
+-37
+-68
+-94
+-21
+91
+120
+63
+16
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+77
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+101
+47
+1
+-36
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+81
+30
+-13
+-49
+-78
+-103
+-124
+-88
+31
+75
+75
+25
+-17
+-51
+-81
+-105
+-125
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+38
+-5
+-42
+-72
+-97
+-119
+-69
+51
+95
+95
+42
+-2
+-39
+-70
+-95
+-117
+-67
+53
+97
+44
+0
+-37
+-68
+-94
+-22
+90
+121
+64
+16
+-24
+-57
+-85
+-26
+83
+112
+56
+9
+-29
+-62
+-89
+-33
+77
+105
+51
+4
+-34
+-65
+-92
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+70
+98
+44
+-1
+-38
+-69
+-96
+-43
+67
+96
+43
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+78
+27
+-15
+-50
+-79
+-104
+-124
+-79
+42
+86
+86
+34
+-9
+-45
+-75
+-100
+-121
+-72
+48
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+51
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+53
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-64
+-91
+-36
+74
+103
+49
+3
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-119
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+42
+87
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-119
+-70
+51
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+70
+99
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-2
+-39
+-70
+-97
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+79
+28
+-14
+-50
+-79
+-104
+-125
+-89
+30
+75
+74
+24
+-18
+-53
+-81
+-105
+-126
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-73
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+94
+94
+41
+-3
+-40
+-71
+-96
+-117
+-68
+52
+96
+43
+-1
+-38
+-69
+-95
+-22
+90
+120
+63
+15
+-24
+-58
+-85
+-27
+83
+111
+55
+9
+-30
+-63
+-90
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+71
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+80
+29
+-13
+-49
+-79
+-103
+-124
+-89
+30
+75
+75
+25
+-17
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-6
+-42
+-72
+-98
+-119
+-70
+50
+94
+93
+40
+-3
+-40
+-71
+-96
+-118
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-22
+90
+120
+63
+16
+-24
+-57
+-85
+-27
+83
+111
+55
+9
+-30
+-62
+-90
+-34
+76
+104
+50
+4
+-35
+-66
+-93
+-38
+72
+99
+46
+0
+-37
+-69
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+76
+26
+-16
+-51
+-80
+-104
+-124
+-79
+41
+86
+85
+33
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+93
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+57
+10
+-29
+-61
+-89
+-30
+79
+107
+52
+6
+-32
+-64
+-91
+-35
+73
+101
+47
+2
+-36
+-68
+-94
+-40
+70
+98
+45
+-1
+-38
+-69
+-95
+-42
+67
+95
+42
+-2
+-39
+-71
+-97
+-43
+67
+95
+41
+-3
+-40
+-71
+-97
+-119
+-84
+35
+79
+77
+27
+-15
+-51
+-79
+-104
+-124
+-80
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+46
+91
+90
+39
+-5
+-42
+-72
+-97
+-118
+-70
+49
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+95
+43
+-2
+-39
+-69
+-95
+-26
+84
+113
+57
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+95
+80
+29
+-13
+-49
+-79
+-103
+-124
+-88
+31
+75
+75
+25
+-17
+-51
+-81
+-104
+-125
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-120
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+0
+-38
+-68
+-94
+-116
+-65
+55
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+122
+65
+17
+-23
+-56
+-84
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+101
+47
+1
+-36
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+80
+29
+-13
+-49
+-78
+-103
+-124
+-89
+31
+75
+75
+24
+-17
+-52
+-81
+-105
+-125
+-80
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-74
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-90
+-33
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+71
+99
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-40
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+94
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-41
+-73
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-120
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-124
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-74
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+108
+53
+7
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+93
+78
+28
+-15
+-50
+-80
+-104
+-125
+-90
+29
+73
+73
+23
+-18
+-53
+-82
+-106
+-126
+-80
+40
+85
+84
+32
+-10
+-46
+-76
+-101
+-121
+-73
+47
+91
+90
+38
+-6
+-42
+-72
+-98
+-119
+-70
+50
+95
+93
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-95
+-22
+90
+120
+63
+15
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-39
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+80
+29
+-14
+-49
+-79
+-103
+-124
+-89
+31
+75
+74
+25
+-17
+-52
+-81
+-105
+-125
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+91
+119
+63
+15
+-24
+-57
+-85
+-26
+84
+112
+56
+9
+-29
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+69
+97
+43
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-118
+-83
+36
+78
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+42
+-2
+-39
+-70
+-96
+-117
+-67
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+85
+113
+58
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+7
+-32
+-64
+-91
+-35
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+67
+95
+42
+-2
+-40
+-71
+-97
+-118
+-83
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-117
+-67
+53
+98
+96
+44
+-1
+-38
+-68
+-95
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+85
+114
+59
+12
+-27
+-60
+-88
+-29
+80
+109
+54
+7
+-31
+-64
+-91
+-35
+74
+103
+48
+3
+-35
+-67
+-93
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+65
+94
+41
+-4
+-40
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+77
+27
+-16
+-51
+-80
+-104
+-125
+-91
+29
+73
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+39
+85
+84
+33
+-10
+-46
+-76
+-100
+-121
+-73
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+43
+-1
+-38
+-68
+-95
+-21
+91
+120
+63
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+105
+50
+4
+-34
+-66
+-92
+-38
+72
+99
+46
+0
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+39
+-5
+-42
+-72
+-97
+-118
+-69
+51
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-67
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-28
+-60
+-88
+-30
+80
+109
+53
+7
+-31
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-119
+-84
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-80
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+57
+11
+-28
+-61
+-88
+-31
+79
+108
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-41
+-71
+-97
+-45
+65
+93
+78
+28
+-15
+-50
+-80
+-104
+-125
+-90
+29
+73
+73
+23
+-18
+-53
+-82
+-105
+-125
+-80
+40
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-73
+46
+91
+90
+38
+-6
+-42
+-72
+-97
+-119
+-70
+50
+94
+93
+40
+-3
+-40
+-71
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-22
+90
+120
+63
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-90
+-34
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-40
+69
+98
+44
+-1
+-38
+-70
+-96
+-42
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-42
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-73
+-98
+-120
+-85
+34
+77
+75
+25
+-17
+-51
+-81
+-105
+-125
+-80
+40
+85
+84
+33
+-10
+-46
+-76
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-98
+-118
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-67
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-67
+53
+98
+96
+44
+-1
+-38
+-69
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-27
+-60
+-88
+-30
+80
+109
+54
+7
+-31
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+46
+0
+-37
+-69
+-95
+-41
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-84
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-120
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+53
+6
+-32
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-93
+-39
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+78
+27
+-15
+-50
+-80
+-104
+-125
+-90
+30
+74
+73
+23
+-18
+-53
+-82
+-106
+-126
+-80
+41
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+51
+95
+95
+42
+-2
+-39
+-70
+-95
+-117
+-67
+53
+97
+44
+0
+-37
+-68
+-94
+-21
+90
+120
+63
+16
+-24
+-57
+-85
+-26
+84
+112
+56
+9
+-29
+-62
+-89
+-33
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+80
+29
+-13
+-49
+-79
+-103
+-124
+-89
+31
+75
+75
+25
+-17
+-52
+-81
+-105
+-125
+-80
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+42
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+103
+49
+4
+-34
+-66
+-93
+-39
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-72
+-99
+-45
+64
+93
+40
+-5
+-42
+-72
+-98
+-119
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-124
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+46
+91
+90
+38
+-6
+-42
+-72
+-97
+-118
+-70
+49
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+53
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-25
+86
+115
+59
+12
+-27
+-60
+-87
+-29
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-67
+-93
+-39
+71
+98
+45
+0
+-38
+-69
+-95
+-41
+68
+97
+44
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+78
+27
+-15
+-50
+-80
+-104
+-125
+-91
+29
+74
+73
+23
+-18
+-53
+-82
+-105
+-126
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+47
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+95
+42
+-2
+-39
+-69
+-95
+-116
+-67
+53
+98
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+53
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+54
+98
+45
+1
+-36
+-67
+-94
+-20
+92
+121
+64
+17
+-23
+-56
+-84
+-25
+84
+113
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+51
+5
+-34
+-65
+-92
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+70
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-39
+-71
+-97
+-44
+66
+95
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-119
+-85
+34
+77
+76
+26
+-16
+-51
+-80
+-104
+-125
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-73
+46
+91
+90
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-116
+-67
+53
+98
+96
+44
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+96
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-24
+85
+114
+58
+11
+-28
+-60
+-88
+-30
+80
+109
+54
+7
+-31
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+64
+93
+78
+27
+-15
+-50
+-80
+-104
+-125
+-90
+29
+74
+73
+23
+-18
+-53
+-81
+-105
+-126
+-81
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+46
+91
+90
+38
+-6
+-42
+-72
+-97
+-119
+-70
+49
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+96
+43
+-2
+-39
+-69
+-95
+-116
+-67
+52
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+53
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+97
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+121
+64
+16
+-24
+-57
+-85
+-25
+84
+112
+56
+10
+-29
+-62
+-89
+-33
+77
+105
+51
+5
+-34
+-65
+-92
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-42
+67
+95
+42
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+51
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+67
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-3
+-41
+-71
+-97
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+92
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+77
+27
+-15
+-51
+-80
+-104
+-125
+-91
+29
+73
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+39
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+53
+97
+44
+-1
+-37
+-68
+-94
+-21
+91
+121
+64
+16
+-24
+-57
+-85
+-26
+84
+111
+56
+9
+-30
+-62
+-90
+-33
+77
+105
+51
+4
+-34
+-66
+-92
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-40
+70
+98
+44
+-1
+-38
+-69
+-96
+-42
+67
+96
+81
+30
+-13
+-48
+-78
+-103
+-124
+-88
+31
+75
+75
+25
+-17
+-52
+-81
+-105
+-125
+-79
+40
+85
+85
+33
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+94
+93
+41
+-3
+-40
+-71
+-96
+-117
+-68
+52
+96
+95
+42
+-2
+-39
+-69
+-95
+-117
+-66
+54
+98
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-64
+56
+100
+99
+46
+1
+-36
+-67
+-93
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+121
+65
+17
+-23
+-57
+-84
+-26
+84
+111
+56
+9
+-29
+-62
+-89
+-34
+77
+105
+50
+4
+-34
+-65
+-92
+-38
+72
+99
+45
+0
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-41
+-71
+-97
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-42
+-72
+-98
+-120
+-84
+35
+79
+76
+27
+-15
+-50
+-80
+-104
+-124
+-79
+40
+85
+85
+33
+-9
+-46
+-75
+-100
+-121
+-74
+46
+91
+90
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+94
+93
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+95
+42
+-2
+-39
+-70
+-95
+-117
+-67
+53
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-95
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-25
+86
+115
+59
+12
+-27
+-60
+-87
+-29
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-66
+-93
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-41
+69
+96
+43
+-2
+-39
+-70
+-96
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+78
+28
+-14
+-50
+-80
+-104
+-125
+-90
+30
+74
+73
+23
+-18
+-53
+-82
+-105
+-126
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-73
+47
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+16
+-24
+-57
+-85
+-26
+84
+111
+56
+9
+-29
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+65
+94
+41
+-4
+-41
+-72
+-98
+-44
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+63
+93
+40
+-4
+-42
+-73
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-73
+-98
+-46
+64
+93
+40
+-5
+-42
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+63
+93
+77
+27
+-15
+-51
+-80
+-104
+-125
+-90
+29
+73
+73
+23
+-18
+-53
+-82
+-105
+-126
+-81
+40
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+90
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+95
+42
+-2
+-39
+-69
+-95
+-117
+-67
+53
+98
+97
+43
+-1
+-38
+-69
+-94
+-116
+-67
+54
+98
+97
+44
+-1
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+121
+64
+17
+-23
+-57
+-85
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+76
+105
+50
+4
+-34
+-66
+-93
+-37
+72
+100
+47
+1
+-36
+-68
+-94
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-42
+68
+96
+43
+-2
+-39
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-74
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-67
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+80
+108
+53
+6
+-32
+-64
+-91
+-35
+74
+103
+48
+3
+-35
+-67
+-94
+-40
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+35
+78
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+85
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+108
+53
+7
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-39
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+78
+28
+-15
+-50
+-80
+-104
+-125
+-89
+30
+74
+73
+24
+-18
+-52
+-81
+-105
+-125
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-73
+47
+91
+91
+38
+-5
+-41
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+119
+63
+15
+-24
+-58
+-85
+-26
+83
+111
+56
+9
+-29
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-37
+73
+101
+47
+1
+-36
+-68
+-94
+-40
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+81
+30
+-13
+-48
+-78
+-103
+-123
+-88
+32
+76
+75
+25
+-16
+-51
+-80
+-104
+-125
+-79
+41
+86
+86
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-34
+76
+104
+49
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+43
+-1
+-39
+-70
+-96
+-43
+67
+96
+43
+-2
+-39
+-70
+-96
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-103
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-74
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+93
+41
+-3
+-40
+-70
+-96
+-117
+-69
+51
+96
+95
+42
+-2
+-39
+-70
+-95
+-27
+83
+112
+57
+10
+-29
+-62
+-89
+-31
+79
+107
+52
+6
+-33
+-65
+-92
+-36
+73
+102
+48
+2
+-36
+-67
+-94
+-39
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-96
+-43
+66
+94
+41
+-3
+-40
+-71
+-97
+-119
+-84
+36
+79
+76
+26
+-16
+-50
+-80
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-64
+-92
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-39
+70
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-44
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+93
+78
+28
+-14
+-50
+-80
+-104
+-125
+-90
+29
+73
+73
+24
+-18
+-52
+-81
+-105
+-126
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-73
+47
+91
+91
+38
+-5
+-42
+-72
+-97
+-119
+-69
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+105
+50
+4
+-34
+-66
+-92
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-40
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+80
+29
+-13
+-49
+-78
+-103
+-124
+-89
+31
+75
+74
+25
+-17
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+33
+-9
+-45
+-75
+-100
+-121
+-73
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+43
+-1
+-38
+-69
+-95
+-21
+91
+120
+63
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-29
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+47
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+96
+42
+-2
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-118
+-69
+51
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-67
+52
+97
+95
+43
+-1
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+3
+-35
+-67
+-93
+-39
+70
+98
+45
+0
+-38
+-69
+-96
+-42
+68
+97
+43
+-2
+-39
+-70
+-96
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+76
+27
+-15
+-50
+-80
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-99
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+79
+108
+53
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-36
+-67
+-94
+-39
+70
+99
+45
+0
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-45
+66
+94
+79
+28
+-14
+-50
+-79
+-104
+-124
+-90
+30
+74
+74
+24
+-18
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-74
+46
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+42
+-2
+-39
+-69
+-95
+-116
+-67
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+121
+64
+16
+-23
+-57
+-85
+-26
+84
+112
+56
+10
+-29
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-37
+73
+101
+47
+1
+-36
+-68
+-94
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-42
+67
+95
+80
+29
+-13
+-49
+-79
+-103
+-124
+-88
+31
+75
+74
+25
+-17
+-52
+-81
+-105
+-125
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-99
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+91
+120
+63
+15
+-24
+-57
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+65
+94
+41
+-4
+-41
+-71
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-119
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-124
+-80
+40
+85
+84
+33
+-10
+-45
+-75
+-100
+-121
+-74
+46
+92
+90
+38
+-6
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-26
+84
+113
+57
+10
+-29
+-61
+-89
+-30
+79
+108
+53
+6
+-32
+-64
+-91
+-35
+74
+102
+48
+2
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+97
+43
+-1
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+79
+28
+-14
+-49
+-79
+-104
+-124
+-90
+29
+74
+74
+24
+-18
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+38
+-5
+-41
+-72
+-97
+-119
+-70
+50
+95
+93
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-37
+-68
+-94
+-22
+90
+120
+64
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-90
+-34
+77
+105
+50
+4
+-34
+-66
+-93
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-40
+70
+98
+45
+-1
+-38
+-69
+-96
+-42
+68
+96
+81
+30
+-12
+-48
+-78
+-103
+-123
+-88
+32
+75
+75
+25
+-16
+-51
+-81
+-105
+-125
+-79
+41
+86
+86
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+38
+-5
+-41
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+96
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+63
+15
+-24
+-58
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-80
+41
+86
+85
+33
+-9
+-45
+-75
+-100
+-121
+-74
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-118
+-71
+50
+95
+93
+41
+-3
+-40
+-70
+-96
+-117
+-69
+51
+96
+95
+43
+-2
+-39
+-69
+-95
+-26
+83
+112
+57
+10
+-29
+-62
+-89
+-31
+79
+107
+52
+6
+-32
+-65
+-92
+-36
+74
+102
+47
+2
+-36
+-67
+-94
+-40
+69
+98
+44
+-1
+-38
+-69
+-96
+-42
+67
+95
+42
+-2
+-40
+-71
+-97
+-44
+67
+95
+42
+-3
+-40
+-71
+-97
+-119
+-84
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-80
+40
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+95
+43
+-2
+-38
+-69
+-95
+-116
+-66
+53
+97
+97
+44
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-65
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-27
+-60
+-88
+-29
+81
+108
+53
+7
+-31
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-67
+-93
+-39
+71
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+97
+44
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-41
+-71
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-73
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+78
+27
+-15
+-50
+-80
+-104
+-125
+-90
+29
+74
+73
+24
+-18
+-53
+-82
+-105
+-126
+-81
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+120
+64
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-34
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+68
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+97
+96
+43
+-1
+-39
+-69
+-95
+-116
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+97
+45
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+97
+45
+0
+-37
+-68
+-94
+-24
+85
+114
+58
+11
+-28
+-60
+-88
+-30
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+74
+102
+48
+2
+-35
+-67
+-94
+-40
+71
+99
+45
+0
+-38
+-69
+-95
+-42
+68
+96
+43
+-2
+-40
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-118
+-84
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+40
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-42
+-72
+-97
+-118
+-69
+52
+96
+95
+42
+-2
+-39
+-69
+-95
+-117
+-67
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-26
+85
+114
+58
+11
+-28
+-61
+-88
+-30
+80
+107
+52
+6
+-32
+-64
+-92
+-36
+74
+102
+48
+2
+-36
+-67
+-94
+-40
+70
+98
+44
+-1
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-96
+-43
+66
+94
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+78
+28
+-14
+-50
+-79
+-104
+-125
+-90
+30
+74
+73
+24
+-18
+-52
+-81
+-105
+-126
+-80
+40
+85
+84
+33
+-10
+-45
+-75
+-100
+-121
+-73
+47
+92
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-67
+52
+96
+44
+-1
+-37
+-68
+-94
+-20
+92
+121
+64
+17
+-23
+-56
+-84
+-26
+83
+111
+56
+9
+-30
+-62
+-90
+-33
+76
+105
+50
+4
+-34
+-66
+-93
+-39
+71
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+43
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-73
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-119
+-85
+34
+78
+76
+26
+-16
+-51
+-80
+-104
+-125
+-80
+40
+85
+84
+33
+-10
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-69
+51
+95
+94
+42
+-2
+-39
+-70
+-95
+-117
+-67
+52
+96
+95
+43
+-1
+-38
+-69
+-95
+-116
+-66
+53
+97
+96
+44
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-69
+-94
+-116
+-65
+54
+99
+97
+44
+-1
+-37
+-68
+-94
+-116
+-65
+54
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-25
+86
+115
+59
+12
+-28
+-60
+-88
+-29
+80
+107
+53
+7
+-32
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-67
+-93
+-39
+70
+99
+45
+0
+-37
+-69
+-95
+-42
+68
+97
+43
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-119
+-83
+37
+80
+79
+28
+-14
+-49
+-79
+-103
+-123
+-79
+42
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+42
+-2
+-39
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-64
+-91
+-36
+73
+102
+48
+2
+-35
+-67
+-94
+-40
+70
+98
+45
+-1
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+66
+95
+41
+-3
+-40
+-71
+-97
+-44
+66
+94
+79
+28
+-14
+-50
+-79
+-104
+-125
+-90
+30
+74
+74
+24
+-18
+-52
+-81
+-105
+-125
+-80
+41
+85
+85
+33
+-10
+-45
+-75
+-100
+-121
+-72
+48
+92
+92
+39
+-4
+-41
+-71
+-97
+-118
+-69
+51
+95
+95
+42
+-2
+-39
+-70
+-95
+-117
+-67
+53
+97
+44
+0
+-37
+-68
+-94
+-21
+91
+121
+64
+16
+-24
+-57
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-90
+-33
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+71
+100
+46
+1
+-37
+-68
+-95
+-40
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+80
+29
+-13
+-49
+-78
+-103
+-124
+-89
+30
+75
+75
+25
+-17
+-52
+-81
+-105
+-125
+-79
+40
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-2
+-39
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-37
+-68
+-94
+-20
+91
+121
+64
+16
+-24
+-57
+-85
+-26
+84
+112
+56
+9
+-29
+-62
+-89
+-34
+76
+105
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-42
+68
+96
+43
+-2
+-39
+-70
+-96
+-44
+66
+93
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+63
+92
+39
+-5
+-42
+-73
+-98
+-46
+64
+92
+39
+-5
+-42
+-72
+-98
+-46
+63
+92
+40
+-5
+-42
+-73
+-98
+-46
+64
+92
+39
+-5
+-42
+-72
+-98
+-46
+63
+93
+40
+-5
+-42
+-73
+-98
+-119
+-85
+33
+77
+75
+25
+-17
+-51
+-81
+-104
+-125
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+47
+92
+91
+38
+-5
+-42
+-72
+-97
+-118
+-69
+51
+96
+94
+42
+-2
+-39
+-70
+-95
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-116
+-67
+53
+98
+96
+43
+-1
+-38
+-68
+-95
+-116
+-67
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-67
+54
+98
+97
+44
+-1
+-37
+-68
+-94
+-116
+-66
+54
+99
+97
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+114
+58
+11
+-28
+-60
+-88
+-30
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+74
+102
+48
+3
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-41
+68
+97
+44
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-43
+66
+95
+41
+-3
+-40
+-71
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-73
+-98
+-46
+64
+93
+77
+27
+-15
+-51
+-80
+-104
+-125
+-90
+29
+73
+72
+23
+-18
+-53
+-82
+-106
+-126
+-81
+40
+84
+84
+32
+-10
+-46
+-76
+-100
+-121
+-74
+46
+91
+90
+38
+-6
+-42
+-72
+-97
+-119
+-71
+49
+94
+93
+41
+-3
+-40
+-71
+-96
+-117
+-69
+51
+96
+96
+43
+-2
+-39
+-69
+-95
+-116
+-67
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-38
+-68
+-94
+-116
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-116
+-66
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+99
+46
+1
+-36
+-67
+-93
+-19
+92
+121
+65
+17
+-23
+-56
+-84
+-26
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+50
+4
+-34
+-65
+-93
+-38
+72
+101
+47
+1
+-37
+-68
+-95
+-40
+69
+97
+44
+-1
+-39
+-70
+-96
+-42
+67
+96
+43
+-2
+-39
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-72
+-98
+-45
+66
+94
+41
+-4
+-41
+-72
+-97
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-119
+-85
+33
+77
+76
+26
+-16
+-51
+-80
+-104
+-125
+-80
+40
+85
+84
+33
+-10
+-46
+-75
+-100
+-121
+-74
+46
+91
+91
+38
+-5
+-42
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+95
+43
+-1
+-38
+-69
+-95
+-116
+-67
+53
+97
+96
+44
+-1
+-38
+-69
+-94
+-116
+-66
+54
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-24
+86
+115
+59
+12
+-27
+-60
+-87
+-29
+80
+108
+53
+7
+-32
+-64
+-91
+-35
+75
+103
+49
+3
+-35
+-66
+-93
+-38
+71
+99
+45
+0
+-37
+-68
+-95
+-42
+68
+97
+44
+-2
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+95
+41
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+94
+40
+-4
+-41
+-72
+-98
+-46
+64
+94
+41
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+77
+27
+-16
+-51
+-80
+-105
+-125
+-90
+29
+73
+72
+23
+-18
+-53
+-82
+-106
+-126
+-80
+40
+85
+84
+32
+-10
+-46
+-76
+-100
+-121
+-73
+47
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+51
+96
+96
+43
+-1
+-38
+-69
+-95
+-116
+-67
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+53
+98
+97
+44
+-1
+-38
+-68
+-94
+-116
+-66
+53
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+45
+1
+-36
+-67
+-94
+-20
+92
+122
+64
+17
+-23
+-56
+-84
+-25
+84
+112
+57
+10
+-29
+-62
+-89
+-33
+77
+105
+51
+4
+-33
+-65
+-92
+-38
+72
+100
+47
+1
+-36
+-68
+-94
+-41
+69
+97
+44
+-1
+-38
+-70
+-96
+-43
+67
+96
+43
+-2
+-40
+-71
+-97
+-118
+-83
+35
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+51
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+95
+43
+-2
+-38
+-69
+-95
+-26
+84
+114
+58
+11
+-28
+-61
+-88
+-30
+79
+107
+52
+6
+-32
+-64
+-91
+-36
+74
+102
+48
+2
+-35
+-67
+-94
+-39
+70
+98
+44
+-1
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+94
+41
+-3
+-40
+-71
+-97
+-45
+65
+93
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+78
+27
+-15
+-51
+-80
+-104
+-125
+-91
+29
+73
+72
+23
+-18
+-53
+-82
+-106
+-126
+-81
+40
+85
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+91
+90
+38
+-6
+-42
+-72
+-97
+-119
+-70
+50
+95
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+97
+44
+-1
+-38
+-68
+-94
+-21
+90
+119
+63
+15
+-24
+-58
+-85
+-27
+83
+111
+56
+9
+-30
+-62
+-89
+-33
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-40
+69
+98
+44
+-1
+-38
+-70
+-96
+-42
+68
+96
+81
+30
+-13
+-49
+-78
+-103
+-124
+-88
+32
+76
+75
+25
+-17
+-51
+-81
+-105
+-125
+-79
+41
+86
+86
+34
+-9
+-45
+-75
+-99
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+95
+42
+-2
+-39
+-70
+-95
+-117
+-68
+52
+97
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+53
+97
+97
+44
+-1
+-38
+-69
+-94
+-116
+-66
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+98
+44
+0
+-37
+-68
+-94
+-116
+-65
+54
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+122
+65
+17
+-23
+-56
+-84
+-25
+84
+111
+56
+9
+-29
+-62
+-89
+-33
+77
+105
+51
+5
+-34
+-65
+-92
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+98
+44
+-1
+-38
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-45
+65
+94
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+92
+40
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-73
+-98
+-120
+-85
+34
+77
+75
+25
+-17
+-51
+-81
+-105
+-125
+-80
+40
+85
+84
+32
+-10
+-46
+-76
+-101
+-121
+-74
+46
+91
+90
+38
+-6
+-42
+-72
+-98
+-119
+-71
+49
+94
+93
+41
+-3
+-40
+-71
+-96
+-118
+-68
+51
+96
+95
+42
+-2
+-39
+-69
+-95
+-117
+-67
+53
+98
+96
+43
+-1
+-38
+-69
+-95
+-116
+-66
+54
+98
+98
+44
+0
+-37
+-68
+-94
+-115
+-66
+53
+98
+97
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-66
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-24
+86
+114
+58
+12
+-28
+-60
+-88
+-30
+80
+109
+54
+7
+-32
+-64
+-91
+-35
+74
+102
+48
+2
+-35
+-67
+-94
+-39
+71
+99
+45
+0
+-37
+-69
+-95
+-41
+68
+96
+43
+-2
+-39
+-70
+-97
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+95
+79
+29
+-14
+-49
+-79
+-103
+-124
+-89
+30
+74
+74
+24
+-17
+-52
+-81
+-105
+-125
+-80
+40
+85
+85
+33
+-9
+-45
+-75
+-100
+-121
+-73
+47
+91
+91
+38
+-5
+-41
+-72
+-97
+-119
+-70
+51
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+53
+97
+44
+0
+-37
+-68
+-94
+-21
+90
+119
+63
+15
+-24
+-58
+-85
+-26
+83
+111
+56
+9
+-30
+-62
+-89
+-34
+76
+104
+50
+4
+-34
+-66
+-93
+-38
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+69
+97
+44
+-1
+-39
+-70
+-96
+-43
+67
+95
+42
+-3
+-40
+-71
+-97
+-44
+66
+95
+42
+-3
+-40
+-71
+-97
+-44
+65
+93
+41
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+63
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-42
+-73
+-98
+-46
+64
+93
+40
+-5
+-42
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-72
+-98
+-45
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-45
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-73
+-98
+-46
+65
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-42
+-72
+-98
+-46
+64
+92
+40
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-5
+-42
+-72
+-98
+-46
+64
+92
+39
+-5
+-42
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+93
+40
+-4
+-41
+-72
+-98
+-46
+64
+92
+78
+27
+-15
+-51
+-80
+-105
+-125
+-90
+29
+73
+73
+24
+-18
+-53
+-82
+-105
+-126
+-81
+39
+84
+84
+33
+-10
+-46
+-76
+-100
+-121
+-74
+46
+91
+90
+38
+-5
+-42
+-72
+-97
+-119
+-70
+50
+94
+94
+41
+-3
+-40
+-70
+-96
+-117
+-68
+52
+96
+95
+42
+-1
+-39
+-69
+-95
+-116
+-67
+53
+97
+96
+43
+-1
+-38
+-69
+-94
+-116
+-66
+54
+98
+97
+44
+-1
+-37
+-69
+-94
+-116
+-65
+54
+98
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+97
+44
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-116
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+54
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+98
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+98
+45
+0
+-37
+-68
+-94
+-115
+-65
+55
+99
+46
+1
+-36
+-67
+-93
+-20
+92
+122
+65
+17
+-23
+-56
+-84
+-25
+84
+112
+56
+10
+-29
+-62
+-89
+-33
+77
+105
+51
+5
+-33
+-65
+-92
+-37
+72
+100
+46
+1
+-37
+-68
+-95
+-41
+70
+98
+44
+-1
+-38
+-69
+-96
+-42
+68
+96
+43
+-2
+-39
+-70
+-97
+-118
+-83
+36
+79
+77
+27
+-15
+-50
+-79
+-104
+-124
+-79
+41
+86
+85
+34
+-9
+-45
+-75
+-100
+-121
+-73
+47
+92
+91
+39
+-5
+-41
+-72
+-97
+-118
+-70
+50
+95
+94
+41
+-3
+-39
+-70
+-96
+-117
+-68
+52
+97
+96
+43
+-2
+-38
+-69
+-95
+-26
+84
+113
+58
+11
+-28
+-61
+-88
+-30
+80
+108
+53
index 50b14aaeeb7429c16e2e14e058d3d551d7addb46..95b09761e083ae030c9d591ac5d6abbe2115eda9 100644 (file)
@@ -15,3 +15,12 @@ Transit999-best.pm3: Transit 999 format (UID 99531670)
 The files 'modulation-'... are all encoded with identical data (hex 00 01 02 03 04 05 06 07 08 09 0A 0B)
 for the purpose of recognition and testing of demodulation schemes. They were created by writing Q5 tags
 appropriately configured. The raw data is in 'modulation-data.dat'.
+
+ata5577-HIDemu-FC1-C9.pm3: ata5577 in hid prox 26 bit emulation facility code:1 card#:9
+casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29)
+EM4102-Fob.pm3: (ID: 0400193cbe)
+ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name
+ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name
+indala-504278295.pm3: PSK 26 bit indala
+AWID-15-259.pm3: AWID FSK RF/50 FC: 15 Card: 259 
+HID-weak-fob-11647.pm3: HID 32bit Prox Card#: 11647.  very weak tag/read but just readable.
\ No newline at end of file
diff --git a/traces/modulation-ask-biph-50.pm3 b/traces/modulation-ask-biph-50.pm3
new file mode 100644 (file)
index 0000000..389860d
--- /dev/null
@@ -0,0 +1,20000 @@
+61
+58
+53
+49
+44
+42
+38
+35
+31
+30
+26
+25
+22
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-79
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+32
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+105
+97
+92
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+36
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+78
+72
+68
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+81
+74
+69
+63
+60
+54
+51
+46
+43
+39
+37
+33
+31
+27
+26
+23
+22
+19
+18
+16
+16
+13
+12
+11
+11
+8
+8
+7
+7
+5
+5
+4
+3
+3
+3
+-24
+-45
+-63
+-78
+-92
+-102
+-111
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+-60
+-55
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+70
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+24
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+5
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+77
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+26
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+91
+84
+79
+71
+68
+62
+28
+-2
+-25
+-46
+-63
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-87
+-98
+-108
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+82
+78
+71
+66
+60
+57
+52
+48
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+17
+14
+15
+13
+12
+10
+10
+8
+8
+6
+6
+4
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-74
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+91
+83
+78
+71
+66
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-69
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+91
+83
+78
+72
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+19
+17
+15
+14
+12
+12
+10
+10
+8
+8
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-69
+-63
+-60
+-56
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+58
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+23
+21
+18
+18
+15
+14
+13
+12
+10
+9
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+48
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+66
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+84
+79
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+9
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+67
+61
+58
+52
+49
+45
+42
+38
+36
+31
+30
+27
+25
+22
+21
+19
+17
+15
+15
+12
+12
+11
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+18
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+32
+30
+26
+26
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+72
+67
+60
+57
+52
+49
+43
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+67
+61
+57
+52
+50
+44
+42
+37
+36
+32
+30
+27
+25
+23
+21
+18
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+20
+19
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+23
+22
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+77
+71
+67
+60
+27
+-3
+-26
+-47
+-64
+-78
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+60
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-87
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+106
+97
+90
+83
+78
+71
+67
+60
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+9
+8
+8
+6
+6
+5
+5
+3
+4
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-74
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+56
+52
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+9
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+66
+60
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-44
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+68
+61
+57
+52
+50
+44
+42
+38
+35
+32
+30
+27
+25
+23
+22
+18
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+18
+18
+15
+15
+12
+12
+10
+10
+8
+8
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+38
+35
+31
+30
+27
+25
+22
+21
+18
+18
+16
+14
+13
+12
+10
+9
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-94
+-89
+-83
+-78
+-72
+-69
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+81
+74
+70
+63
+59
+53
+51
+45
+43
+38
+37
+33
+31
+28
+26
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+9
+9
+7
+6
+5
+5
+4
+3
+2
+3
+-23
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+0
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+83
+77
+70
+66
+60
+57
+52
+48
+43
+42
+37
+34
+4
+-22
+-44
+-61
+-77
+-89
+-100
+-109
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+68
+61
+57
+52
+50
+44
+42
+38
+35
+32
+30
+27
+25
+23
+22
+18
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+92
+83
+79
+71
+66
+61
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-53
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+70
+63
+60
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-108
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+82
+78
+70
+66
+60
+57
+51
+48
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+14
+13
+11
+10
+10
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-111
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+66
+61
+57
+51
+49
+44
+41
+37
+35
+32
+30
+27
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-43
+-62
+-77
+-91
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+43
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+66
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+73
+70
+63
+59
+54
+51
+46
+43
+39
+9
+-18
+-39
+-59
+-74
+-87
+-98
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+96
+91
+83
+78
+70
+67
+61
+57
+51
+48
+43
+41
+37
+7
+-20
+-41
+-60
+-75
+-88
+-98
+-108
+-99
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+12
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+95
+90
+82
+77
+70
+66
+60
+57
+51
+48
+43
+41
+37
+34
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+7
+6
+6
+4
+5
+4
+4
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-74
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+66
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+84
+79
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-109
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+80
+74
+69
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+27
+26
+23
+22
+19
+18
+16
+15
+13
+13
+11
+11
+8
+8
+7
+6
+5
+5
+4
+4
+2
+3
+-23
+-44
+-63
+-78
+-92
+-102
+-111
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-52
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+79
+71
+66
+61
+57
+52
+49
+43
+42
+37
+35
+31
+30
+27
+26
+22
+20
+18
+18
+15
+15
+12
+12
+10
+10
+8
+8
+7
+6
+-20
+-42
+-62
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+56
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-94
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+72
+67
+60
+57
+52
+49
+44
+41
+37
+35
+32
+30
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+71
+68
+61
+57
+52
+49
+44
+42
+38
+35
+32
+31
+27
+25
+22
+22
+18
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+92
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-81
+-76
+-71
+-67
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+68
+61
+57
+52
+49
+45
+42
+37
+35
+32
+30
+27
+25
+22
+21
+19
+17
+14
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-94
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+56
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+22
+18
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+83
+79
+72
+67
+62
+28
+-2
+-26
+-47
+-63
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+73
+69
+63
+59
+54
+51
+45
+43
+39
+37
+32
+31
+28
+25
+24
+22
+19
+19
+16
+15
+13
+13
+11
+10
+8
+8
+6
+7
+5
+5
+4
+4
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-108
+-102
+-95
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+43
+42
+37
+35
+31
+29
+26
+25
+22
+22
+18
+18
+15
+14
+13
+11
+10
+10
+8
+8
+6
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+43
+41
+37
+35
+31
+30
+27
+26
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+38
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-82
+-75
+-71
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+68
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+22
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+81
+74
+69
+63
+60
+54
+51
+46
+43
+38
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+90
+83
+78
+70
+66
+60
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+10
+7
+8
+6
+6
+4
+4
+3
+4
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+60
+57
+52
+49
+43
+42
+38
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+72
+67
+60
+57
+52
+49
+44
+41
+37
+35
+32
+30
+26
+25
+22
+21
+19
+18
+14
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+79
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+22
+18
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+43
+42
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-94
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+38
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-63
+-58
+-54
+-51
+-48
+-44
+-42
+-38
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+83
+79
+72
+68
+61
+57
+53
+50
+43
+42
+38
+35
+32
+30
+27
+25
+23
+22
+19
+18
+16
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+72
+67
+60
+57
+52
+48
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+17
+14
+15
+13
+12
+10
+10
+8
+8
+7
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-36
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+79
+71
+66
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+106
+97
+92
+84
+79
+72
+68
+61
+58
+52
+49
+45
+42
+37
+35
+32
+30
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-62
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-94
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+81
+73
+69
+63
+59
+54
+50
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+95
+91
+83
+78
+71
+66
+60
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+11
+9
+10
+8
+7
+6
+6
+4
+5
+4
+3
+2
+3
+-24
+-45
+-64
+-78
+-92
+-102
+-111
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+58
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+11
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+66
+61
+57
+51
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-67
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+67
+61
+58
+52
+49
+44
+42
+37
+36
+32
+30
+27
+26
+22
+21
+18
+18
+15
+15
+12
+11
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+90
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+92
+83
+78
+71
+67
+61
+57
+52
+49
+43
+42
+37
+34
+32
+30
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+9
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-56
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+86
+81
+74
+70
+63
+59
+54
+51
+46
+43
+38
+37
+33
+31
+27
+26
+24
+22
+19
+19
+16
+15
+13
+13
+11
+10
+9
+8
+6
+6
+5
+5
+4
+4
+3
+3
+-23
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+0
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+83
+78
+70
+66
+61
+57
+51
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-67
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+78
+72
+68
+61
+57
+52
+49
+45
+42
+37
+36
+32
+30
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+70
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-87
+-98
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+106
+96
+91
+83
+78
+70
+67
+60
+56
+51
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+5
+4
+3
+3
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+48
+43
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+16
+14
+12
+12
+9
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+12
+12
+11
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+90
+83
+79
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+69
+62
+60
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-87
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+83
+78
+70
+67
+60
+57
+51
+48
+44
+42
+37
+7
+-20
+-41
+-60
+-75
+-88
+-99
+-108
+-99
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+12
+127
+127
+127
+127
+127
+127
+127
+127
+123
+111
+105
+96
+91
+82
+77
+70
+66
+61
+56
+51
+48
+44
+41
+36
+35
+31
+29
+26
+25
+21
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+5
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-47
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+90
+83
+79
+70
+67
+61
+57
+52
+49
+44
+41
+38
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+82
+74
+69
+63
+60
+54
+50
+45
+43
+38
+36
+33
+31
+28
+27
+23
+22
+20
+19
+15
+15
+13
+12
+10
+10
+8
+9
+7
+6
+5
+5
+4
+3
+3
+3
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-102
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-69
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+7
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+12
+11
+10
+10
+7
+8
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+58
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-76
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+84
+78
+72
+67
+61
+58
+52
+50
+44
+42
+38
+35
+32
+30
+26
+25
+22
+22
+19
+18
+15
+15
+13
+13
+10
+10
+8
+7
+6
+6
+-21
+-42
+-62
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+0
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+71
+68
+61
+58
+52
+50
+44
+42
+38
+35
+31
+30
+27
+25
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+26
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+7
+6
+6
+-21
+-42
+-62
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+84
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+108
+98
+91
+84
+79
+71
+67
+61
+28
+-2
+-25
+-47
+-63
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+86
+81
+74
+69
+62
+60
+54
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+21
+19
+19
+16
+15
+13
+13
+11
+10
+8
+8
+7
+6
+4
+5
+4
+3
+2
+3
+-23
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-101
+-109
+-103
+-96
+-90
+-84
+-79
+-74
+-69
+-64
+-61
+-56
+-53
+-49
+-47
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+36
+32
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+22
+18
+18
+15
+15
+13
+12
+10
+9
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+79
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+83
+79
+72
+68
+61
+28
+-2
+-25
+-47
+-63
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-87
+-98
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+96
+91
+83
+78
+70
+67
+61
+57
+51
+48
+43
+42
+37
+34
+31
+30
+26
+25
+22
+21
+18
+17
+15
+14
+13
+12
+10
+10
+8
+8
+6
+7
+5
+4
+3
+3
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-101
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+72
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-21
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+32
+29
+26
+25
+22
+21
+18
+17
+15
+15
+12
+11
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+72
+67
+61
+57
+51
+49
+44
+41
+36
+35
+32
+29
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+7
+8
+7
+6
+-21
+-42
+-62
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+70
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+29
+26
+24
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+9
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-79
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+29
+27
+26
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+52
+48
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-76
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-45
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+93
+84
+79
+72
+67
+61
+57
+52
+49
+44
+42
+38
+35
+32
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+13
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-53
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+16
+15
+12
+12
+10
+10
+7
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-69
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+10
+10
+8
+8
+7
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+112
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+41
+38
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+71
+68
+61
+57
+52
+49
+44
+42
+38
+36
+32
+29
+27
+26
+22
+21
+19
+18
+16
+15
+12
+12
+11
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+77
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+29
+27
+25
+22
+21
+18
+17
+15
+15
+13
+11
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+70
+67
+61
+27
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+60
+54
+50
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-108
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+83
+78
+70
+67
+60
+57
+51
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+44
+41
+37
+35
+32
+30
+26
+25
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-43
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+38
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-72
+-66
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+71
+68
+61
+58
+52
+49
+44
+42
+38
+36
+31
+30
+27
+26
+22
+21
+19
+18
+16
+15
+12
+12
+10
+10
+7
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-59
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+92
+84
+78
+71
+67
+60
+57
+52
+48
+44
+42
+38
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+91
+82
+78
+71
+67
+61
+57
+52
+49
+45
+41
+37
+35
+32
+29
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-108
+-102
+-95
+-89
+-83
+-79
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+92
+84
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-63
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+69
+63
+60
+53
+50
+46
+43
+38
+37
+33
+31
+28
+26
+23
+22
+19
+18
+15
+15
+13
+12
+11
+11
+8
+8
+7
+7
+5
+5
+4
+3
+2
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-111
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+0
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+90
+83
+78
+71
+66
+60
+57
+51
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-86
+-81
+-76
+-72
+-67
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+71
+68
+61
+58
+52
+49
+44
+42
+38
+36
+31
+29
+27
+26
+22
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+43
+42
+37
+35
+31
+30
+26
+25
+22
+20
+18
+18
+15
+14
+12
+12
+10
+10
+8
+8
+7
+6
+-21
+-42
+-62
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+100
+94
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+95
+90
+83
+78
+70
+66
+60
+57
+52
+48
+43
+42
+37
+34
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+5
+4
+4
+4
+2
+3
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+32
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+21
+21
+19
+18
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+60
+27
+-3
+-27
+-47
+-64
+-79
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+69
+63
+60
+54
+51
+46
+43
+38
+8
+-19
+-40
+-59
+-74
+-88
+-98
+-108
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+90
+83
+78
+70
+66
+60
+57
+51
+48
+44
+41
+37
+7
+-19
+-41
+-60
+-74
+-88
+-98
+-108
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+12
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+91
+82
+78
+71
+66
+60
+57
+51
+48
+43
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+9
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-102
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+66
+61
+28
+-2
+-26
+-47
+-64
+-79
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+27
+26
+23
+22
+19
+18
+16
+15
+12
+13
+11
+10
+8
+8
+6
+7
+5
+5
+3
+4
+3
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-102
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+84
+78
+70
+67
+60
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+20
+19
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+22
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-94
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+60
+56
+52
+49
+43
+41
+37
+35
+32
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+67
+61
+58
+52
+49
+45
+42
+37
+36
+32
+30
+27
+25
+22
+22
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-43
+-62
+-77
+-91
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-51
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+93
+84
+78
+71
+67
+61
+58
+52
+49
+45
+42
+38
+35
+32
+30
+27
+26
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+22
+19
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+92
+83
+78
+72
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-82
+-76
+-72
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+84
+79
+72
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+82
+74
+69
+63
+59
+54
+51
+46
+43
+38
+37
+33
+31
+28
+27
+23
+22
+19
+18
+16
+15
+13
+12
+11
+10
+8
+8
+7
+7
+5
+5
+4
+3
+2
+3
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+17
+15
+14
+12
+12
+10
+10
+8
+8
+7
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+66
+60
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-109
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-72
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+71
+68
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+80
+74
+70
+63
+59
+54
+51
+46
+43
+38
+8
+-19
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+82
+78
+71
+66
+60
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+12
+12
+10
+10
+7
+8
+6
+6
+4
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-55
+-53
+-49
+-46
+-42
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+66
+60
+57
+51
+49
+44
+41
+37
+35
+32
+30
+26
+25
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-42
+-62
+-77
+-91
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-94
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+23
+21
+18
+18
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+51
+48
+44
+42
+37
+35
+32
+30
+26
+26
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+17
+16
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+72
+67
+61
+57
+51
+48
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+18
+14
+15
+13
+12
+10
+10
+8
+8
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+79
+71
+66
+60
+57
+51
+49
+44
+41
+37
+36
+32
+30
+27
+25
+22
+21
+18
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+5
+-21
+-42
+-62
+-77
+-90
+-101
+-111
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-107
+-101
+-94
+-89
+-82
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+22
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+90
+83
+79
+71
+67
+61
+57
+52
+49
+44
+41
+38
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-81
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+67
+62
+58
+52
+49
+44
+42
+38
+35
+31
+30
+27
+26
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+77
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-76
+-71
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+68
+61
+57
+52
+49
+44
+42
+38
+35
+32
+30
+27
+25
+23
+22
+19
+18
+16
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+29
+27
+25
+22
+21
+18
+17
+16
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-62
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+60
+27
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-109
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+22
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+69
+63
+59
+53
+51
+46
+43
+39
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+90
+83
+78
+70
+67
+60
+57
+51
+48
+44
+41
+37
+35
+30
+30
+27
+25
+22
+21
+19
+18
+15
+14
+12
+12
+10
+9
+8
+8
+6
+6
+4
+5
+3
+4
+2
+1
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-102
+-95
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+114
+106
+96
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+7
+7
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+0
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+60
+57
+52
+49
+43
+42
+38
+35
+4
+-21
+-43
+-61
+-76
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+9
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+36
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+11
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+22
+19
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+106
+97
+91
+83
+78
+71
+67
+61
+27
+-2
+-26
+-47
+-64
+-79
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+38
+37
+33
+30
+28
+26
+23
+22
+19
+19
+16
+15
+13
+13
+11
+10
+8
+8
+7
+6
+5
+5
+4
+4
+2
+3
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+0
+127
+127
+127
+127
+127
+127
+127
+122
+112
+106
+96
+91
+83
+77
+71
+67
+60
+57
+51
+49
+43
+41
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-86
+-82
+-76
+-71
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+67
+61
+58
+53
+49
+44
+42
+38
+35
+32
+30
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-73
+-69
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+36
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+12
+11
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-109
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+80
+74
+70
+63
+59
+54
+51
+46
+43
+38
+9
+-18
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+82
+78
+71
+66
+60
+57
+51
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+17
+15
+14
+12
+12
+10
+10
+7
+8
+6
+6
+4
+4
+3
+3
+2
+2
+-24
+-45
+-64
+-79
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-42
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+22
+19
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-53
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+44
+42
+37
+34
+32
+30
+27
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-79
+-90
+-101
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+73
+70
+63
+59
+53
+51
+45
+43
+38
+8
+-18
+-40
+-59
+-74
+-88
+-98
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+42
+37
+7
+-20
+-41
+-60
+-75
+-88
+-98
+-108
+-99
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+12
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+95
+90
+82
+77
+70
+65
+59
+57
+52
+48
+43
+41
+37
+35
+31
+29
+26
+25
+22
+20
+18
+18
+15
+15
+12
+12
+10
+10
+8
+7
+6
+6
+5
+4
+3
+4
+2
+3
+-23
+-45
+-63
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-60
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+48
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+11
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-56
+-52
+-48
+-45
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+28
+-2
+-26
+-47
+-64
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+70
+63
+59
+53
+50
+45
+43
+38
+36
+33
+31
+28
+26
+23
+22
+20
+18
+16
+15
+13
+13
+10
+11
+8
+8
+7
+7
+5
+5
+4
+4
+2
+3
+-23
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-70
+-64
+-61
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+11
+10
+10
+8
+8
+6
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-63
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+36
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-86
+-82
+-76
+-71
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-36
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+68
+61
+58
+52
+49
+45
+42
+37
+36
+31
+30
+27
+25
+22
+22
+19
+18
+15
+15
+12
+12
+10
+9
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+4
+-21
+-43
+-61
+-77
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+91
+83
+79
+72
+68
+62
+58
+52
+49
+45
+42
+37
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-64
+-60
+-55
+-52
+-49
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+9
+8
+8
+6
+6
+-21
+-42
+-62
+-77
+-90
+-101
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+36
+4
+-21
+-43
+-60
+-76
+-89
+-100
+-108
+-100
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-33
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+83
+79
+72
+68
+61
+28
+-2
+-26
+-47
+-63
+-78
+-90
+-100
+-108
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+94
+86
+81
+74
+70
+63
+59
+54
+51
+46
+43
+39
+36
+33
+31
+28
+25
+23
+22
+19
+19
+16
+15
+13
+13
+11
+10
+8
+8
+6
+7
+5
+5
+4
+4
+3
+3
+-23
+-45
+-64
+-78
+-92
+-102
+-111
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-101
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-108
+-102
+-95
+-89
+-83
+-78
+-73
+-68
+-64
+-60
+-55
+-52
+-48
+-46
+-42
+-40
+-37
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+82
+78
+72
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+29
+27
+25
+22
+21
+19
+18
+15
+15
+13
+11
+10
+10
+7
+8
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+1
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+41
+37
+35
+4
+-21
+-43
+-61
+-76
+-89
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+68
+61
+28
+-2
+-26
+-47
+-63
+-78
+-90
+-100
+-108
+-99
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+21
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+95
+86
+81
+74
+69
+63
+59
+53
+51
+46
+43
+39
+9
+-18
+-40
+-59
+-74
+-87
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+13
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+106
+96
+90
+83
+78
+71
+66
+60
+57
+51
+48
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+-24
+-45
+-64
+-78
+-92
+-102
+-112
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
diff --git a/traces/modulation-ask-man-100.pm3 b/traces/modulation-ask-man-100.pm3
new file mode 100644 (file)
index 0000000..5a84b54
--- /dev/null
@@ -0,0 +1,20000 @@
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-45
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+40
+39
+34
+33
+29
+27
+24
+24
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+47
+45
+41
+39
+34
+32
+29
+28
+25
+23
+20
+20
+17
+15
+14
+13
+11
+11
+10
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+16
+17
+14
+14
+11
+11
+9
+9
+8
+7
+5
+-20
+-43
+-61
+-78
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+28
+24
+23
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+8
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+39
+35
+33
+28
+28
+25
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-78
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-45
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+67
+62
+56
+54
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+6
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+74
+66
+61
+56
+53
+47
+45
+41
+38
+35
+33
+29
+27
+25
+23
+20
+19
+17
+15
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+63
+57
+53
+48
+46
+41
+38
+34
+32
+29
+28
+24
+23
+20
+20
+16
+17
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-21
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+74
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+28
+24
+23
+20
+20
+17
+16
+13
+14
+11
+11
+9
+9
+8
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+35
+33
+29
+28
+24
+22
+20
+19
+16
+16
+14
+13
+12
+11
+9
+8
+7
+7
+5
+5
+4
+3
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-48
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+98
+93
+85
+80
+72
+67
+62
+59
+52
+50
+45
+42
+38
+36
+32
+30
+27
+26
+22
+21
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-90
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-109
+-102
+-96
+-90
+-85
+-78
+-74
+-69
+-65
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+41
+39
+34
+32
+29
+28
+24
+23
+20
+20
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-21
+-43
+-61
+-78
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+74
+66
+62
+56
+53
+48
+46
+41
+38
+34
+33
+29
+27
+25
+24
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-42
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+46
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+16
+16
+14
+14
+12
+11
+9
+9
+7
+7
+5
+-21
+-43
+-61
+-78
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+67
+63
+56
+53
+48
+45
+41
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+8
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+47
+46
+41
+38
+34
+33
+29
+28
+24
+23
+20
+20
+17
+15
+14
+13
+11
+11
+9
+9
+7
+7
+6
+5
+4
+4
+2
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-19
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+80
+72
+68
+62
+59
+52
+50
+45
+42
+38
+36
+32
+31
+28
+25
+22
+22
+19
+18
+15
+15
+13
+13
+10
+10
+8
+8
+7
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+35
+32
+29
+28
+24
+23
+20
+20
+16
+16
+14
+14
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-78
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+41
+38
+34
+33
+29
+28
+24
+24
+21
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+86
+77
+73
+66
+62
+57
+53
+47
+46
+41
+38
+35
+32
+29
+28
+25
+23
+20
+19
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+54
+48
+46
+41
+38
+35
+33
+28
+28
+24
+23
+21
+19
+17
+16
+14
+14
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+-65
+-60
+-56
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-19
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+65
+62
+57
+53
+48
+45
+41
+39
+35
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+5
+4
+3
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-72
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+47
+46
+41
+38
+34
+33
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+79
+72
+69
+62
+58
+53
+50
+45
+42
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+14
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-109
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+47
+45
+41
+38
+35
+33
+29
+28
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+46
+41
+39
+34
+33
+29
+27
+24
+23
+21
+19
+16
+17
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+91
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+33
+32
+29
+28
+24
+23
+21
+19
+17
+16
+13
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+104
+99
+91
+85
+77
+73
+66
+62
+56
+53
+47
+46
+41
+38
+34
+33
+29
+28
+24
+23
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+5
+4
+4
+2
+3
+2
+1
+1
+1
+0
+0
+-1
+0
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-19
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+93
+85
+80
+72
+68
+62
+59
+52
+50
+45
+42
+38
+36
+32
+31
+27
+25
+22
+22
+19
+18
+15
+15
+13
+12
+10
+10
+9
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-84
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+45
+40
+39
+35
+33
+29
+27
+24
+23
+21
+19
+16
+17
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+91
+85
+77
+73
+66
+63
+56
+53
+47
+45
+41
+39
+34
+32
+29
+28
+25
+24
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+104
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+45
+41
+38
+35
+33
+29
+27
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+46
+40
+38
+34
+32
+29
+28
+24
+23
+20
+20
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+35
+33
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-84
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+114
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+20
+20
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+5
+5
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-48
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+114
+108
+99
+93
+84
+79
+72
+68
+62
+58
+52
+50
+45
+42
+38
+36
+32
+30
+27
+25
+22
+22
+19
+18
+16
+15
+12
+13
+11
+10
+8
+8
+6
+6
+5
+5
+3
+4
+2
+2
+2
+2
+0
+1
+0
+0
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-31
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-19
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+109
+99
+93
+84
+79
+72
+68
+62
+58
+52
+50
+45
+42
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+15
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-96
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+46
+40
+39
+35
+33
+29
+27
+25
+23
+20
+19
+17
+17
+14
+13
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+98
+91
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+28
+25
+23
+20
+19
+17
+16
+13
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+40
+38
+35
+33
+28
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+57
+53
+48
+45
+40
+39
+34
+32
+29
+28
+25
+23
+21
+19
+17
+17
+13
+13
+11
+11
+9
+9
+7
+7
+5
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+99
+90
+85
+77
+72
+66
+62
+56
+53
+47
+45
+41
+38
+34
+32
+29
+28
+25
+23
+20
+19
+16
+16
+14
+13
+10
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-13
+-12
+-12
+-10
+-11
+-10
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+72
+68
+62
+58
+53
+50
+45
+42
+37
+36
+32
+30
+27
+26
+23
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-97
+-90
+-84
+-79
+-74
+-68
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+34
+33
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+40
+38
+34
+32
+29
+28
+24
+23
+21
+19
+17
+16
+14
+13
+11
+11
+8
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+35
+33
+29
+28
+24
+23
+20
+20
+16
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+46
+40
+38
+34
+32
+29
+28
+24
+24
+21
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+28
+24
+23
+20
+19
+17
+16
+13
+14
+11
+11
+9
+9
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+105
+99
+89
+85
+77
+73
+65
+62
+56
+53
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+21
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+63
+56
+53
+48
+46
+41
+38
+34
+33
+29
+27
+24
+24
+21
+19
+17
+16
+14
+14
+11
+10
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+84
+80
+73
+69
+62
+58
+53
+50
+44
+42
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-69
+-64
+-60
+-56
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+116
+106
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+40
+38
+34
+33
+29
+27
+24
+24
+20
+19
+17
+16
+13
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-84
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+104
+99
+90
+84
+77
+73
+66
+62
+57
+54
+48
+46
+40
+38
+35
+33
+28
+27
+24
+23
+20
+19
+16
+16
+14
+14
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-45
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+35
+33
+29
+28
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+6
+4
+3
+3
+3
+2
+1
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-4
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+85
+80
+72
+69
+62
+58
+53
+50
+45
+42
+38
+35
+32
+30
+27
+26
+23
+22
+19
+19
+15
+14
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-68
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+11
+10
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+41
+38
+35
+32
+28
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+8
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+41
+38
+35
+32
+28
+28
+24
+23
+20
+19
+17
+17
+14
+13
+11
+11
+10
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+89
+85
+77
+73
+66
+63
+57
+53
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+21
+20
+17
+16
+14
+13
+12
+11
+8
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+76
+73
+66
+62
+56
+53
+48
+46
+41
+38
+34
+33
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+12
+10
+9
+9
+7
+7
+5
+5
+4
+4
+3
+2
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+79
+72
+68
+62
+58
+52
+50
+45
+42
+38
+36
+32
+31
+27
+26
+23
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+41
+38
+35
+32
+28
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+6
+5
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-87
+-81
+-76
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-31
+-31
+-28
+-27
+-24
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+72
+67
+62
+58
+53
+50
+45
+42
+38
+36
+32
+30
+27
+26
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+40
+38
+35
+33
+29
+27
+24
+23
+21
+20
+16
+16
+14
+13
+11
+11
+9
+8
+7
+7
+5
+-21
+-43
+-61
+-78
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-78
+-74
+-69
+-65
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+21
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-84
+-78
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+34
+32
+28
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+6
+5
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-5
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-6
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-76
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-31
+-31
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+79
+72
+68
+62
+58
+52
+50
+45
+43
+38
+36
+32
+30
+27
+25
+22
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+5
+4
+3
+2
+3
+1
+2
+0
+0
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-42
+-39
+-36
+-34
+-32
+-30
+-28
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+79
+72
+68
+62
+58
+52
+50
+45
+43
+38
+36
+32
+31
+26
+26
+23
+21
+19
+18
+15
+15
+13
+13
+10
+10
+8
+8
+7
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-68
+-65
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+41
+39
+35
+33
+28
+28
+24
+23
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+6
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+20
+20
+17
+16
+14
+13
+12
+11
+8
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+61
+56
+53
+48
+46
+41
+38
+34
+33
+29
+27
+24
+23
+20
+19
+17
+16
+13
+13
+12
+11
+9
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+45
+40
+38
+35
+33
+29
+27
+24
+23
+21
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-6
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-31
+-28
+-26
+-25
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-15
+-14
+-13
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+92
+85
+79
+72
+69
+62
+59
+52
+50
+45
+42
+38
+36
+31
+31
+27
+25
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+9
+7
+6
+5
+5
+4
+4
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-4
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-3
+-4
+-4
+-4
+-4
+-6
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-87
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+72
+66
+62
+56
+53
+48
+45
+41
+39
+34
+32
+29
+28
+24
+23
+21
+19
+17
+16
+14
+14
+11
+11
+8
+9
+7
+6
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-10
+-10
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+92
+85
+80
+72
+69
+62
+59
+53
+50
+45
+42
+38
+36
+32
+30
+27
+25
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-20
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-110
+-102
+-96
+-90
+-85
+-78
+-74
+-68
+-65
+-60
+-56
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+41
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+34
+32
+29
+28
+24
+23
+21
+20
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+46
+40
+38
+35
+32
+29
+27
+24
+24
+21
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+6
+6
+-19
+-42
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+61
+56
+53
+48
+46
+40
+38
+35
+33
+29
+27
+24
+23
+20
+19
+16
+16
+14
+14
+11
+10
+9
+9
+7
+7
+5
+-21
+-43
+-61
+-78
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-45
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+34
+32
+29
+28
+25
+22
+20
+20
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-59
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+9
+7
+6
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+65
+63
+56
+53
+48
+46
+41
+39
+34
+32
+29
+28
+24
+23
+21
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-56
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+24
+24
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-19
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+66
+61
+56
+53
+48
+46
+40
+38
+35
+33
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+11
+10
+9
+9
+6
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+45
+41
+38
+34
+32
+29
+28
+24
+23
+20
+20
+16
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+72
+66
+63
+56
+53
+48
+46
+40
+39
+35
+32
+29
+28
+24
+23
+20
+19
+16
+16
+14
+13
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+46
+41
+38
+34
+33
+29
+27
+25
+23
+20
+20
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+47
+46
+41
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+9
+6
+7
+5
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+-1
+-1
+0
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-3
+-2
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-72
+-67
+-62
+-59
+-54
+-52
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+79
+72
+68
+61
+58
+53
+50
+45
+42
+38
+36
+32
+30
+26
+26
+23
+21
+19
+18
+16
+15
+13
+13
+10
+11
+8
+7
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+57
+53
+48
+46
+40
+38
+35
+33
+29
+27
+24
+23
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+39
+34
+32
+30
+28
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+54
+47
+45
+41
+39
+35
+32
+29
+27
+25
+23
+20
+19
+17
+17
+14
+13
+11
+11
+9
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+33
+29
+28
+25
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+8
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+55
+53
+48
+46
+40
+39
+35
+33
+29
+28
+24
+23
+20
+19
+17
+16
+13
+14
+12
+11
+9
+9
+7
+7
+5
+5
+3
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-1
+-1
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-29
+-51
+-67
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-42
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-23
+-22
+-20
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+93
+84
+79
+72
+68
+61
+59
+53
+49
+45
+43
+38
+36
+32
+31
+27
+26
+22
+21
+19
+18
+15
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-96
+-90
+-84
+-78
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+47
+46
+41
+39
+34
+32
+29
+27
+25
+23
+20
+20
+17
+16
+14
+14
+12
+11
+9
+8
+6
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+40
+38
+34
+32
+29
+28
+25
+23
+21
+20
+16
+16
+14
+13
+12
+11
+9
+9
+8
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+46
+41
+39
+34
+33
+29
+28
+24
+23
+20
+19
+17
+17
+14
+14
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-61
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+46
+40
+38
+34
+32
+29
+28
+24
+23
+21
+20
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+39
+34
+33
+30
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+46
+40
+38
+35
+33
+29
+27
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+10
+9
+6
+7
+5
+5
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-55
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-10
+-11
+-9
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+80
+72
+69
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+33
+29
+28
+24
+24
+20
+19
+17
+17
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+54
+48
+45
+40
+38
+35
+33
+29
+27
+25
+24
+20
+19
+17
+16
+14
+13
+11
+11
+10
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+25
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+40
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+17
+14
+14
+11
+11
+9
+9
+7
+7
+6
+5
+3
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-29
+-51
+-67
+-83
+-95
+-106
+-97
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+79
+72
+69
+61
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+22
+21
+19
+18
+16
+15
+13
+12
+11
+11
+8
+8
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-84
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+47
+46
+41
+38
+34
+33
+29
+27
+24
+23
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+52
+48
+46
+40
+38
+35
+33
+29
+27
+24
+23
+21
+19
+16
+16
+14
+13
+11
+11
+9
+9
+8
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+32
+29
+27
+24
+23
+20
+19
+17
+17
+13
+14
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+45
+40
+38
+35
+32
+29
+28
+24
+23
+21
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+28
+24
+23
+20
+19
+17
+16
+13
+14
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+40
+38
+34
+33
+29
+27
+24
+23
+20
+20
+17
+15
+14
+14
+11
+11
+9
+8
+7
+7
+6
+5
+4
+4
+3
+3
+2
+1
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-1
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-24
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+72
+68
+62
+59
+53
+49
+45
+43
+38
+35
+32
+30
+27
+26
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+4
+5
+3
+3
+3
+3
+1
+1
+0
+1
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-113
+-106
+-99
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+79
+72
+68
+61
+59
+53
+49
+45
+43
+38
+36
+32
+31
+27
+26
+23
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-109
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-96
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+104
+99
+90
+84
+77
+73
+67
+62
+56
+53
+48
+46
+40
+38
+34
+33
+29
+27
+24
+24
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+33
+29
+27
+24
+24
+21
+19
+16
+16
+14
+13
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+72
+66
+63
+57
+53
+48
+46
+41
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+17
+14
+13
+12
+11
+9
+9
+7
+6
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+-65
+-60
+-56
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+53
+48
+46
+40
+38
+34
+33
+29
+28
+25
+23
+20
+20
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+5
+4
+4
+2
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-5
+-4
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+53
+47
+44
+40
+38
+34
+32
+29
+28
+24
+24
+20
+19
+17
+16
+13
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-15
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-8
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+79
+72
+69
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-96
+-90
+-84
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+13
+14
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+40
+39
+34
+33
+29
+28
+24
+23
+21
+20
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+16
+13
+14
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+54
+48
+45
+40
+38
+35
+32
+29
+28
+25
+24
+20
+19
+17
+15
+14
+13
+11
+11
+9
+9
+7
+8
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+17
+14
+13
+12
+11
+9
+9
+7
+7
+6
+5
+4
+4
+3
+3
+1
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-28
+-50
+-67
+-82
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-48
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+66
+61
+56
+53
+48
+45
+40
+38
+35
+33
+29
+27
+25
+23
+20
+19
+17
+15
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-78
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+40
+39
+35
+32
+29
+28
+25
+24
+20
+19
+17
+17
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-56
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+108
+99
+93
+84
+80
+72
+69
+62
+58
+52
+50
+45
+42
+38
+36
+32
+30
+27
+26
+22
+22
+19
+17
+16
+15
+12
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-59
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+40
+39
+35
+32
+29
+27
+24
+23
+20
+19
+17
+17
+14
+13
+12
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+33
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+11
+10
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+24
+23
+21
+19
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+5
+4
+4
+2
+3
+2
+1
+1
+1
+0
+0
+0
+0
+-2
+-1
+-2
+-2
+-2
+-2
+-4
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-4
+-4
+-4
+-4
+-3
+-5
+-4
+-4
+-3
+-4
+-4
+-5
+-5
+-4
+-4
+-5
+-5
+-5
+-4
+-4
+-28
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-41
+-40
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-17
+-16
+-15
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+114
+108
+99
+92
+85
+79
+72
+69
+62
+58
+52
+50
+45
+42
+38
+35
+32
+31
+28
+26
+22
+21
+18
+18
+16
+15
+12
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-102
+-97
+-90
+-85
+-78
+-74
+-68
+-64
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+17
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-84
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+10
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-69
+-65
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+57
+53
+47
+45
+41
+38
+34
+32
+29
+28
+24
+23
+21
+20
+17
+15
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-68
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+40
+38
+35
+32
+29
+27
+24
+23
+20
+19
+16
+17
+14
+13
+11
+11
+9
+9
+7
+7
+5
+5
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-3
+-4
+-4
+-5
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-48
+-45
+-41
+-39
+-35
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-17
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+85
+80
+72
+68
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-110
+-103
+-96
+-90
+-84
+-78
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+33
+32
+29
+28
+24
+23
+20
+20
+17
+16
+14
+14
+12
+10
+9
+9
+7
+7
+5
+5
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-15
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+85
+79
+72
+68
+62
+58
+53
+50
+45
+43
+38
+35
+31
+30
+27
+26
+23
+21
+18
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-90
+-85
+-78
+-74
+-68
+-65
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+57
+54
+47
+45
+41
+39
+34
+32
+29
+28
+25
+23
+20
+20
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+24
+23
+20
+20
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+38
+34
+32
+29
+27
+24
+23
+20
+20
+17
+16
+14
+14
+12
+10
+9
+9
+7
+7
+5
+5
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-87
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-35
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-15
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+98
+92
+84
+79
+72
+68
+62
+58
+53
+50
+45
+42
+38
+35
+32
+30
+27
+26
+23
+21
+19
+18
+16
+15
+13
+13
+10
+10
+8
+7
+6
+6
+5
+5
+3
+4
+2
+3
+1
+1
+0
+1
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-88
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-19
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+84
+79
+72
+68
+62
+58
+53
+50
+45
+43
+38
+35
+33
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-61
+-77
+-89
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+57
+54
+48
+45
+41
+38
+34
+32
+29
+28
+24
+23
+20
+20
+17
+16
+13
+14
+12
+10
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+38
+34
+32
+29
+28
+25
+23
+20
+20
+17
+15
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+17
+14
+13
+12
+11
+9
+9
+7
+6
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+38
+34
+33
+29
+27
+24
+24
+21
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+5
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-88
+-81
+-76
+-71
+-67
+-62
+-58
+-54
+-51
+-47
+-45
+-41
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-15
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+107
+99
+93
+84
+79
+72
+68
+62
+59
+53
+50
+45
+42
+37
+36
+32
+30
+27
+25
+22
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+5
+4
+3
+2
+3
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+-67
+-62
+-59
+-54
+-51
+-47
+-45
+-41
+-39
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+89
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-56
+-52
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+79
+72
+69
+62
+58
+53
+50
+45
+42
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+-19
+-42
+-60
+-77
+-89
+-101
+-110
+-102
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-102
+-97
+-90
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+46
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+32
+29
+27
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+65
+62
+57
+53
+48
+45
+41
+39
+35
+32
+29
+28
+25
+23
+20
+20
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+89
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+39
+35
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+6
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-56
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+32
+29
+27
+25
+23
+20
+20
+17
+16
+13
+13
+11
+10
+9
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-68
+-65
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+46
+41
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+11
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+57
+53
+48
+45
+41
+39
+34
+32
+29
+27
+24
+23
+21
+20
+17
+16
+14
+14
+11
+10
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+46
+40
+39
+35
+33
+29
+28
+24
+23
+20
+20
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-78
+-74
+-69
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+106
+98
+90
+85
+77
+72
+66
+62
+56
+54
+48
+45
+40
+39
+35
+32
+29
+27
+24
+23
+21
+19
+17
+16
+14
+14
+12
+11
+8
+9
+7
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+27
+25
+24
+20
+19
+17
+16
+13
+14
+11
+11
+9
+9
+7
+8
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-68
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+46
+41
+39
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+8
+7
+7
+5
+-20
+-43
+-61
+-77
+-90
+-102
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+38
+34
+33
+29
+27
+24
+24
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+6
+-20
+-43
+-61
+-77
+-90
+-101
+-110
+-102
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
diff --git a/traces/modulation-ask-man-128.pm3 b/traces/modulation-ask-man-128.pm3
new file mode 100644 (file)
index 0000000..1d0e846
--- /dev/null
@@ -0,0 +1,20000 @@
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-18
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+87
+80
+75
+68
+64
+58
+55
+50
+47
+42
+39
+36
+34
+30
+28
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+7
+8
+6
+5
+4
+4
+3
+3
+2
+2
+1
+2
+0
+0
+0
+0
+-2
+-26
+-48
+-66
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-43
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+49
+47
+42
+40
+35
+34
+30
+28
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-3
+-3
+-2
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+49
+47
+42
+40
+36
+33
+29
+29
+26
+24
+21
+20
+18
+17
+14
+14
+11
+11
+10
+8
+8
+8
+6
+6
+4
+4
+3
+3
+2
+1
+1
+1
+0
+1
+0
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-23
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+-13
+-13
+-12
+-12
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+97
+91
+83
+78
+70
+66
+60
+57
+52
+48
+44
+41
+37
+35
+31
+30
+26
+25
+22
+20
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+1
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+24
+24
+22
+20
+17
+17
+15
+14
+12
+11
+9
+10
+8
+6
+6
+6
+4
+5
+3
+3
+2
+3
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-30
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+58
+55
+50
+47
+42
+40
+36
+33
+31
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+9
+10
+8
+7
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+9
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+0
+0
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+17
+17
+15
+13
+12
+12
+10
+9
+8
+8
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-100
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-45
+-42
+-39
+-37
+-34
+-33
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+70
+67
+60
+57
+51
+48
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+5
+4
+3
+4
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-23
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+87
+80
+75
+68
+64
+58
+55
+50
+47
+42
+39
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+9
+9
+8
+8
+5
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-25
+-24
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+68
+65
+59
+55
+50
+47
+42
+39
+36
+34
+31
+29
+25
+24
+21
+21
+18
+16
+15
+14
+12
+11
+9
+9
+8
+8
+6
+6
+5
+5
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-23
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+109
+102
+93
+88
+80
+76
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+21
+18
+16
+15
+14
+12
+11
+9
+9
+7
+7
+6
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-30
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+68
+64
+59
+55
+50
+47
+43
+40
+35
+34
+30
+29
+26
+24
+21
+21
+18
+16
+14
+14
+12
+11
+10
+9
+8
+8
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-23
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+109
+102
+93
+87
+79
+76
+69
+64
+58
+55
+50
+47
+43
+40
+35
+33
+30
+28
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+10
+9
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+101
+94
+88
+80
+75
+69
+65
+59
+55
+49
+47
+42
+40
+35
+33
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+12
+10
+9
+8
+8
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+1
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-6
+-4
+-5
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-4
+-5
+-5
+-6
+-5
+-5
+-4
+-6
+-30
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+-32
+-29
+-28
+-26
+-24
+-23
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-9
+-7
+-7
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+4
+4
+4
+4
+2
+2
+1
+1
+0
+1
+-1
+0
+-1
+0
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-6
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+-13
+-13
+-12
+-13
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+70
+67
+61
+57
+51
+48
+43
+41
+37
+34
+31
+30
+27
+25
+22
+21
+19
+18
+15
+14
+12
+12
+10
+9
+8
+8
+6
+6
+5
+5
+3
+4
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-29
+-28
+-26
+-24
+-22
+-21
+-19
+-19
+-18
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+21
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+4
+2
+3
+2
+1
+1
+1
+0
+1
+0
+-1
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+26
+25
+21
+20
+18
+17
+15
+14
+11
+11
+10
+9
+7
+8
+6
+5
+4
+4
+3
+3
+2
+1
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+25
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+5
+5
+5
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-2
+-26
+-48
+-66
+-81
+-93
+-104
+-97
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+35
+34
+30
+28
+26
+25
+21
+20
+18
+17
+14
+14
+12
+11
+9
+9
+7
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-4
+-4
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+109
+102
+94
+88
+80
+76
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+22
+20
+17
+17
+15
+14
+12
+12
+9
+10
+8
+8
+6
+6
+5
+4
+3
+3
+1
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+20
+18
+18
+15
+14
+12
+12
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+1
+1
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+56
+50
+47
+42
+40
+36
+33
+30
+28
+25
+24
+21
+20
+18
+17
+15
+14
+12
+11
+9
+9
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-36
+-33
+-32
+-30
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+59
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+9
+10
+8
+7
+6
+5
+4
+5
+3
+3
+1
+2
+1
+1
+0
+1
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+22
+20
+17
+17
+15
+14
+12
+11
+9
+9
+7
+7
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-72
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+76
+68
+65
+58
+54
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+17
+17
+14
+14
+12
+11
+9
+9
+8
+8
+5
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+49
+47
+42
+40
+36
+33
+30
+29
+25
+24
+22
+21
+18
+17
+15
+14
+12
+12
+10
+9
+7
+7
+5
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-33
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+56
+50
+47
+42
+40
+35
+34
+30
+29
+26
+25
+22
+20
+18
+17
+14
+14
+12
+11
+10
+10
+8
+7
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+119
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+50
+46
+42
+40
+36
+34
+30
+29
+25
+25
+21
+19
+18
+17
+14
+14
+12
+12
+10
+9
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+91
+83
+78
+71
+66
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+3
+3
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+68
+64
+59
+55
+50
+47
+42
+40
+36
+34
+30
+28
+26
+25
+21
+20
+17
+17
+15
+14
+11
+11
+10
+10
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+0
+1
+1
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+35
+34
+30
+28
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+35
+34
+30
+29
+26
+25
+21
+20
+18
+17
+15
+14
+12
+11
+10
+9
+7
+8
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-3
+-5
+-5
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-45
+-42
+-39
+-37
+-34
+-33
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-15
+-15
+-14
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+91
+83
+78
+71
+67
+60
+57
+52
+48
+43
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+18
+15
+14
+13
+12
+9
+10
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+88
+80
+75
+68
+64
+58
+56
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+9
+9
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+35
+34
+31
+29
+25
+24
+22
+21
+17
+17
+15
+14
+12
+11
+9
+9
+8
+8
+6
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+-1
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+10
+9
+8
+7
+5
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-23
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+65
+59
+55
+49
+47
+42
+40
+36
+34
+30
+29
+25
+24
+22
+20
+18
+17
+15
+14
+12
+11
+10
+9
+8
+8
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+-1
+1
+0
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+49
+47
+42
+40
+36
+33
+30
+29
+26
+24
+21
+20
+18
+17
+15
+14
+12
+12
+10
+9
+7
+7
+6
+6
+4
+4
+3
+4
+2
+1
+1
+1
+0
+0
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+94
+88
+80
+75
+69
+65
+59
+55
+49
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+21
+18
+16
+15
+14
+11
+12
+10
+9
+8
+8
+6
+6
+5
+5
+3
+3
+2
+1
+1
+1
+0
+0
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-50
+-48
+-45
+-42
+-39
+-37
+-34
+-33
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+97
+91
+82
+78
+71
+66
+61
+57
+51
+48
+44
+41
+37
+35
+31
+29
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-66
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+68
+64
+58
+55
+49
+47
+43
+40
+35
+33
+30
+28
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+4
+3
+3
+2
+3
+1
+1
+0
+0
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-45
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-10
+-9
+-8
+-8
+-7
+-8
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+70
+67
+60
+57
+51
+48
+44
+42
+37
+35
+31
+29
+26
+25
+22
+20
+18
+18
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+4
+5
+3
+2
+2
+3
+1
+1
+0
+1
+0
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+34
+31
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+11
+9
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-39
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+88
+80
+75
+69
+64
+58
+55
+50
+47
+42
+41
+36
+33
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+9
+10
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+-1
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-30
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+22
+20
+18
+17
+15
+14
+12
+11
+9
+10
+8
+7
+6
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+-1
+-1
+0
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-29
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+70
+67
+61
+56
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+12
+11
+10
+10
+8
+7
+6
+6
+5
+5
+3
+4
+3
+2
+1
+1
+0
+1
+0
+0
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-6
+-4
+-6
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+90
+83
+78
+70
+66
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+13
+11
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+3
+2
+0
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+103
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+39
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+10
+8
+8
+6
+6
+4
+4
+3
+3
+2
+2
+0
+1
+1
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+64
+58
+56
+49
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+9
+10
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-42
+-38
+-36
+-33
+-32
+-30
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+9
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+68
+64
+58
+55
+50
+47
+43
+40
+35
+33
+30
+29
+25
+24
+21
+21
+18
+17
+15
+14
+12
+11
+9
+9
+8
+7
+6
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+83
+78
+70
+67
+61
+57
+51
+48
+43
+42
+37
+34
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+7
+5
+4
+3
+4
+2
+3
+1
+1
+0
+1
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-112
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+94
+88
+79
+75
+69
+64
+59
+55
+50
+47
+43
+40
+35
+33
+30
+28
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+9
+7
+8
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+96
+90
+83
+78
+71
+67
+60
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+9
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+94
+88
+80
+75
+68
+64
+59
+55
+49
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+21
+18
+17
+15
+14
+12
+12
+10
+9
+7
+7
+6
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-16
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+76
+68
+64
+59
+55
+49
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+16
+15
+14
+11
+11
+10
+9
+8
+8
+6
+6
+5
+5
+2
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+69
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-2
+-26
+-48
+-66
+-81
+-93
+-104
+-97
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-43
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+69
+65
+59
+55
+49
+47
+42
+40
+35
+33
+30
+28
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+9
+9
+7
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-70
+-65
+-61
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+68
+64
+58
+55
+49
+47
+42
+40
+36
+33
+30
+28
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+25
+25
+22
+20
+18
+17
+14
+14
+11
+11
+10
+10
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+0
+1
+0
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+31
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+12
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+34
+31
+29
+25
+24
+22
+20
+18
+17
+15
+14
+12
+11
+9
+10
+7
+7
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+12
+9
+10
+8
+7
+6
+6
+4
+4
+3
+3
+1
+3
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+109
+103
+93
+87
+80
+76
+69
+65
+58
+55
+50
+47
+41
+40
+36
+33
+30
+29
+26
+24
+21
+20
+18
+17
+15
+13
+12
+11
+9
+9
+7
+8
+6
+6
+4
+4
+4
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-23
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+88
+80
+75
+68
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+12
+10
+9
+8
+8
+5
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+0
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+21
+17
+17
+15
+14
+12
+11
+9
+9
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+-1
+1
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+12
+9
+9
+8
+8
+6
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+68
+64
+59
+55
+50
+47
+43
+40
+35
+34
+30
+28
+25
+24
+21
+21
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-5
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-14
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+82
+78
+71
+67
+61
+57
+51
+49
+44
+41
+36
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+7
+8
+6
+6
+5
+5
+3
+4
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-39
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-19
+-19
+-18
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+69
+64
+58
+55
+50
+47
+43
+40
+35
+33
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+8
+8
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+119
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+25
+21
+19
+17
+17
+14
+14
+12
+11
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+35
+33
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+9
+9
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-43
+-41
+-38
+-37
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+33
+31
+28
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+10
+10
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-51
+-48
+-45
+-42
+-39
+-37
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+106
+97
+91
+83
+78
+71
+67
+61
+56
+51
+49
+43
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+5
+4
+3
+3
+2
+3
+1
+1
+0
+1
+0
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+87
+80
+76
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+12
+9
+9
+8
+7
+5
+6
+4
+4
+3
+4
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+65
+59
+55
+49
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+15
+14
+11
+11
+10
+9
+8
+7
+5
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+87
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+11
+9
+9
+8
+7
+6
+6
+4
+4
+3
+4
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-25
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+94
+88
+80
+75
+69
+65
+59
+55
+49
+47
+42
+39
+36
+34
+30
+29
+25
+24
+21
+21
+18
+17
+15
+14
+11
+11
+10
+9
+7
+8
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-39
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+75
+68
+64
+58
+55
+49
+47
+43
+40
+36
+34
+30
+29
+25
+24
+21
+20
+18
+16
+15
+14
+12
+11
+10
+9
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+69
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+26
+25
+21
+20
+18
+17
+15
+14
+12
+11
+10
+9
+7
+8
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+15
+14
+12
+12
+10
+9
+8
+7
+6
+6
+4
+4
+3
+3
+2
+1
+1
+2
+0
+0
+-1
+0
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-51
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-9
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+42
+37
+35
+31
+29
+26
+25
+22
+20
+18
+18
+15
+15
+12
+12
+10
+10
+8
+7
+6
+6
+5
+4
+3
+4
+2
+3
+1
+1
+0
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-43
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+33
+30
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+8
+8
+5
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+69
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+25
+24
+21
+20
+17
+17
+15
+15
+12
+11
+9
+9
+8
+7
+5
+6
+4
+4
+3
+3
+2
+2
+1
+1
+-1
+1
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+11
+11
+10
+9
+8
+7
+6
+6
+5
+5
+3
+3
+2
+1
+1
+1
+0
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+11
+12
+10
+9
+7
+8
+6
+6
+4
+4
+3
+3
+2
+1
+1
+1
+0
+1
+-1
+-1
+-2
+-1
+-1
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-6
+-4
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-36
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+66
+60
+57
+52
+49
+43
+41
+37
+36
+31
+29
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+5
+5
+5
+3
+3
+2
+3
+1
+2
+0
+0
+0
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+43
+40
+35
+34
+30
+28
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+4
+3
+3
+2
+1
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-82
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-25
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+76
+69
+64
+58
+55
+50
+47
+42
+40
+35
+34
+31
+28
+25
+24
+21
+20
+18
+16
+14
+14
+12
+11
+9
+10
+8
+8
+6
+5
+4
+5
+3
+3
+2
+2
+1
+2
+1
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+56
+50
+47
+43
+40
+36
+34
+30
+29
+25
+24
+22
+20
+18
+17
+14
+14
+12
+11
+9
+9
+8
+7
+6
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+31
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+12
+10
+9
+8
+7
+6
+5
+3
+5
+3
+3
+1
+2
+1
+1
+1
+1
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+9
+9
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+0
+0
+1
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+33
+31
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+9
+10
+8
+8
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-29
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+-13
+-13
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+67
+60
+56
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+14
+12
+12
+10
+10
+8
+8
+6
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-2
+-3
+-4
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-3
+-4
+-5
+-4
+-3
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-6
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+-13
+-13
+-12
+-12
+-10
+-11
+-10
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+70
+67
+60
+57
+51
+48
+43
+41
+38
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+9
+8
+8
+6
+6
+5
+4
+3
+4
+2
+2
+1
+1
+1
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+87
+80
+76
+68
+65
+59
+55
+50
+47
+42
+40
+36
+33
+30
+29
+26
+24
+21
+21
+18
+17
+14
+14
+12
+12
+9
+9
+8
+8
+6
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-66
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+94
+88
+80
+75
+69
+64
+59
+55
+49
+47
+42
+40
+35
+34
+30
+29
+26
+25
+21
+21
+18
+16
+15
+14
+11
+11
+9
+9
+8
+8
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+76
+69
+64
+58
+55
+50
+47
+43
+40
+35
+34
+30
+29
+25
+24
+21
+21
+18
+16
+14
+14
+12
+12
+9
+9
+7
+8
+6
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+-1
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-106
+-98
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+10
+7
+8
+6
+6
+4
+5
+3
+3
+2
+2
+0
+1
+0
+1
+-1
+0
+-1
+-1
+-1
+-1
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-51
+-48
+-45
+-42
+-38
+-37
+-34
+-33
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+68
+65
+58
+55
+50
+47
+41
+40
+36
+34
+30
+29
+25
+24
+21
+20
+17
+17
+15
+14
+11
+11
+10
+10
+8
+7
+6
+6
+5
+4
+2
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+78
+71
+66
+60
+57
+52
+48
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+1
+0
+1
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-43
+-41
+-38
+-36
+-33
+-32
+-30
+-28
+-25
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+69
+64
+58
+55
+50
+47
+42
+40
+36
+34
+31
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+11
+9
+9
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+0
+0
+1
+-1
+0
+-1
+-25
+-47
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-99
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+88
+80
+75
+69
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+28
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+10
+9
+7
+7
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+15
+13
+12
+11
+10
+9
+8
+7
+6
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+109
+103
+94
+88
+80
+75
+68
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+23
+21
+20
+17
+17
+14
+14
+12
+12
+10
+9
+8
+8
+5
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+76
+68
+65
+59
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+22
+20
+17
+17
+15
+14
+12
+11
+9
+9
+8
+8
+5
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-5
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-33
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+93
+88
+80
+75
+69
+64
+58
+55
+50
+47
+42
+40
+36
+33
+31
+29
+25
+24
+21
+20
+17
+17
+15
+14
+12
+11
+9
+10
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-17
+-15
+-14
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+22
+20
+18
+17
+15
+14
+12
+11
+9
+9
+8
+7
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-93
+-86
+-81
+-76
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-43
+-41
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+82
+78
+71
+66
+61
+57
+52
+48
+43
+42
+37
+35
+31
+29
+27
+25
+21
+21
+19
+17
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+1
+0
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+109
+101
+94
+88
+80
+75
+68
+64
+58
+55
+49
+47
+43
+40
+35
+34
+30
+28
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+119
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+35
+34
+31
+29
+25
+24
+21
+21
+18
+17
+14
+14
+12
+11
+10
+9
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+31
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+12
+10
+10
+8
+7
+6
+6
+4
+5
+3
+2
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+106
+96
+91
+83
+77
+71
+67
+60
+57
+51
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+10
+10
+8
+7
+6
+6
+4
+5
+4
+3
+2
+2
+1
+2
+0
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-14
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+18
+17
+14
+14
+12
+11
+9
+9
+8
+8
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+1
+-1
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-22
+-19
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+75
+68
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+25
+24
+21
+20
+17
+17
+14
+13
+12
+11
+10
+10
+8
+7
+6
+6
+4
+4
+2
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-106
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+87
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+35
+34
+30
+29
+25
+23
+21
+21
+17
+17
+14
+14
+12
+12
+9
+9
+7
+7
+6
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+103
+94
+88
+80
+76
+68
+65
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+12
+10
+9
+7
+8
+6
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-2
+-26
+-48
+-66
+-81
+-93
+-104
+-97
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-70
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+87
+80
+75
+68
+64
+59
+56
+50
+47
+42
+40
+36
+34
+29
+29
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+9
+9
+7
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+94
+88
+80
+75
+69
+64
+58
+55
+49
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+8
+8
+6
+6
+4
+5
+3
+3
+2
+2
+1
+2
+0
+0
+-1
+0
+-1
+-1
+-2
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-29
+-50
+-67
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+11
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+1
+1
+1
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+79
+75
+68
+64
+58
+55
+50
+47
+43
+40
+36
+33
+30
+29
+24
+24
+21
+20
+18
+17
+15
+14
+12
+12
+9
+9
+8
+6
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+82
+78
+71
+67
+60
+56
+51
+49
+43
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+10
+10
+8
+8
+6
+6
+5
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-47
+-43
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-26
+-25
+-22
+-21
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+88
+80
+76
+68
+64
+58
+55
+50
+47
+42
+40
+36
+34
+30
+29
+26
+24
+21
+20
+17
+17
+14
+14
+12
+12
+9
+9
+8
+8
+6
+6
+4
+3
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-93
+-86
+-81
+-75
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-24
+-22
+-21
+-20
+-19
+-17
+-17
+-16
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+94
+87
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+36
+33
+30
+29
+25
+24
+21
+20
+18
+17
+15
+14
+12
+12
+10
+9
+8
+7
+5
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-26
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-105
+-98
+-92
+-86
+-81
+-75
+-71
+-65
+-62
+-58
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-33
+-32
+-29
+-28
+-25
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+119
+109
+102
+93
+87
+80
+76
+68
+64
+59
+55
+50
+47
+42
+40
+36
+33
+29
+29
+26
+24
+21
+20
+18
+17
+15
+14
+11
+11
+10
+9
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+-1
+0
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-5
+-6
+-4
+-5
+-4
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-6
+-4
+-5
+-4
+-6
+-5
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-29
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-15
+-13
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+106
+97
+91
+83
+78
+71
+66
+60
+57
+51
+49
+44
+41
+37
+35
+31
+29
+27
+25
+22
+21
+18
+17
+15
+15
+12
+11
+10
+10
+8
+8
+6
+6
+5
+4
+2
+4
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-3
+-2
+-3
+-2
+-4
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-4
+-5
+-4
+-5
+-3
+-5
+-4
+-4
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-66
+-63
+-58
+-55
+-50
+-48
+-44
+-42
+-39
+-36
+-34
+-32
+-30
+-28
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-11
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+112
+105
+96
+91
+82
+78
+71
+66
+60
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+10
+9
+7
+8
+6
+6
+5
+5
+4
+3
+2
+2
+1
+1
+0
+0
+0
+0
+-1
+-25
+-48
+-65
+-81
+-93
+-104
+-112
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-105
+-98
+-92
+-86
+-81
+-75
+-70
+-66
+-62
+-57
+-54
+-50
+-47
+-44
+-42
+-38
+-36
+-33
diff --git a/traces/modulation-ask-man-16.pm3 b/traces/modulation-ask-man-16.pm3
new file mode 100644 (file)
index 0000000..aca260b
--- /dev/null
@@ -0,0 +1,20000 @@
+-127
+-127
+-127
+-127
+-112
+-108
+-101
+-111
+-104
+-97
+-23
+114
+127
+127
+127
+127
+121
+82
+37
+-11
+-50
+-84
+-111
+-127
+-127
+-112
+-51
+85
+127
+127
+127
+127
+92
+56
+14
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+120
+83
+48
+6
+-37
+-72
+-103
+-112
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+117
+79
+45
+3
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+67
+127
+127
+127
+115
+79
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-69
+67
+127
+127
+127
+115
+78
+43
+19
+6
+3
+5
+11
+15
+18
+18
+-2
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-78
+60
+127
+127
+127
+109
+72
+37
+-3
+-45
+-79
+-109
+-127
+-127
+-127
+-127
+-73
+64
+127
+127
+127
+112
+76
+40
+0
+-42
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-106
+-100
+-110
+-102
+-96
+-22
+115
+127
+127
+127
+127
+121
+83
+38
+-10
+-49
+-83
+-110
+-127
+-127
+-111
+-50
+86
+127
+127
+127
+127
+92
+56
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-103
+-112
+-127
+-127
+-127
+-67
+69
+127
+127
+127
+117
+80
+45
+21
+8
+4
+5
+11
+15
+18
+19
+-2
+-43
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-107
+-100
+-26
+112
+127
+127
+127
+127
+120
+81
+35
+-12
+-51
+-84
+-111
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+91
+55
+13
+-32
+-68
+-99
+-108
+-127
+-127
+-127
+-63
+73
+127
+127
+127
+120
+82
+47
+6
+-37
+-73
+-103
+-112
+-127
+-127
+-127
+-67
+69
+127
+127
+127
+116
+79
+45
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+79
+43
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+19
+5
+3
+4
+10
+14
+18
+18
+-2
+-43
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-107
+-101
+-26
+111
+127
+127
+127
+127
+119
+80
+35
+-12
+-51
+-84
+-112
+-127
+-127
+-127
+-52
+84
+127
+127
+127
+127
+92
+56
+31
+16
+13
+14
+18
+22
+25
+24
+4
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-112
+-104
+-98
+-24
+113
+127
+127
+127
+127
+120
+82
+37
+-11
+-50
+-84
+-111
+-127
+-127
+-112
+-51
+86
+127
+127
+127
+127
+92
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+120
+83
+47
+6
+-37
+-73
+-103
+-112
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+80
+45
+21
+7
+5
+5
+11
+15
+19
+19
+-1
+-43
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-26
+112
+127
+127
+127
+127
+119
+81
+54
+37
+31
+30
+33
+36
+39
+37
+17
+-28
+-65
+-96
+-106
+-127
+-127
+-127
+-127
+-127
+-107
+-103
+-97
+-108
+-100
+-94
+-20
+117
+127
+127
+127
+127
+122
+84
+39
+-10
+-49
+-82
+-109
+-127
+-127
+-111
+-50
+87
+127
+127
+127
+127
+93
+57
+15
+-30
+-66
+-97
+-107
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+121
+83
+48
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-67
+69
+127
+127
+127
+117
+80
+45
+4
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+79
+43
+19
+6
+3
+5
+10
+14
+18
+18
+-1
+-43
+-77
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-101
+-26
+111
+127
+127
+127
+127
+119
+80
+54
+36
+31
+30
+33
+36
+39
+37
+16
+-28
+-65
+-97
+-106
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+117
+79
+44
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-105
+-99
+-109
+-101
+-95
+-21
+116
+127
+127
+127
+127
+123
+83
+38
+-10
+-49
+-82
+-110
+-127
+-127
+-111
+-50
+86
+127
+127
+127
+127
+93
+56
+14
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-63
+73
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-103
+-112
+-127
+-127
+-127
+-67
+69
+127
+127
+127
+116
+80
+45
+4
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+79
+44
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+77
+42
+2
+-41
+-75
+-106
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+114
+78
+42
+1
+-41
+-76
+-106
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+114
+78
+42
+1
+-41
+-75
+-106
+-127
+-127
+-127
+-127
+-70
+66
+127
+127
+127
+115
+78
+42
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+1
+-41
+-75
+-106
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-106
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+42
+20
+6
+3
+5
+11
+14
+18
+18
+-2
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-108
+-101
+-27
+111
+127
+127
+127
+127
+119
+80
+35
+-12
+-51
+-85
+-111
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+91
+55
+12
+-32
+-68
+-99
+-108
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+120
+82
+47
+6
+-38
+-73
+-103
+-112
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+117
+79
+44
+3
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+78
+43
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+19
+6
+3
+5
+10
+13
+18
+18
+-2
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-101
+-26
+111
+127
+127
+127
+127
+119
+80
+35
+-12
+-51
+-84
+-112
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+72
+127
+127
+127
+120
+83
+48
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+117
+79
+45
+4
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+116
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+77
+42
+2
+-41
+-76
+-106
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+19
+6
+3
+5
+11
+14
+18
+19
+-2
+-43
+-78
+-108
+-127
+-127
+-127
+-127
+-79
+60
+127
+127
+127
+109
+71
+36
+-4
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-105
+-98
+-23
+114
+127
+127
+127
+127
+121
+82
+37
+-11
+-50
+-83
+-111
+-127
+-127
+-112
+-51
+86
+127
+127
+127
+127
+92
+56
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-103
+-112
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+117
+79
+44
+3
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+79
+44
+20
+6
+3
+5
+11
+14
+18
+18
+-3
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-108
+-101
+-26
+112
+127
+127
+127
+127
+120
+81
+36
+-12
+-51
+-84
+-111
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+91
+55
+12
+-32
+-68
+-99
+-108
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+47
+5
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+117
+80
+45
+3
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+19
+6
+3
+5
+11
+13
+18
+19
+-2
+-43
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-108
+-101
+-27
+111
+127
+127
+127
+127
+119
+80
+53
+36
+31
+31
+35
+36
+38
+37
+16
+-28
+-65
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-108
+-104
+-98
+-108
+-101
+-95
+-20
+117
+127
+127
+127
+127
+124
+85
+39
+-9
+-48
+-82
+-109
+-127
+-127
+-111
+-50
+87
+127
+127
+127
+127
+93
+56
+14
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-63
+74
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+117
+80
+44
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+79
+43
+20
+7
+3
+5
+11
+14
+18
+19
+-2
+-43
+-77
+-108
+-127
+-127
+-127
+-127
+-79
+60
+127
+127
+127
+109
+71
+36
+-4
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-112
+-105
+-98
+-22
+115
+127
+127
+127
+127
+121
+83
+37
+-11
+-50
+-83
+-110
+-127
+-127
+-112
+-50
+86
+127
+127
+127
+127
+92
+56
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+73
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-69
+69
+127
+127
+127
+117
+80
+44
+3
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+79
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+79
+42
+19
+6
+3
+5
+11
+15
+18
+18
+-2
+-43
+-78
+-107
+-127
+-127
+-127
+-127
+-79
+60
+127
+127
+127
+109
+71
+36
+-4
+-45
+-79
+-109
+-127
+-127
+-127
+-127
+-74
+64
+127
+127
+127
+112
+76
+40
+0
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-108
+-101
+-111
+-103
+-97
+-22
+116
+127
+127
+127
+127
+122
+83
+38
+-10
+-49
+-82
+-110
+-127
+-127
+-112
+-50
+86
+127
+127
+127
+127
+93
+56
+14
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-63
+74
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+80
+44
+21
+7
+5
+6
+12
+16
+18
+19
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-108
+-102
+-27
+112
+127
+127
+127
+127
+119
+81
+36
+-12
+-51
+-84
+-111
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+91
+56
+13
+-32
+-67
+-99
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+79
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+43
+19
+6
+3
+4
+10
+14
+18
+19
+-2
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-108
+-102
+-26
+112
+127
+127
+127
+127
+119
+80
+35
+-13
+-51
+-84
+-111
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+91
+55
+31
+16
+13
+14
+19
+22
+26
+25
+4
+-39
+-73
+-104
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-114
+-106
+-100
+-25
+114
+127
+127
+127
+127
+121
+82
+37
+-11
+-49
+-83
+-110
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+92
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+47
+5
+-37
+-73
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+79
+44
+20
+7
+5
+6
+12
+16
+19
+19
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-108
+-102
+-26
+112
+127
+127
+127
+127
+119
+81
+55
+37
+32
+31
+34
+36
+39
+38
+16
+-28
+-65
+-96
+-106
+-127
+-127
+-127
+-127
+-127
+-109
+-104
+-98
+-108
+-101
+-95
+-20
+118
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-82
+-109
+-127
+-127
+-111
+-50
+87
+127
+127
+127
+127
+92
+56
+14
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-63
+74
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+80
+45
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+79
+43
+20
+6
+4
+4
+11
+15
+18
+19
+-2
+-43
+-77
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-108
+-102
+-26
+112
+127
+127
+127
+127
+119
+80
+54
+36
+31
+31
+34
+37
+40
+38
+17
+-28
+-64
+-96
+-105
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+117
+79
+44
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-106
+-100
+-110
+-102
+-96
+-21
+117
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-82
+-109
+-127
+-127
+-111
+-51
+86
+127
+127
+127
+127
+93
+57
+14
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-63
+74
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+43
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+114
+78
+42
+1
+-41
+-76
+-106
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+114
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+114
+78
+43
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+114
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+114
+77
+42
+1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+19
+6
+3
+5
+11
+15
+19
+19
+-3
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-102
+-27
+112
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-52
+85
+127
+127
+127
+127
+92
+55
+12
+-32
+-68
+-98
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+119
+82
+47
+5
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-75
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+116
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+67
+127
+127
+127
+115
+77
+42
+20
+7
+4
+6
+11
+14
+19
+19
+-3
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-101
+-27
+112
+127
+127
+127
+127
+120
+81
+36
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-52
+86
+127
+127
+127
+127
+91
+55
+12
+-32
+-68
+-99
+-108
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+119
+82
+46
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+114
+77
+42
+19
+6
+3
+5
+11
+14
+19
+19
+-3
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-79
+61
+127
+127
+127
+108
+72
+36
+-4
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-98
+-23
+115
+127
+127
+127
+127
+121
+83
+37
+-10
+-49
+-83
+-110
+-127
+-127
+-112
+-51
+86
+127
+127
+127
+127
+92
+56
+14
+-31
+-67
+-97
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+20
+7
+4
+6
+12
+15
+19
+19
+-3
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-102
+-26
+112
+127
+127
+127
+127
+120
+80
+36
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+12
+-32
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+119
+82
+47
+5
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+19
+6
+3
+5
+11
+14
+18
+18
+-2
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-102
+-26
+112
+127
+127
+127
+127
+119
+79
+54
+37
+32
+31
+35
+37
+40
+38
+17
+-28
+-64
+-96
+-105
+-127
+-127
+-127
+-127
+-127
+-109
+-105
+-99
+-109
+-101
+-96
+-21
+118
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-109
+-127
+-127
+-112
+-50
+88
+127
+127
+127
+127
+93
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+121
+82
+47
+5
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-69
+68
+127
+127
+127
+115
+78
+42
+20
+7
+3
+5
+11
+15
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-79
+61
+127
+127
+127
+108
+71
+36
+-4
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-114
+-105
+-98
+-23
+116
+127
+127
+127
+127
+121
+82
+37
+-10
+-49
+-83
+-110
+-127
+-127
+-127
+-51
+86
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+79
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+19
+6
+3
+5
+11
+15
+18
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-79
+60
+127
+127
+127
+108
+71
+36
+-4
+-45
+-79
+-109
+-127
+-127
+-127
+-127
+-74
+64
+127
+127
+127
+112
+75
+40
+-1
+-42
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-102
+-111
+-104
+-97
+-22
+117
+127
+127
+127
+127
+122
+83
+38
+-9
+-48
+-82
+-109
+-127
+-127
+-112
+-52
+86
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+83
+47
+5
+-37
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+79
+43
+21
+8
+5
+6
+12
+16
+19
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-102
+-26
+112
+127
+127
+127
+127
+120
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+73
+127
+127
+127
+120
+82
+46
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+114
+78
+43
+20
+6
+4
+5
+11
+15
+18
+18
+-2
+-44
+-78
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-27
+112
+127
+127
+127
+127
+119
+81
+35
+-12
+-51
+-84
+-111
+-127
+-127
+-127
+-52
+86
+127
+127
+127
+127
+91
+54
+30
+15
+13
+14
+20
+23
+27
+26
+5
+-38
+-73
+-103
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-98
+-106
+-100
+-25
+114
+127
+127
+127
+127
+120
+81
+37
+-11
+-49
+-83
+-110
+-127
+-127
+-127
+-52
+86
+127
+127
+127
+127
+92
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+47
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+69
+127
+127
+127
+116
+79
+44
+20
+7
+5
+6
+13
+16
+19
+19
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-102
+-26
+113
+127
+127
+127
+127
+119
+81
+54
+37
+32
+32
+36
+38
+40
+38
+16
+-28
+-64
+-96
+-105
+-127
+-127
+-127
+-127
+-127
+-111
+-106
+-99
+-110
+-102
+-96
+-20
+118
+127
+127
+127
+127
+124
+84
+39
+-9
+-48
+-82
+-109
+-127
+-127
+-111
+-50
+87
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+47
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+20
+7
+5
+6
+11
+15
+19
+18
+-2
+-44
+-78
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-109
+-103
+-27
+113
+127
+127
+127
+127
+119
+80
+54
+36
+32
+31
+35
+37
+40
+38
+17
+-27
+-64
+-95
+-105
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-111
+-103
+-96
+-21
+118
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-82
+-109
+-127
+-127
+-112
+-51
+87
+127
+127
+127
+127
+93
+56
+14
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+47
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+2
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-70
+69
+127
+127
+127
+114
+78
+43
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+114
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+114
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+78
+42
+19
+6
+3
+5
+11
+15
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-102
+-27
+112
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+12
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+2
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+78
+42
+19
+6
+3
+6
+11
+16
+19
+19
+-2
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-102
+-110
+-103
+-27
+112
+127
+127
+127
+127
+119
+81
+36
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+12
+-32
+-67
+-98
+-107
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+119
+82
+46
+5
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-104
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+19
+6
+4
+5
+11
+15
+18
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+60
+127
+127
+127
+108
+71
+36
+-4
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-106
+-99
+-23
+116
+127
+127
+127
+127
+121
+82
+37
+-10
+-49
+-83
+-110
+-127
+-127
+-127
+-52
+86
+127
+127
+127
+127
+92
+56
+14
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+69
+127
+127
+127
+115
+78
+42
+19
+6
+4
+6
+12
+16
+19
+19
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-27
+112
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+83
+46
+5
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-68
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+69
+127
+127
+127
+115
+77
+42
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+19
+6
+4
+6
+11
+15
+19
+19
+-2
+-44
+-78
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-110
+-103
+-26
+113
+127
+127
+127
+127
+119
+80
+54
+37
+32
+31
+35
+38
+40
+39
+17
+-27
+-64
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-111
+-106
+-100
+-110
+-102
+-96
+-20
+119
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-109
+-127
+-127
+-112
+-51
+88
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+117
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+43
+20
+6
+4
+6
+12
+16
+19
+19
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-79
+60
+127
+127
+127
+108
+71
+36
+-4
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-106
+-100
+-23
+116
+127
+127
+127
+127
+121
+83
+38
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+87
+127
+127
+127
+127
+92
+56
+14
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+43
+1
+-40
+-75
+-104
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+77
+42
+20
+7
+4
+5
+11
+16
+19
+19
+-2
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+60
+127
+127
+127
+108
+71
+35
+-5
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-74
+64
+127
+127
+127
+112
+75
+40
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-104
+-98
+-22
+118
+127
+127
+127
+127
+121
+83
+38
+-10
+-49
+-82
+-109
+-127
+-127
+-112
+-52
+87
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+21
+8
+5
+7
+13
+16
+20
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-109
+-103
+-26
+114
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+116
+78
+42
+1
+-41
+-75
+-104
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+41
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+114
+77
+41
+19
+6
+4
+6
+12
+16
+19
+19
+-2
+-44
+-78
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-110
+-103
+-27
+113
+127
+127
+127
+127
+119
+81
+36
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+55
+31
+16
+13
+14
+19
+23
+26
+26
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-100
+-25
+115
+127
+127
+127
+127
+120
+81
+36
+-11
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+92
+55
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+83
+47
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+69
+127
+127
+127
+117
+79
+43
+21
+8
+5
+7
+13
+16
+20
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-110
+-103
+-27
+114
+127
+127
+127
+127
+119
+80
+54
+37
+33
+33
+36
+38
+41
+39
+17
+-28
+-64
+-95
+-105
+-127
+-127
+-127
+-127
+-127
+-111
+-107
+-100
+-110
+-103
+-96
+-21
+119
+127
+127
+127
+127
+123
+84
+40
+-9
+-47
+-81
+-108
+-127
+-127
+-112
+-51
+88
+127
+127
+127
+127
+93
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+75
+127
+127
+127
+120
+83
+46
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+42
+2
+-40
+-74
+-104
+-127
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+42
+20
+7
+5
+6
+12
+16
+20
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-110
+-103
+-27
+114
+127
+127
+127
+127
+119
+81
+55
+37
+32
+31
+35
+38
+40
+39
+17
+-28
+-64
+-95
+-105
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+78
+43
+1
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-112
+-103
+-97
+-20
+119
+127
+127
+127
+127
+123
+83
+38
+-10
+-48
+-82
+-109
+-127
+-127
+-112
+-51
+88
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+74
+127
+127
+127
+120
+83
+48
+6
+-37
+-71
+-102
+-110
+-127
+-127
+-127
+-69
+69
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+67
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+19
+6
+3
+6
+12
+15
+19
+19
+-2
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-103
+-27
+113
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+12
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+41
+19
+6
+4
+6
+12
+15
+19
+19
+-2
+-44
+-78
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-110
+-103
+-27
+113
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+85
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+119
+82
+47
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+2
+-40
+-75
+-104
+-112
+-127
+-127
+-127
+-70
+69
+127
+127
+127
+115
+77
+42
+2
+-40
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+20
+7
+4
+6
+12
+15
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+60
+127
+127
+127
+108
+70
+35
+-5
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-98
+-107
+-99
+-23
+118
+127
+127
+127
+127
+121
+83
+37
+-11
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+87
+127
+127
+127
+127
+92
+56
+13
+-31
+-67
+-98
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+19
+7
+4
+6
+12
+15
+19
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-110
+-103
+-27
+113
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+56
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+41
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+19
+7
+4
+6
+12
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-104
+-27
+113
+127
+127
+127
+127
+120
+80
+54
+38
+33
+31
+36
+38
+40
+39
+17
+-27
+-63
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-112
+-108
+-101
+-111
+-103
+-97
+-20
+120
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-109
+-127
+-127
+-112
+-51
+88
+127
+127
+127
+127
+93
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+42
+19
+6
+5
+6
+12
+16
+19
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+61
+127
+127
+127
+108
+70
+36
+-5
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-106
+-100
+-23
+117
+127
+127
+127
+127
+121
+83
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+87
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+78
+42
+19
+6
+5
+6
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+61
+127
+127
+127
+107
+69
+35
+-5
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-75
+65
+127
+127
+127
+112
+75
+39
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-113
+-105
+-99
+-22
+119
+127
+127
+127
+127
+122
+83
+38
+-10
+-48
+-82
+-109
+-127
+-127
+-127
+-51
+88
+127
+127
+127
+127
+92
+56
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+83
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+21
+8
+6
+7
+13
+17
+20
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-111
+-104
+-27
+114
+127
+127
+127
+127
+120
+81
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-98
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+19
+6
+5
+6
+12
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-104
+-27
+114
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-111
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+55
+31
+16
+14
+16
+20
+23
+27
+26
+4
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-108
+-101
+-24
+116
+127
+127
+127
+127
+120
+81
+37
+-11
+-49
+-83
+-110
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+92
+55
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+21
+8
+6
+7
+13
+16
+19
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-103
+-27
+115
+127
+127
+127
+127
+119
+80
+54
+37
+33
+32
+36
+38
+41
+40
+17
+-27
+-63
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-112
+-108
+-101
+-111
+-103
+-97
+-21
+120
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-108
+-127
+-127
+-127
+-51
+88
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+69
+127
+127
+127
+115
+78
+42
+19
+6
+5
+7
+12
+16
+20
+19
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-104
+-27
+114
+127
+127
+127
+127
+119
+80
+55
+37
+33
+33
+36
+38
+41
+39
+16
+-28
+-64
+-95
+-105
+-127
+-127
+-127
+-69
+71
+127
+127
+127
+115
+78
+43
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-112
+-104
+-97
+-21
+120
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-108
+-127
+-127
+-112
+-51
+88
+127
+127
+127
+127
+93
+56
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-73
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+19
+7
+4
+6
+12
+15
+19
+19
+-3
+-44
+-78
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-111
+-104
+-27
+114
+127
+127
+127
+127
+120
+80
+35
+-12
+-50
+-84
+-110
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+91
+54
+12
+-32
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+79
+44
+3
+-40
+-73
+-103
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+19
+7
+4
+6
+12
+15
+19
+20
+-2
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-110
+-103
+-27
+114
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+117
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+76
+41
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+19
+7
+4
+7
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+61
+127
+127
+127
+108
+70
+35
+-5
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-100
+-23
+117
+127
+127
+127
+127
+122
+83
+38
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+78
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+43
+20
+7
+5
+7
+13
+16
+19
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-104
+-27
+114
+127
+127
+127
+127
+119
+79
+35
+-12
+-50
+-84
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+54
+12
+-32
+-67
+-98
+-106
+-127
+-127
+-127
+-65
+74
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+43
+1
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+19
+6
+3
+6
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-112
+-104
+-27
+114
+127
+127
+127
+127
+119
+80
+55
+38
+33
+32
+37
+39
+41
+39
+17
+-27
+-64
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-111
+-104
+-97
+-21
+120
+127
+127
+127
+127
+124
+85
+39
+-9
+-47
+-81
+-108
+-127
+-127
+-112
+-51
+88
+127
+127
+127
+127
+93
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+75
+127
+127
+127
+120
+83
+46
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+20
+7
+6
+6
+12
+16
+20
+19
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+107
+70
+35
+-5
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-106
+-100
+-23
+118
+127
+127
+127
+127
+121
+82
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+117
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-70
+69
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+19
+6
+5
+6
+13
+16
+19
+20
+-1
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+107
+69
+35
+-5
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-75
+65
+127
+127
+127
+112
+75
+39
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-106
+-99
+-22
+119
+127
+127
+127
+127
+123
+83
+38
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+43
+21
+8
+6
+8
+14
+18
+20
+20
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-104
+-27
+114
+127
+127
+127
+127
+120
+81
+36
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+55
+12
+-32
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+119
+82
+46
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+1
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+19
+6
+5
+6
+12
+15
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-111
+-104
+-27
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-110
+-127
+-127
+-127
+-53
+86
+127
+127
+127
+127
+91
+55
+31
+17
+15
+16
+21
+24
+27
+26
+5
+-38
+-72
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-102
+-25
+116
+127
+127
+127
+127
+121
+82
+36
+-11
+-49
+-82
+-109
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+91
+54
+12
+-31
+-67
+-98
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+21
+8
+6
+7
+14
+18
+21
+20
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-111
+-105
+-27
+115
+127
+127
+127
+127
+120
+81
+55
+38
+33
+33
+36
+39
+41
+39
+17
+-27
+-63
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-112
+-104
+-97
+-21
+120
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-108
+-127
+-127
+-127
+-51
+88
+127
+127
+127
+127
+93
+56
+14
+-30
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+83
+47
+6
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-73
+-104
+-112
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+42
+19
+7
+5
+7
+13
+16
+20
+19
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-111
+-104
+-27
+115
+127
+127
+127
+127
+119
+80
+55
+38
+33
+33
+37
+39
+42
+39
+17
+-27
+-63
+-95
+-104
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+42
+1
+-41
+-75
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-113
+-105
+-97
+-21
+120
+127
+127
+127
+127
+123
+84
+39
+-9
+-48
+-81
+-108
+-127
+-127
+-127
+-51
+88
+127
+127
+127
+127
+92
+56
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-64
+75
+127
+127
+127
+120
+82
+47
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+71
+127
+127
+127
+115
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-40
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+78
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-104
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+19
+6
+5
+7
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-104
+-27
+114
+127
+127
+127
+127
+120
+81
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+86
+127
+127
+127
+127
+91
+54
+12
+-32
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+119
+82
+46
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+77
+42
+2
+-40
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+19
+6
+4
+7
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-104
+-27
+114
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-84
+-110
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+91
+55
+12
+-31
+-67
+-98
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+119
+82
+46
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+79
+43
+3
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+19
+6
+5
+7
+13
+16
+20
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+108
+70
+35
+-5
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-107
+-100
+-23
+118
+127
+127
+127
+127
+122
+83
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+77
+42
+20
+7
+5
+7
+13
+16
+20
+19
+-3
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-104
+-27
+115
+127
+127
+127
+127
+120
+81
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+91
+54
+12
+-32
+-67
+-98
+-107
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+119
+81
+46
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+78
+43
+3
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+77
+42
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+115
+77
+41
+19
+6
+4
+6
+13
+16
+20
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-104
+-27
+114
+127
+127
+127
+127
+119
+80
+54
+38
+33
+33
+37
+40
+42
+39
+17
+-27
+-63
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-112
+-104
+-98
+-21
+120
+127
+127
+127
+127
+124
+84
+39
+-9
+-47
+-81
+-108
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+42
+20
+8
+5
+7
+13
+16
+20
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-80
+61
+127
+127
+127
+107
+69
+34
+-5
+-46
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-107
+-100
+-23
+119
+127
+127
+127
+127
+122
+83
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+79
+43
+3
+-39
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+78
+42
+1
+-40
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+19
+7
+4
+7
+13
+16
+20
+19
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+107
+70
+35
+-5
+-46
+-79
+-108
+-127
+-127
+-127
+-127
+-76
+64
+127
+127
+127
+112
+75
+38
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-105
+-98
+-106
+-99
+-22
+120
+127
+127
+127
+127
+123
+83
+38
+-9
+-48
+-81
+-108
+-127
+-127
+-127
+-53
+88
+127
+127
+127
+127
+92
+56
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+70
+127
+127
+127
+116
+79
+42
+20
+8
+6
+8
+14
+18
+21
+21
+-1
+-42
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-104
+-27
+115
+127
+127
+127
+127
+119
+80
+36
+-12
+-49
+-83
+-110
+-127
+-127
+-127
+-54
+86
+127
+127
+127
+127
+91
+55
+13
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+82
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+20
+7
+5
+6
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-104
+-27
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+90
+54
+31
+16
+15
+16
+22
+25
+28
+26
+4
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-102
+-109
+-102
+-25
+117
+127
+127
+127
+127
+121
+82
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-53
+87
+127
+127
+127
+127
+92
+55
+12
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+45
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+78
+43
+20
+8
+6
+8
+14
+18
+21
+21
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-105
+-28
+115
+127
+127
+127
+127
+119
+81
+55
+37
+33
+33
+37
+39
+42
+40
+16
+-28
+-64
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-112
+-104
+-97
+-21
+121
+127
+127
+127
+127
+124
+85
+39
+-8
+-47
+-81
+-108
+-127
+-127
+-127
+-52
+89
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+45
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+70
+127
+127
+127
+116
+79
+44
+3
+-39
+-74
+-103
+-111
+-127
+-127
+-127
+-71
+68
+127
+127
+127
+115
+78
+43
+20
+8
+6
+7
+13
+17
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-111
+-104
+-27
+115
+127
+127
+127
+127
+119
+80
+55
+38
+33
+33
+37
+39
+42
+40
+17
+-27
+-63
+-94
+-104
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+42
+1
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-98
+-105
+-98
+-21
+120
+127
+127
+127
+127
+123
+84
+39
+-9
+-47
+-81
+-108
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+93
+56
+14
+-30
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+83
+47
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-69
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+0
+-42
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+0
+-42
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-105
+-127
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+19
+6
+4
+7
+13
+16
+20
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-97
+-105
+-27
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+91
+55
+12
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+119
+82
+46
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+77
+41
+1
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+42
+20
+7
+5
+7
+13
+16
+20
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-112
+-105
+-27
+115
+127
+127
+127
+127
+120
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+86
+127
+127
+127
+127
+91
+55
+12
+-32
+-67
+-98
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+118
+81
+45
+4
+-38
+-73
+-103
+-111
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+3
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+42
+1
+-40
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+19
+6
+4
+7
+13
+17
+19
+19
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+107
+69
+35
+-5
+-46
+-79
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-108
+-101
+-24
+119
+127
+127
+127
+127
+122
+83
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-53
+88
+127
+127
+127
+127
+92
+56
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+41
+19
+7
+5
+8
+14
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-105
+-112
+-105
+-27
+115
+127
+127
+127
+127
+120
+81
+36
+-11
+-49
+-83
+-110
+-127
+-127
+-127
+-54
+86
+127
+127
+127
+127
+91
+54
+12
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+118
+81
+45
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+42
+1
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+42
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+19
+7
+5
+6
+13
+17
+20
+19
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-104
+-97
+-105
+-27
+115
+127
+127
+127
+127
+119
+80
+54
+38
+33
+33
+38
+40
+42
+40
+18
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-104
+-98
+-21
+121
+127
+127
+127
+127
+124
+85
+39
+-8
+-47
+-81
+-107
+-127
+-127
+-127
+-52
+89
+127
+127
+127
+127
+92
+56
+14
+-30
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+76
+127
+127
+127
+120
+82
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+77
+42
+19
+7
+6
+8
+14
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+62
+127
+127
+127
+107
+69
+34
+-6
+-47
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-108
+-101
+-24
+119
+127
+127
+127
+127
+121
+83
+37
+-10
+-48
+-82
+-109
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-65
+76
+127
+127
+127
+120
+82
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+42
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+78
+42
+19
+7
+5
+7
+13
+16
+19
+19
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+106
+69
+34
+-5
+-46
+-80
+-108
+-127
+-127
+-127
+-127
+-76
+65
+127
+127
+127
+112
+74
+39
+-1
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-106
+-99
+-22
+120
+127
+127
+127
+127
+123
+84
+38
+-9
+-48
+-81
+-108
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-30
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+20
+8
+7
+8
+14
+18
+21
+20
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-104
+-112
+-105
+-27
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+81
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-71
+70
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+42
+19
+7
+5
+7
+13
+17
+20
+19
+-2
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-112
+-105
+-28
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+91
+54
+31
+17
+14
+16
+21
+25
+28
+27
+5
+-38
+-72
+-102
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-110
+-103
+-25
+117
+127
+127
+127
+127
+120
+81
+37
+-11
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+91
+54
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+20
+8
+6
+8
+14
+18
+21
+20
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-104
+-112
+-105
+-27
+116
+127
+127
+127
+127
+119
+80
+55
+38
+34
+34
+38
+40
+42
+40
+17
+-27
+-63
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-98
+-21
+122
+127
+127
+127
+127
+124
+84
+39
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+89
+127
+127
+127
+127
+92
+55
+13
+-30
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+76
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-71
+70
+127
+127
+127
+114
+77
+42
+20
+7
+6
+8
+13
+17
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-97
+-106
+-28
+116
+127
+127
+127
+127
+119
+80
+55
+38
+34
+33
+37
+39
+42
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+77
+42
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-105
+-98
+-21
+121
+127
+127
+127
+127
+123
+84
+39
+-9
+-47
+-81
+-108
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+93
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+76
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+77
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+77
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+77
+41
+19
+7
+5
+7
+13
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-27
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+91
+54
+12
+-32
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+81
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+19
+7
+5
+8
+14
+17
+21
+20
+-2
+-43
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-28
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-83
+-110
+-127
+-127
+-127
+-54
+86
+127
+127
+127
+127
+91
+54
+12
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+119
+82
+45
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+42
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+19
+7
+5
+8
+13
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+107
+69
+34
+-5
+-46
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-109
+-101
+-23
+119
+127
+127
+127
+127
+121
+83
+37
+-10
+-49
+-82
+-109
+-127
+-127
+-127
+-52
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+81
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+41
+19
+7
+5
+8
+14
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-97
+-106
+-27
+115
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+82
+46
+5
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-71
+70
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+76
+40
+0
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+20
+7
+5
+8
+14
+17
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-28
+116
+127
+127
+127
+127
+120
+80
+54
+38
+34
+33
+38
+40
+42
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-113
+-105
+-99
+-21
+122
+127
+127
+127
+127
+123
+84
+39
+-9
+-47
+-81
+-108
+-127
+-127
+-127
+-52
+89
+127
+127
+127
+127
+92
+56
+13
+-30
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-71
+69
+127
+127
+127
+115
+78
+41
+19
+7
+6
+8
+14
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+62
+127
+127
+127
+107
+69
+34
+-6
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-108
+-102
+-24
+120
+127
+127
+127
+127
+121
+82
+37
+-10
+-48
+-82
+-108
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+82
+45
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+42
+2
+-40
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+77
+42
+19
+7
+6
+7
+14
+17
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+107
+69
+34
+-6
+-47
+-80
+-109
+-127
+-127
+-127
+-127
+-77
+65
+127
+127
+127
+111
+74
+38
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-106
+-100
+-22
+121
+127
+127
+127
+127
+123
+83
+38
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-52
+89
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-65
+76
+127
+127
+127
+120
+82
+45
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+21
+8
+7
+8
+15
+18
+21
+20
+-1
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-27
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+81
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+117
+79
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+115
+77
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+68
+127
+127
+127
+114
+76
+41
+19
+7
+5
+8
+14
+18
+20
+19
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-28
+116
+127
+127
+127
+127
+119
+80
+36
+-11
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+87
+127
+127
+127
+127
+90
+54
+31
+17
+15
+16
+21
+25
+28
+26
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-110
+-104
+-25
+118
+127
+127
+127
+127
+120
+81
+36
+-11
+-49
+-82
+-109
+-127
+-127
+-127
+-53
+88
+127
+127
+127
+127
+91
+55
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+78
+43
+20
+8
+7
+8
+14
+18
+21
+21
+-1
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-27
+116
+127
+127
+127
+127
+119
+80
+55
+38
+34
+34
+38
+41
+43
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-113
+-105
+-98
+-21
+122
+127
+127
+127
+127
+123
+84
+39
+-8
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+89
+127
+127
+127
+127
+92
+56
+14
+-30
+-65
+-96
+-105
+-127
+-127
+-127
+-65
+75
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+41
+18
+7
+6
+8
+14
+18
+21
+20
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-28
+116
+127
+127
+127
+127
+119
+80
+55
+38
+35
+34
+38
+40
+42
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+115
+77
+41
+0
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-98
+-106
+-99
+-21
+123
+127
+127
+127
+127
+123
+84
+38
+-9
+-47
+-81
+-107
+-127
+-127
+-127
+-51
+89
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+82
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+42
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+75
+40
+0
+-41
+-75
+-105
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+75
+41
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+76
+41
+19
+7
+5
+8
+14
+16
+20
+20
+-3
+-44
+-77
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-106
+-27
+116
+127
+127
+127
+127
+119
+80
+34
+-12
+-50
+-83
+-110
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+119
+82
+46
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+3
+-39
+-73
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+42
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+7
+5
+8
+14
+17
+21
+20
+-3
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-27
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-67
+-97
+-105
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+119
+81
+46
+5
+-37
+-72
+-102
+-110
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+76
+41
+1
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+76
+41
+19
+8
+5
+8
+14
+16
+20
+19
+-2
+-44
+-77
+-106
+-127
+-127
+-127
+-127
+-81
+62
+127
+127
+127
+106
+68
+34
+-6
+-47
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-101
+-109
+-102
+-23
+120
+127
+127
+127
+127
+121
+82
+37
+-10
+-49
+-81
+-108
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+2
+-39
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+42
+20
+7
+5
+8
+14
+16
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-106
+-27
+116
+127
+127
+127
+127
+119
+79
+35
+-12
+-50
+-83
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+75
+127
+127
+127
+119
+81
+46
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+41
+0
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+7
+5
+8
+14
+18
+21
+21
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-106
+-28
+116
+127
+127
+127
+127
+119
+80
+55
+39
+34
+34
+39
+40
+42
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-106
+-100
+-21
+123
+127
+127
+127
+127
+123
+84
+39
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+90
+127
+127
+127
+127
+91
+56
+13
+-30
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-70
+71
+127
+127
+127
+116
+79
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+41
+19
+7
+6
+8
+14
+17
+20
+20
+-1
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-81
+61
+127
+127
+127
+106
+69
+34
+-6
+-46
+-79
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-109
+-102
+-24
+120
+127
+127
+127
+127
+121
+82
+37
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-53
+88
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+19
+7
+6
+8
+14
+18
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-82
+62
+127
+127
+127
+107
+68
+33
+-7
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-76
+66
+127
+127
+127
+111
+74
+38
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-107
+-100
+-22
+122
+127
+127
+127
+127
+122
+83
+38
+-9
+-47
+-81
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+54
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+4
+-38
+-72
+-102
+-109
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+43
+21
+9
+8
+9
+15
+19
+21
+20
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-106
+-28
+117
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-67
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+115
+77
+41
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+41
+0
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+76
+41
+18
+7
+6
+8
+14
+18
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-106
+-28
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-109
+-127
+-127
+-127
+-55
+87
+127
+127
+127
+127
+89
+54
+31
+18
+16
+17
+23
+25
+28
+27
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-111
+-104
+-26
+119
+127
+127
+127
+127
+121
+81
+37
+-10
+-49
+-82
+-108
+-127
+-127
+-127
+-53
+88
+127
+127
+127
+127
+91
+54
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+115
+78
+43
+21
+9
+7
+9
+15
+18
+22
+21
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-107
+-27
+117
+127
+127
+127
+127
+120
+80
+55
+38
+35
+35
+39
+41
+43
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-98
+-106
+-99
+-22
+123
+127
+127
+127
+127
+123
+84
+39
+-8
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+90
+127
+127
+127
+127
+92
+55
+14
+-30
+-66
+-96
+-104
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+82
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+114
+77
+42
+19
+7
+6
+8
+14
+18
+21
+20
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+55
+39
+35
+34
+39
+41
+43
+40
+16
+-28
+-63
+-94
+-103
+-127
+-127
+-127
+-71
+73
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-106
+-99
+-21
+123
+127
+127
+127
+127
+123
+84
+39
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+90
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-65
+77
+127
+127
+127
+119
+82
+46
+4
+-38
+-72
+-101
+-109
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+115
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+115
+77
+41
+0
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+40
+-1
+-42
+-75
+-105
+-112
+-127
+-127
+-127
+-72
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+113
+75
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+113
+75
+40
+-1
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+76
+40
+19
+7
+6
+9
+14
+18
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+116
+127
+127
+127
+127
+120
+80
+35
+-12
+-50
+-83
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+11
+-32
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+118
+80
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+115
+77
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+114
+77
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+40
+19
+7
+6
+8
+14
+18
+20
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-106
+-27
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+41
+1
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+75
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+8
+6
+8
+14
+18
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-82
+62
+127
+127
+127
+106
+67
+33
+-7
+-47
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-109
+-103
+-24
+121
+127
+127
+127
+127
+122
+83
+37
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+119
+81
+45
+5
+-38
+-72
+-102
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+77
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+76
+42
+20
+8
+7
+9
+15
+18
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+120
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+11
+-32
+-67
+-97
+-106
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+118
+81
+45
+4
+-38
+-72
+-102
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+42
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+7
+6
+8
+14
+18
+21
+21
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+116
+127
+127
+127
+127
+119
+80
+54
+39
+35
+35
+39
+41
+43
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-106
+-100
+-22
+123
+127
+127
+127
+127
+123
+84
+39
+-8
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+91
+55
+13
+-30
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+80
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+42
+20
+8
+7
+8
+15
+18
+21
+21
+-1
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-82
+62
+127
+127
+127
+106
+68
+33
+-6
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-109
+-102
+-23
+121
+127
+127
+127
+127
+122
+83
+37
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+54
+13
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+43
+3
+-39
+-73
+-103
+-110
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+18
+7
+6
+8
+14
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-82
+61
+127
+127
+127
+106
+69
+33
+-6
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-77
+65
+127
+127
+127
+111
+74
+38
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-108
+-101
+-23
+122
+127
+127
+127
+127
+123
+83
+38
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+55
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+21
+8
+7
+9
+16
+19
+22
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+35
+-11
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+114
+77
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+7
+6
+8
+14
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+31
+17
+16
+18
+23
+26
+29
+27
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-112
+-104
+-26
+119
+127
+127
+127
+127
+121
+81
+37
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+91
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+78
+43
+20
+8
+7
+10
+16
+19
+23
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+55
+38
+35
+35
+39
+41
+43
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-100
+-21
+124
+127
+127
+127
+127
+124
+84
+39
+-8
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+90
+127
+127
+127
+127
+92
+55
+13
+-30
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+82
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+115
+77
+42
+20
+8
+6
+9
+14
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+118
+127
+127
+127
+127
+119
+80
+55
+38
+35
+35
+40
+41
+44
+41
+18
+-26
+-62
+-93
+-103
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+77
+41
+0
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-108
+-100
+-22
+122
+127
+127
+127
+127
+123
+83
+39
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+56
+13
+-30
+-65
+-96
+-104
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+4
+-38
+-72
+-102
+-109
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+42
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+115
+77
+41
+0
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+113
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+113
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+40
+19
+7
+6
+8
+14
+18
+21
+21
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-107
+-28
+116
+127
+127
+127
+127
+120
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-32
+-67
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+77
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+77
+41
+20
+8
+6
+9
+15
+17
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+116
+127
+127
+127
+127
+120
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-32
+-67
+-97
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-102
+-110
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+115
+77
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+42
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+40
+19
+7
+5
+8
+14
+18
+21
+21
+-1
+-43
+-76
+-105
+-127
+-127
+-127
+-127
+-82
+62
+127
+127
+127
+106
+67
+33
+-7
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-110
+-103
+-24
+121
+127
+127
+127
+127
+122
+83
+37
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+41
+19
+8
+6
+9
+15
+19
+22
+21
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-107
+-28
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-67
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+41
+0
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+40
+19
+7
+6
+8
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+54
+39
+35
+35
+39
+41
+43
+40
+17
+-27
+-62
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-101
+-22
+123
+127
+127
+127
+127
+124
+85
+40
+-8
+-46
+-80
+-106
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+56
+14
+-30
+-65
+-96
+-104
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+82
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+114
+77
+41
+19
+8
+7
+9
+15
+19
+21
+21
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-82
+62
+127
+127
+127
+106
+67
+33
+-7
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-110
+-103
+-24
+121
+127
+127
+127
+127
+122
+83
+38
+-10
+-48
+-81
+-107
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+81
+45
+4
+-38
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+41
+19
+8
+6
+8
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-82
+61
+127
+127
+127
+106
+68
+33
+-6
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-77
+65
+127
+127
+127
+111
+74
+38
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-108
+-101
+-23
+122
+127
+127
+127
+127
+122
+84
+39
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+91
+55
+13
+-30
+-65
+-96
+-104
+-127
+-127
+-127
+-66
+76
+127
+127
+127
+120
+82
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+115
+78
+43
+20
+9
+7
+9
+16
+19
+22
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+118
+127
+127
+127
+127
+120
+81
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-72
+71
+127
+127
+127
+116
+77
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+0
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+8
+7
+8
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-98
+-107
+-28
+118
+127
+127
+127
+127
+120
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+31
+17
+16
+18
+23
+26
+29
+28
+5
+-38
+-72
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-104
+-112
+-105
+-26
+119
+127
+127
+127
+127
+120
+82
+37
+-10
+-48
+-81
+-108
+-127
+-127
+-127
+-54
+89
+127
+127
+127
+127
+91
+55
+13
+-30
+-66
+-96
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+46
+5
+-38
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+78
+42
+19
+8
+8
+10
+15
+19
+23
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+55
+38
+35
+36
+39
+41
+43
+41
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-100
+-22
+124
+127
+127
+127
+127
+124
+85
+39
+-8
+-46
+-80
+-106
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+55
+13
+-30
+-65
+-96
+-105
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+78
+43
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+114
+77
+42
+20
+8
+7
+10
+15
+19
+22
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-28
+117
+127
+127
+127
+127
+119
+80
+55
+39
+35
+35
+39
+41
+43
+41
+17
+-27
+-62
+-94
+-102
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-107
+-100
+-22
+123
+127
+127
+127
+127
+123
+84
+39
+-8
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+56
+13
+-30
+-65
+-96
+-104
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+82
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+75
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+113
+75
+40
+0
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+113
+76
+41
+0
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+75
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+113
+76
+40
+19
+7
+5
+8
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+91
+54
+12
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-67
+75
+127
+127
+127
+119
+80
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+8
+6
+9
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-28
+116
+127
+127
+127
+127
+120
+80
+35
+-12
+-50
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-102
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+115
+77
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+1
+-40
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+41
+19
+7
+5
+8
+14
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-82
+61
+127
+127
+127
+106
+68
+34
+-6
+-46
+-79
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-110
+-102
+-24
+121
+127
+127
+127
+127
+122
+83
+37
+-10
+-48
+-81
+-107
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+55
+13
+-30
+-65
+-96
+-104
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+41
+19
+8
+6
+9
+15
+19
+22
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-107
+-28
+116
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+87
+127
+127
+127
+127
+91
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+77
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+77
+41
+0
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+19
+8
+6
+9
+14
+18
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+54
+39
+35
+35
+39
+41
+43
+41
+18
+-26
+-62
+-93
+-102
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-100
+-21
+124
+127
+127
+127
+127
+123
+84
+39
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
+92
+56
+14
+-30
+-65
+-96
+-104
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+82
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+114
+77
+41
+19
+8
+7
+9
+15
+19
+21
+21
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-82
+61
+127
+127
+127
+106
+67
+33
+-6
+-47
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-110
+-103
+-24
+121
+127
+127
+127
+127
+122
+83
+38
+-9
+-48
+-81
+-107
+-127
+-127
+-127
+-54
+89
+127
+127
+127
+127
+91
+55
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-67
+77
+127
+127
+127
+120
+81
+45
+5
+-37
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+77
+40
+0
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+19
+8
+7
+9
+15
+18
+20
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-82
+61
+127
+127
+127
+105
+68
+33
+-6
+-46
+-79
+-108
+-127
+-127
+-127
+-127
+-78
+65
+127
+127
+127
+112
+74
+38
+-1
+-43
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-108
+-101
+-22
+123
+127
+127
+127
+127
+123
+83
+38
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+91
+54
+13
+-31
+-66
+-96
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+82
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+79
+43
+21
+9
+8
+10
+15
+19
+22
+21
+-1
+-42
+-75
+-105
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-27
+118
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+75
+127
+127
+127
+119
+81
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-72
+71
+127
+127
+127
+116
+78
+42
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+76
+41
+19
+7
+6
+8
+15
+18
+22
+21
+-1
+-42
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-28
+117
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+91
+54
+31
+18
+16
+18
+23
+26
+29
+28
+5
+-37
+-72
+-101
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-112
+-104
+-25
+120
+127
+127
+127
+127
+121
+81
+36
+-11
+-49
+-82
+-108
+-127
+-127
+-127
+-54
+88
+127
+127
+127
+127
+91
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-66
+75
+127
+127
+127
+119
+81
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+71
+127
+127
+127
+116
+78
+42
+20
+8
+7
+10
+15
+19
+22
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-107
+-28
+118
+127
+127
+127
+127
+119
+80
+55
+38
+35
+36
+40
+42
+44
+40
+17
+-27
+-63
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-99
+-107
+-100
+-21
+123
+127
+127
+127
+127
+124
+84
+39
+-8
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+90
+127
+127
+127
+127
+92
+55
+13
+-30
+-66
+-96
+-105
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+82
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-70
+72
+127
+127
+127
+116
+78
+43
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+42
+20
+8
+7
+10
+15
+19
+22
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-29
+117
+127
+127
+127
+127
+119
+80
+55
+39
+35
+35
+39
+41
+43
+41
+17
+-26
+-62
+-94
+-102
+-127
+-127
+-127
+-72
+72
+127
+127
+127
+115
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-107
+-100
+-21
+124
+127
+127
+127
+127
+123
+84
+38
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-53
+89
+127
+127
+127
+127
+92
+56
+13
+-31
+-66
+-96
+-104
+-127
+-127
+-127
+-66
+77
+127
+127
+127
+120
+82
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+43
+2
+-39
+-73
+-103
+-111
+-127
+-127
+-127
+-72
+70
+127
+127
+127
+115
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+114
+77
+41
+1
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-73
+68
+127
+127
+127
+114
+77
+41
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+113
+76
+41
+0
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-73
+69
+127
+127
+127
+113
+76
+40
+0
+-42
+-75
+-104
+-112
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+75
+40
+0
+-41
+-75
+-104
+-112
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+75
+41
+0
+-41
+-74
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+19
+7
+6
+8
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-107
+-28
+117
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-83
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-67
+-97
+-105
+-127
+-127
+-127
+-67
+77
+127
+127
+127
+119
+81
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+41
+1
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+75
+40
+19
+7
+6
+9
+15
+18
+22
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-108
+-29
+117
+127
+127
+127
+127
+119
+80
+35
+-12
+-49
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+119
+81
+45
+4
+-38
+-72
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+1
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+41
+0
+-41
+-74
+-104
+-112
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+19
+8
+7
+9
+15
+18
+21
+20
+-2
+-43
+-76
+-106
+-127
+-127
+-127
+-127
+-82
+62
+127
+127
+127
+105
+68
+33
+-7
+-47
+-80
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-110
+-103
+-24
+122
+127
+127
+127
+127
+121
+83
+37
+-10
+-48
+-81
+-107
+-127
+-127
+-127
+-54
+89
+127
+127
+127
+127
+91
+55
+13
+-30
+-66
+-96
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+82
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+43
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+41
+19
+8
+6
+9
+15
+18
+21
+20
+-2
+-43
+-76
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-98
+-107
+-28
+118
+127
+127
+127
+127
+119
+80
+35
+-12
+-50
+-82
+-109
+-127
+-127
+-127
+-55
+88
+127
+127
+127
+127
+90
+54
+12
+-31
+-66
+-97
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+81
+46
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+2
+-40
+-74
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+114
+76
+41
+0
+-41
+-75
+-104
+-111
+-127
+-127
+-127
+-74
+69
+127
+127
+127
+114
+76
+41
+19
+8
+6
+9
+15
+18
+21
+20
+-2
+-43
+-77
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-28
+118
+127
+127
+127
+127
+120
+80
+55
+39
+35
+35
+39
+41
+43
+41
+18
+-26
+-62
+-93
+-102
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-107
+-101
+-21
+124
+127
+127
+127
+127
+123
+84
+38
+-9
+-47
+-80
+-107
+-127
+-127
+-127
+-52
+90
+127
+127
+127
+127
+91
+55
+13
+-30
+-65
+-96
+-105
+-127
+-127
+-127
+-67
+76
+127
+127
+127
+120
+81
+45
+5
+-37
+-71
+-101
+-109
+-127
+-127
+-127
+-71
+72
+127
+127
+127
+116
+78
+42
+2
+-40
+-73
+-103
+-111
+-127
+-127
+-127
+-73
+70
+127
+127
+127
+115
+77
+41
+19
+8
+6
+9
+15
+18
+21
+21
+-1
+-42
+-76
+-105
+-127
+-127
+-127
+-127
+-82
+61
+127
+127
+127
+105
+68
+33
+-6
+-46
+-80
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-110
+-103
+-24
+122
+127
+127
+127
+127
+121
+83
+38
+-9
+-48
+-81
+-107
+-127
+-127
+-127
+-53
+90
+127
+127
+127
+127
diff --git a/traces/modulation-ask-man-32.pm3 b/traces/modulation-ask-man-32.pm3
new file mode 100644 (file)
index 0000000..b8dfed9
--- /dev/null
@@ -0,0 +1,20000 @@
+18
+15
+14
+-13
+-35
+-55
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-113
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+95
+90
+83
+78
+71
+66
+59
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+84
+80
+73
+68
+62
+58
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+38
+36
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+38
+36
+33
+31
+27
+26
+-4
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-107
+-99
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+102
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+113
+105
+96
+91
+82
+78
+71
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+51
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+104
+97
+92
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+77
+71
+67
+60
+56
+51
+49
+44
+42
+37
+35
+31
+30
+25
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+38
+36
+33
+31
+27
+26
+-4
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-56
+127
+127
+117
+100
+96
+89
+84
+76
+71
+65
+62
+56
+52
+47
+45
+13
+-13
+-36
+-54
+-71
+-83
+-95
+-104
+-112
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+122
+114
+107
+97
+91
+83
+79
+72
+67
+61
+57
+23
+-4
+-28
+-48
+-65
+-78
+-90
+-100
+-108
+-98
+-104
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+94
+85
+80
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+71
+66
+61
+57
+52
+49
+15
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+110
+105
+96
+91
+83
+77
+70
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+60
+56
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+77
+70
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-81
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+66
+60
+56
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+66
+60
+57
+52
+48
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+66
+60
+56
+51
+49
+44
+42
+37
+35
+31
+30
+26
+24
+22
+21
+18
+18
+15
+15
+13
+13
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+54
+23
+-5
+-28
+-48
+-64
+-77
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+70
+66
+61
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+72
+69
+63
+58
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+77
+71
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+67
+60
+56
+51
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-47
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+79
+72
+69
+62
+58
+53
+50
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-48
+127
+127
+126
+109
+105
+97
+91
+82
+78
+70
+66
+61
+57
+51
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+82
+78
+70
+67
+60
+56
+51
+49
+44
+41
+37
+35
+31
+30
+26
+24
+22
+21
+18
+18
+15
+14
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+92
+84
+79
+72
+68
+61
+57
+53
+50
+45
+42
+10
+-15
+-38
+-56
+-72
+-84
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+97
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+123
+113
+106
+97
+91
+82
+78
+71
+67
+61
+57
+23
+-4
+-28
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-104
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+100
+93
+84
+80
+73
+69
+63
+59
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+61
+56
+52
+49
+44
+42
+37
+35
+31
+30
+26
+24
+22
+21
+18
+18
+15
+15
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-106
+-112
+-102
+-107
+-109
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+78
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-109
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+80
+72
+69
+62
+58
+53
+50
+17
+-10
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+70
+67
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+82
+78
+70
+66
+61
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+12
+13
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+93
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+37
+32
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-107
+-100
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+113
+106
+96
+91
+82
+77
+70
+67
+60
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-104
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+84
+79
+73
+69
+61
+59
+53
+50
+16
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+91
+83
+79
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+66
+60
+57
+51
+49
+44
+42
+37
+35
+31
+29
+27
+25
+21
+21
+19
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+110
+95
+91
+84
+79
+72
+68
+62
+58
+51
+49
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+99
+59
+26
+-3
+-25
+-45
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+122
+114
+106
+96
+91
+83
+78
+71
+66
+60
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+107
+100
+93
+85
+80
+72
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+106
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+70
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+18
+17
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+110
+95
+92
+84
+79
+72
+68
+62
+58
+52
+50
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-105
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-49
+127
+127
+123
+107
+103
+94
+89
+81
+76
+69
+65
+59
+55
+50
+48
+15
+-11
+-35
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+71
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+58
+26
+-3
+-25
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+79
+71
+67
+61
+57
+23
+-4
+-28
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+69
+62
+58
+53
+51
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+82
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+29
+27
+26
+22
+21
+19
+18
+15
+15
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+54
+23
+-5
+-27
+-48
+-64
+-78
+-88
+-98
+-105
+-113
+-101
+-106
+-110
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+107
+99
+93
+84
+80
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+110
+106
+97
+91
+83
+78
+72
+67
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+61
+56
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+51
+48
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+14
+15
+13
+12
+-16
+-38
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+55
+23
+-5
+-27
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-102
+-107
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+91
+82
+77
+70
+66
+60
+57
+51
+48
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+-14
+-36
+-56
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+61
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+55
+23
+-5
+-27
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+78
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+49
+44
+42
+37
+35
+32
+30
+26
+26
+22
+21
+18
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+62
+59
+54
+51
+45
+43
+39
+37
+33
+31
+27
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+57
+25
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+97
+91
+82
+78
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-104
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+108
+100
+93
+85
+80
+73
+69
+62
+58
+52
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+67
+61
+57
+51
+49
+43
+42
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-56
+127
+127
+116
+101
+97
+89
+83
+76
+72
+65
+61
+55
+52
+48
+45
+12
+-14
+-37
+-55
+-71
+-84
+-95
+-104
+-112
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+71
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+104
+98
+58
+26
+-3
+-25
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+123
+114
+106
+96
+91
+83
+78
+71
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+66
+60
+57
+51
+48
+15
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+96
+91
+82
+78
+71
+66
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+61
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+70
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+78
+71
+66
+61
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+71
+66
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+67
+61
+56
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+83
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+83
+78
+71
+67
+60
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+24
+22
+21
+19
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+100
+94
+54
+23
+-5
+-28
+-48
+-64
+-78
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+106
+96
+90
+82
+77
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+82
+77
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+70
+67
+60
+56
+52
+49
+43
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-47
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+106
+96
+89
+82
+78
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+80
+73
+69
+62
+58
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+66
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+77
+71
+67
+60
+56
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+17
+16
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+68
+61
+58
+52
+50
+44
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-110
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+97
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+122
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+107
+100
+93
+84
+80
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+91
+83
+78
+72
+67
+60
+58
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+71
+67
+60
+56
+52
+49
+43
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-78
+-88
+-98
+-105
+-113
+-101
+-107
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+72
+68
+62
+58
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+70
+67
+60
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+101
+94
+86
+81
+73
+69
+63
+59
+53
+51
+46
+43
+39
+37
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+102
+96
+57
+25
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+106
+97
+91
+83
+78
+70
+67
+60
+56
+22
+-5
+-29
+-48
+-66
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+79
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+66
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+83
+79
+72
+67
+61
+58
+52
+50
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-26
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+71
+67
+61
+57
+23
+-4
+-28
+-48
+-65
+-78
+-90
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+107
+99
+93
+85
+79
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+96
+91
+83
+78
+70
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+66
+60
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+19
+17
+15
+15
+13
+12
+-16
+-38
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-61
+127
+127
+110
+95
+92
+84
+79
+72
+68
+61
+58
+52
+49
+45
+42
+10
+-15
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-49
+127
+127
+123
+107
+102
+94
+88
+81
+76
+69
+65
+59
+56
+50
+47
+15
+-11
+-35
+-53
+-70
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+72
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+59
+27
+-2
+-25
+-45
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+72
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-104
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+109
+99
+93
+85
+80
+72
+69
+62
+59
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+79
+71
+66
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+18
+16
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+109
+100
+95
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-113
+-102
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+126
+121
+112
+104
+96
+90
+82
+77
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+72
+67
+62
+59
+52
+50
+16
+-10
+-33
+-52
+-69
+-82
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+83
+78
+70
+67
+61
+57
+51
+48
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+70
+66
+60
+57
+51
+49
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+90
+82
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-64
+-78
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+91
+82
+77
+70
+66
+60
+57
+51
+48
+43
+41
+37
+34
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+-13
+-36
+-55
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+61
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+126
+121
+112
+105
+96
+90
+82
+78
+71
+67
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+73
+68
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+26
+22
+21
+19
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+99
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-79
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+64
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+112
+102
+95
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+96
+91
+83
+77
+71
+67
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+105
+96
+91
+83
+77
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+70
+63
+59
+53
+51
+45
+43
+39
+36
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-101
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-56
+127
+127
+117
+101
+96
+88
+84
+76
+71
+65
+61
+55
+52
+47
+45
+12
+-14
+-36
+-54
+-71
+-84
+-95
+-104
+-112
+-102
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-25
+-45
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+122
+113
+106
+97
+91
+83
+78
+72
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+67
+61
+57
+51
+48
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+70
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+90
+83
+78
+70
+66
+60
+56
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+104
+97
+91
+82
+78
+70
+67
+60
+57
+51
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+67
+60
+57
+52
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+77
+71
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+83
+78
+70
+66
+60
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+54
+23
+-5
+-28
+-48
+-63
+-78
+-88
+-98
+-106
+-113
+-102
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+106
+96
+89
+82
+78
+70
+66
+60
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+84
+80
+72
+69
+62
+58
+52
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+82
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+70
+67
+60
+57
+52
+48
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+54
+23
+-5
+-28
+-48
+-64
+-78
+-88
+-99
+-106
+-113
+-102
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+89
+82
+77
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+72
+69
+63
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+79
+71
+67
+61
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+66
+60
+57
+51
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+70
+66
+60
+57
+51
+48
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+18
+18
+16
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+67
+61
+57
+53
+50
+44
+42
+10
+-15
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+58
+25
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-26
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+58
+23
+-4
+-28
+-48
+-65
+-78
+-90
+-99
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+73
+68
+63
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+92
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+67
+61
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+109
+100
+95
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-113
+-102
+-107
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+78
+70
+66
+60
+56
+22
+-5
+-29
+-48
+-66
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+72
+69
+62
+58
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+66
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+71
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+70
+67
+60
+56
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+96
+90
+83
+77
+70
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+16
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+37
+33
+30
+28
+27
+-3
+-27
+-48
+-64
+-79
+-91
+-101
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+64
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+95
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+122
+112
+106
+96
+91
+82
+78
+70
+67
+61
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+108
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+66
+61
+57
+51
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+92
+84
+79
+72
+68
+62
+58
+52
+49
+45
+42
+9
+-16
+-38
+-56
+-72
+-85
+-96
+-105
+-113
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-25
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+122
+113
+106
+97
+91
+83
+78
+71
+67
+60
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+68
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+70
+66
+60
+57
+51
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-61
+127
+127
+110
+95
+92
+84
+79
+72
+67
+62
+58
+52
+49
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-49
+127
+127
+123
+107
+102
+94
+88
+81
+76
+69
+64
+59
+56
+50
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+71
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+97
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-104
+-112
+-101
+-106
+-109
+-112
+-127
+-26
+127
+127
+127
+127
+123
+113
+107
+97
+91
+83
+78
+71
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+69
+62
+59
+53
+51
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+82
+79
+71
+66
+60
+57
+52
+49
+44
+41
+37
+35
+32
+29
+27
+25
+22
+21
+19
+17
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-64
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+79
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+60
+56
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+78
+70
+66
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+52
+48
+44
+42
+37
+35
+31
+29
+27
+26
+22
+21
+18
+18
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-64
+-77
+-88
+-98
+-105
+-113
+-101
+-107
+-110
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+106
+95
+90
+82
+78
+70
+66
+60
+56
+51
+48
+43
+42
+37
+35
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+-13
+-36
+-55
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+61
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+55
+23
+-5
+-27
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+78
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+84
+80
+73
+69
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+19
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+80
+73
+69
+62
+59
+54
+51
+46
+43
+39
+37
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+103
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+97
+91
+82
+78
+71
+67
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+72
+68
+63
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+77
+71
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-81
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+60
+57
+51
+48
+43
+42
+37
+34
+32
+30
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+37
+32
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-56
+127
+127
+116
+101
+97
+88
+83
+76
+71
+65
+61
+55
+52
+47
+45
+12
+-14
+-37
+-55
+-71
+-83
+-95
+-104
+-112
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+123
+114
+107
+97
+91
+83
+77
+71
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-104
+-108
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+108
+99
+93
+85
+79
+73
+69
+62
+59
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+70
+67
+61
+56
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+96
+91
+82
+78
+70
+66
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+70
+67
+60
+56
+52
+48
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+70
+67
+60
+56
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-48
+127
+127
+126
+109
+104
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+96
+91
+83
+78
+70
+66
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+90
+82
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+90
+83
+78
+70
+66
+60
+57
+51
+49
+43
+41
+37
+35
+31
+30
+26
+24
+22
+21
+18
+17
+15
+15
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+54
+23
+-5
+-28
+-48
+-63
+-78
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+78
+70
+65
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+79
+72
+68
+62
+59
+53
+50
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+66
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+16
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+105
+95
+90
+83
+77
+70
+66
+60
+56
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+73
+68
+62
+59
+53
+51
+17
+-10
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-48
+127
+127
+126
+109
+104
+97
+91
+83
+78
+71
+67
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+66
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+22
+18
+17
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+68
+61
+58
+52
+50
+44
+41
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-113
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+123
+113
+107
+97
+92
+83
+78
+71
+67
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+56
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-105
+-113
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+89
+82
+78
+70
+65
+60
+57
+22
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+80
+72
+69
+62
+58
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+110
+105
+97
+91
+83
+79
+71
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+70
+66
+60
+57
+51
+48
+44
+42
+37
+35
+31
+30
+27
+25
+21
+21
+18
+17
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+86
+81
+73
+69
+63
+60
+53
+51
+46
+43
+39
+36
+32
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+56
+25
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+96
+91
+83
+78
+70
+66
+60
+56
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+99
+93
+85
+79
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+70
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+17
+15
+15
+12
+11
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-61
+127
+127
+111
+95
+92
+84
+79
+72
+67
+62
+58
+52
+50
+45
+42
+10
+-16
+-38
+-56
+-72
+-84
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+100
+93
+85
+79
+73
+69
+62
+58
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+110
+106
+97
+91
+83
+78
+70
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+71
+66
+60
+57
+52
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+77
+70
+67
+60
+57
+51
+48
+44
+41
+37
+35
+32
+30
+26
+25
+22
+20
+19
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+110
+95
+91
+84
+79
+72
+68
+62
+58
+52
+50
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-49
+127
+127
+123
+107
+102
+94
+88
+81
+76
+69
+65
+59
+56
+50
+47
+15
+-12
+-35
+-53
+-70
+-83
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+72
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+58
+26
+-2
+-25
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+100
+93
+85
+80
+72
+69
+62
+59
+53
+50
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+91
+83
+79
+71
+66
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+27
+25
+22
+22
+19
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-105
+-113
+-102
+-107
+-109
+-127
+-127
+-28
+127
+127
+127
+126
+121
+112
+105
+95
+91
+82
+77
+71
+67
+60
+56
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+84
+80
+72
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+70
+67
+61
+56
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-48
+127
+127
+126
+109
+104
+97
+91
+81
+78
+71
+67
+60
+57
+52
+49
+44
+41
+37
+35
+31
+29
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-27
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-29
+127
+127
+127
+127
+120
+112
+105
+96
+90
+82
+78
+70
+66
+60
+56
+51
+48
+43
+41
+37
+35
+31
+30
+26
+25
+22
+21
+18
+17
+15
+14
+-14
+-36
+-56
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+61
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+55
+24
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-113
+-102
+-107
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+91
+82
+78
+70
+67
+60
+56
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+100
+93
+84
+80
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+22
+18
+18
+16
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+74
+69
+63
+59
+54
+50
+45
+43
+39
+37
+32
+31
+28
+27
+-3
+-27
+-48
+-65
+-79
+-91
+-101
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+64
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+96
+91
+83
+77
+70
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+81
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+110
+105
+96
+91
+83
+78
+70
+67
+61
+57
+51
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+73
+70
+63
+59
+53
+51
+46
+43
+38
+36
+33
+31
+28
+25
+-4
+-27
+-48
+-65
+-80
+-91
+-101
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-56
+127
+127
+117
+101
+96
+89
+84
+77
+71
+65
+61
+56
+53
+47
+45
+12
+-14
+-36
+-55
+-71
+-83
+-95
+-104
+-112
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+71
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+104
+98
+58
+26
+-3
+-25
+-45
+-62
+-76
+-87
+-97
+-104
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+122
+113
+106
+97
+91
+83
+79
+71
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+100
+94
+86
+79
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+106
+97
+91
+83
+78
+70
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+61
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+70
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+77
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+66
+61
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-48
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+66
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+77
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+70
+67
+60
+56
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+78
+70
+66
+61
+57
+51
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+71
+67
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+61
+57
+52
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+54
+23
+-6
+-28
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-102
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+78
+71
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+99
+93
+85
+80
+72
+68
+62
+58
+53
+50
+17
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+104
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+82
+78
+70
+67
+60
+56
+51
+49
+44
+41
+37
+35
+32
+30
+26
+25
+22
+21
+18
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+93
+54
+22
+-6
+-28
+-48
+-64
+-78
+-88
+-98
+-106
+-113
+-102
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+96
+90
+83
+78
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+72
+69
+62
+58
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+66
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+66
+60
+57
+51
+49
+43
+41
+37
+35
+31
+30
+26
+24
+22
+21
+18
+17
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+68
+62
+58
+52
+50
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+72
+67
+61
+57
+23
+-4
+-28
+-48
+-65
+-78
+-91
+-100
+-109
+-99
+-105
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+72
+69
+62
+59
+52
+50
+17
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+90
+83
+78
+70
+66
+60
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+14
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+55
+23
+-5
+-27
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-102
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+78
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+72
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+60
+56
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+90
+83
+78
+70
+66
+61
+57
+51
+48
+44
+41
+37
+35
+31
+30
+26
+25
+22
+22
+19
+17
+15
+14
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+85
+81
+74
+69
+63
+59
+53
+51
+46
+43
+38
+37
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-101
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+101
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+106
+96
+91
+82
+78
+71
+67
+60
+57
+22
+-4
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+73
+69
+62
+57
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+52
+49
+44
+41
+37
+35
+31
+29
+26
+25
+22
+22
+18
+17
+15
+15
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+92
+84
+79
+72
+67
+62
+58
+52
+50
+44
+42
+10
+-16
+-38
+-56
+-72
+-84
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+122
+114
+106
+97
+91
+83
+78
+71
+67
+61
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-108
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+68
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+67
+60
+57
+52
+49
+44
+41
+36
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+15
+13
+11
+-16
+-38
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-61
+127
+127
+111
+95
+92
+84
+79
+72
+68
+61
+58
+52
+50
+45
+42
+10
+-15
+-38
+-56
+-72
+-84
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-49
+127
+127
+123
+106
+102
+94
+88
+81
+76
+69
+65
+59
+56
+50
+47
+15
+-11
+-35
+-53
+-70
+-82
+-94
+-103
+-111
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+72
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-26
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+79
+72
+67
+61
+57
+23
+-4
+-28
+-48
+-65
+-78
+-91
+-99
+-108
+-98
+-105
+-108
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+108
+99
+93
+86
+81
+72
+69
+63
+59
+52
+50
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+66
+61
+57
+52
+49
+44
+42
+38
+36
+31
+29
+27
+25
+22
+21
+18
+17
+15
+15
+13
+11
+-16
+-38
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-64
+-78
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+91
+82
+77
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-109
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+110
+106
+97
+91
+83
+78
+71
+67
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+90
+82
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+61
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+70
+66
+61
+57
+51
+48
+44
+42
+37
+35
+31
+30
+26
+25
+22
+20
+19
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-78
+-88
+-98
+-105
+-112
+-102
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+70
+66
+60
+57
+52
+48
+43
+41
+37
+34
+31
+29
+26
+25
+22
+21
+18
+18
+15
+14
+-13
+-36
+-56
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+55
+23
+-5
+-27
+-48
+-64
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+96
+90
+82
+77
+70
+67
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-108
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+92
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+38
+35
+31
+30
+27
+25
+22
+21
+19
+18
+15
+14
+13
+13
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+73
+69
+63
+59
+54
+50
+45
+43
+39
+36
+32
+31
+28
+26
+-4
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+113
+106
+96
+91
+82
+78
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+91
+83
+78
+70
+67
+61
+56
+51
+49
+44
+42
+37
+35
+31
+30
+26
+25
+22
+21
+18
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+93
+86
+81
+74
+69
+63
+60
+54
+51
+45
+43
+39
+36
+32
+31
+28
+26
+-4
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-55
+127
+127
+116
+101
+96
+88
+84
+76
+71
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-71
+-84
+-95
+-104
+-112
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+71
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+99
+59
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+123
+113
+106
+97
+91
+83
+78
+70
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-108
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+108
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+90
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+70
+67
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+49
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+90
+83
+78
+71
+67
+60
+56
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+67
+61
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+60
+56
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+77
+70
+67
+61
+56
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-100
+-107
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+97
+90
+83
+78
+71
+66
+61
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+78
+71
+66
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+70
+67
+61
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+66
+60
+57
+51
+48
+43
+41
+38
+35
+31
+30
+26
+25
+22
+21
+19
+17
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-105
+-113
+-102
+-107
+-110
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+70
+65
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+107
+99
+93
+85
+80
+72
+68
+62
+59
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+66
+61
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+66
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+70
+67
+60
+57
+52
+49
+43
+41
+37
+35
+31
+29
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-106
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+78
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+85
+80
+72
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+61
+57
+51
+49
+16
+-10
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+67
+60
+57
+51
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+70
+67
+61
+56
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+66
+61
+57
+51
+48
+43
+41
+37
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+68
+61
+58
+52
+49
+45
+42
+10
+-16
+-38
+-56
+-72
+-85
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+98
+58
+26
+-3
+-25
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-27
+127
+127
+127
+127
+123
+114
+106
+97
+91
+83
+78
+71
+67
+60
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-69
+-82
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+83
+78
+70
+67
+61
+57
+51
+49
+44
+41
+37
+35
+31
+30
+26
+25
+22
+21
+19
+17
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+93
+54
+23
+-6
+-28
+-48
+-64
+-78
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+70
+66
+61
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+80
+72
+69
+63
+59
+52
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+66
+61
+57
+52
+49
+16
+-10
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+77
+70
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-93
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+104
+96
+91
+83
+77
+70
+67
+60
+57
+52
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+60
+57
+51
+49
+44
+41
+37
+36
+31
+29
+26
+25
+22
+21
+18
+17
+15
+15
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+82
+73
+69
+63
+60
+53
+51
+45
+43
+39
+36
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+65
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+106
+96
+91
+83
+78
+70
+66
+60
+57
+22
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+112
+108
+99
+93
+85
+79
+73
+69
+62
+58
+53
+50
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+67
+61
+56
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+82
+78
+71
+67
+61
+57
+51
+49
+44
+42
+36
+35
+31
+29
+26
+25
+22
+21
+19
+17
+15
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+68
+62
+58
+52
+50
+45
+42
+10
+-16
+-38
+-56
+-72
+-84
+-96
+-104
+-113
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-102
+-111
+70
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+58
+26
+-3
+-26
+-46
+-62
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+122
+113
+106
+97
+91
+83
+79
+72
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+100
+94
+85
+79
+73
+69
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+91
+83
+78
+71
+67
+60
+56
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+90
+83
+78
+70
+67
+60
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+51
+48
+44
+42
+37
+35
+31
+29
+26
+25
+22
+20
+18
+18
+15
+15
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+68
+61
+58
+52
+49
+45
+42
+10
+-16
+-38
+-56
+-72
+-84
+-96
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-49
+127
+127
+123
+107
+103
+94
+88
+80
+76
+69
+64
+59
+56
+50
+47
+14
+-12
+-35
+-53
+-70
+-83
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+72
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+59
+26
+-2
+-25
+-45
+-61
+-76
+-87
+-97
+-105
+-112
+-101
+-106
+-109
+-112
+-127
+-26
+127
+127
+127
+127
+123
+113
+107
+97
+92
+83
+78
+71
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+109
+100
+93
+85
+80
+73
+68
+62
+59
+53
+51
+17
+-9
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+44
+41
+37
+35
+31
+30
+27
+25
+22
+21
+19
+18
+14
+15
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-106
+-113
+-101
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+126
+121
+112
+105
+96
+90
+82
+78
+70
+66
+60
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+99
+93
+84
+80
+73
+68
+61
+59
+53
+50
+17
+-10
+-33
+-52
+-69
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+91
+83
+78
+71
+66
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+90
+83
+77
+71
+67
+60
+57
+52
+48
+44
+42
+37
+34
+31
+30
+26
+25
+22
+21
+19
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-106
+-113
+-102
+-107
+-109
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+70
+66
+60
+56
+51
+48
+44
+41
+37
+35
+31
+29
+25
+25
+22
+20
+18
+17
+15
+14
+-14
+-36
+-55
+-71
+-85
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+61
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+55
+23
+-5
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-113
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+78
+70
+65
+59
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-99
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+113
+108
+99
+93
+84
+80
+72
+68
+62
+59
+53
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+43
+42
+37
+35
+31
+30
+26
+25
+23
+22
+18
+18
+15
+14
+13
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+28
+26
+-3
+-27
+-48
+-65
+-79
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+64
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+102
+96
+56
+24
+-4
+-27
+-47
+-63
+-77
+-88
+-98
+-105
+-112
+-101
+-106
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+122
+112
+105
+96
+91
+83
+78
+71
+67
+60
+57
+23
+-4
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+84
+80
+72
+68
+62
+59
+53
+50
+16
+-10
+-33
+-52
+-68
+-82
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+127
+110
+105
+97
+91
+83
+78
+71
+67
+60
+57
+52
+48
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+109
+106
+97
+90
+83
+78
+70
+67
+60
+57
+52
+49
+44
+41
+37
+35
+31
+30
+26
+24
+22
+22
+19
+18
+15
+14
+12
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-106
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+81
+73
+69
+63
+59
+53
+51
+45
+43
+38
+37
+33
+31
+28
+25
+-4
+-27
+-48
+-65
+-80
+-91
+-102
+-109
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-56
+127
+127
+116
+101
+97
+89
+83
+76
+72
+65
+62
+55
+52
+47
+45
+13
+-13
+-36
+-54
+-71
+-83
+-95
+-104
+-112
+-101
+-107
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+71
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+99
+59
+26
+-2
+-25
+-45
+-62
+-76
+-87
+-97
+-104
+-112
+-101
+-106
+-109
+-112
+-127
+-27
+127
+127
+127
+127
+122
+114
+106
+96
+91
+83
+79
+71
+67
+61
+57
+23
+-5
+-29
+-48
+-65
+-78
+-91
+-100
+-108
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-43
+127
+127
+127
+113
+108
+99
+94
+85
+79
+73
+69
+62
+59
+53
+50
+17
+-9
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+106
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+78
+71
+65
+61
+57
+52
+49
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+70
+67
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+82
+77
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+78
+71
+66
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+97
+90
+82
+78
+71
+66
+60
+57
+51
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+104
+97
+91
+83
+78
+70
+67
+61
+57
+51
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+83
+77
+71
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+104
+96
+91
+82
+78
+71
+67
+60
+57
+51
+49
+43
+41
+37
+35
+31
+29
+27
+25
+22
+21
+19
+17
+15
+15
+12
+12
+-16
+-37
+-57
+-72
+-86
+-97
+-107
+-98
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+60
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+55
+23
+-5
+-28
+-48
+-63
+-77
+-88
+-98
+-106
+-113
+-102
+-107
+-110
+-127
+-127
+-28
+127
+127
+127
+127
+121
+111
+106
+96
+90
+82
+78
+71
+66
+60
+56
+22
+-5
+-29
+-48
+-66
+-79
+-91
+-100
+-109
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+108
+100
+93
+85
+80
+73
+68
+62
+59
+52
+50
+17
+-10
+-33
+-52
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+127
+109
+105
+97
+91
+82
+78
+71
+67
+60
+57
+52
+49
+16
+-10
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+77
+71
+67
+60
+57
+52
+49
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+70
+67
+60
+57
+51
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+18
+18
+15
+15
+13
+12
+-15
+-37
+-57
+-72
+-86
+-97
+-107
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+59
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+93
+54
+23
+-6
+-28
+-48
+-64
+-78
+-88
+-98
+-106
+-113
+-101
+-107
+-109
+-127
+-127
+-28
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+70
+66
+61
+57
+23
+-5
+-29
+-48
+-65
+-79
+-91
+-100
+-108
+-98
+-105
+-109
+-127
+-127
+-127
+-127
+-44
+127
+127
+127
+112
+107
+99
+93
+85
+80
+72
+69
+62
+58
+53
+50
+17
+-10
+-33
+-51
+-68
+-81
+-93
+-102
+-110
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-46
+127
+127
+126
+110
+105
+97
+91
+83
+78
+71
+67
+61
+57
+52
+48
+15
+-11
+-34
+-52
+-69
+-82
+-94
+-102
+-111
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+96
+91
+83
+78
+70
+67
+60
+57
+52
+48
+15
+-11
+-34
+-53
+-69
+-82
+-94
+-102
+-111
+-101
+-107
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+125
+109
+105
+96
+91
+83
+78
+71
+67
+60
+57
+52
+48
+16
+-11
+-34
+-52
+-69
+-82
+-94
+-103
+-111
+-100
+-106
+-110
+-127
+-127
+-127
+-127
+-47
+127
+127
+126
+109
+105
+97
+91
+82
+77
+70
+67
+61
+56
+51
+49
+44
+42
+37
+35
+31
+30
+26
+24
+22
+21
+18
+18
+15
+14
+13
+12
+-15
+-37
+-57
+-72
+-86
+-96
+-106
+-97
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-62
+127
+127
+111
+95
+91
+84
+79
+72
+67
+62
+58
+52
+50
+45
+42
+10
+-16
+-39
+-56
+-72
+-85
+-96
+-105
+-113
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
diff --git a/traces/modulation-ask-man-40.pm3 b/traces/modulation-ask-man-40.pm3
new file mode 100644 (file)
index 0000000..8fdb2e6
--- /dev/null
@@ -0,0 +1,20000 @@
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+120
+114
+104
+98
+89
+84
+76
+72
+65
+61
+55
+53
+47
+44
+12
+-15
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+88
+84
+77
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+85
+77
+72
+65
+61
+55
+53
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+103
+98
+90
+84
+76
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+98
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+66
+61
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+71
+65
+61
+55
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+24
+20
+19
+17
+16
+13
+13
+11
+11
+8
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+86
+82
+44
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+58
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+66
+61
+56
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+11
+10
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+96
+87
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+91
+84
+79
+72
+67
+61
+57
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+89
+85
+77
+73
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+76
+72
+65
+62
+56
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+10
+9
+6
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+94
+88
+80
+75
+69
+64
+58
+56
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-87
+-98
+-106
+-99
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+93
+84
+79
+72
+68
+61
+58
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+106
+99
+91
+85
+77
+73
+66
+61
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+83
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+40
+37
+34
+33
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+8
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+81
+43
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+93
+84
+79
+72
+68
+61
+58
+52
+49
+16
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+13
+-13
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+65
+62
+56
+53
+47
+45
+40
+38
+34
+31
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+101
+95
+87
+82
+75
+70
+63
+60
+54
+51
+46
+44
+39
+37
+33
+31
+28
+26
+23
+22
+20
+19
+16
+16
+-13
+-35
+-55
+-71
+-85
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-111
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+111
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+88
+83
+44
+14
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+71
+68
+62
+57
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+72
+66
+63
+57
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+66
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+40
+38
+33
+32
+28
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+10
+9
+9
+6
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-100
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+124
+118
+109
+102
+93
+88
+80
+75
+68
+65
+59
+55
+50
+47
+42
+40
+8
+-17
+-40
+-58
+-74
+-87
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+114
+104
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+93
+84
+79
+72
+68
+62
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+77
+72
+65
+61
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-89
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+94
+88
+80
+75
+69
+65
+58
+55
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-87
+-98
+-107
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-20
+127
+127
+127
+127
+127
+120
+112
+103
+96
+87
+83
+75
+71
+64
+61
+55
+52
+47
+44
+11
+-15
+-37
+-56
+-72
+-85
+-97
+-105
+-114
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-107
+-102
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+103
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+92
+84
+79
+72
+67
+61
+58
+53
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+104
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+40
+37
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+10
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-100
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+44
+13
+-14
+-36
+-55
+-69
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+62
+57
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+73
+66
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+66
+61
+55
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+8
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-88
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+96
+88
+82
+44
+13
+-14
+-35
+-55
+-69
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+67
+62
+58
+52
+49
+45
+42
+38
+36
+31
+30
+27
+26
+22
+21
+19
+17
+16
+15
+13
+12
+10
+10
+8
+8
+-19
+-41
+-60
+-75
+-89
+-100
+-109
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-113
+-105
+-99
+-92
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+58
+53
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+97
+90
+85
+77
+72
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+11
+10
+9
+9
+6
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+75
+70
+64
+60
+54
+51
+46
+43
+39
+37
+33
+31
+28
+27
+23
+22
+20
+19
+16
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-111
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+112
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+102
+96
+88
+82
+44
+14
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+72
+67
+61
+58
+52
+48
+15
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+116
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+76
+72
+66
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+122
+114
+103
+97
+89
+83
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+28
+28
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+8
+7
+7
+-19
+-41
+-61
+-76
+-89
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+74
+70
+64
+60
+54
+51
+46
+44
+39
+37
+33
+31
+28
+26
+23
+22
+20
+19
+16
+16
+-12
+-35
+-55
+-71
+-85
+-96
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-30
+127
+127
+127
+127
+121
+112
+106
+96
+89
+82
+78
+70
+66
+60
+56
+51
+49
+43
+41
+9
+-17
+-40
+-58
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-100
+-109
+-102
+-96
+-90
+-83
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+45
+15
+-13
+-35
+-54
+-69
+-82
+-93
+-103
+-110
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+108
+98
+92
+84
+79
+72
+68
+62
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+65
+61
+56
+53
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+66
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+103
+97
+89
+84
+76
+72
+65
+62
+56
+53
+47
+45
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+121
+114
+104
+96
+89
+84
+76
+72
+65
+61
+56
+53
+48
+44
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-114
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+62
+55
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+121
+114
+104
+96
+89
+84
+77
+72
+65
+61
+56
+53
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+20
+17
+15
+13
+14
+12
+11
+9
+8
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+13
+-14
+-35
+-55
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+106
+97
+92
+84
+79
+72
+67
+61
+58
+52
+49
+15
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+115
+104
+98
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+115
+104
+98
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+28
+28
+24
+23
+20
+19
+17
+16
+13
+13
+11
+11
+9
+8
+7
+7
+-19
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-77
+-71
+110
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+81
+43
+13
+-14
+-36
+-55
+-70
+-84
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+66
+62
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+56
+52
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+71
+65
+62
+55
+52
+47
+45
+40
+38
+33
+32
+29
+27
+24
+23
+20
+19
+17
+15
+14
+13
+11
+11
+8
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+124
+118
+109
+103
+94
+88
+80
+76
+69
+64
+59
+55
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-75
+-87
+-98
+-107
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-108
+-102
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+62
+58
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+71
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+41
+38
+33
+32
+29
+27
+24
+23
+20
+19
+17
+16
+13
+13
+11
+11
+8
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+44
+13
+-14
+-35
+-54
+-69
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+84
+79
+72
+67
+62
+57
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+66
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+55
+53
+48
+45
+12
+-14
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+115
+104
+97
+90
+84
+76
+72
+65
+61
+56
+53
+48
+44
+12
+-14
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+28
+27
+24
+23
+20
+19
+16
+16
+14
+14
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+86
+82
+75
+70
+64
+60
+54
+51
+46
+43
+39
+37
+33
+31
+28
+27
+23
+22
+20
+18
+16
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+112
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+101
+96
+88
+82
+44
+13
+-14
+-36
+-55
+-69
+-83
+-94
+-103
+-110
+-101
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+72
+68
+61
+58
+52
+49
+16
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+76
+72
+66
+61
+55
+52
+48
+45
+40
+37
+34
+32
+28
+27
+24
+23
+20
+19
+16
+16
+14
+13
+10
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+124
+118
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+49
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-87
+-98
+-106
+-99
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+72
+68
+62
+58
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+104
+99
+90
+85
+77
+74
+66
+62
+57
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+98
+89
+84
+76
+72
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+66
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+23
+23
+20
+19
+16
+16
+14
+13
+11
+10
+9
+9
+7
+6
+-21
+-42
+-61
+-77
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+124
+118
+109
+103
+94
+88
+80
+75
+69
+65
+59
+55
+49
+47
+42
+40
+8
+-18
+-40
+-58
+-75
+-87
+-98
+-107
+-99
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-20
+127
+127
+127
+127
+127
+120
+113
+103
+96
+88
+83
+76
+71
+65
+61
+55
+52
+46
+45
+12
+-14
+-38
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-105
+-99
+-107
+-101
+-94
+-89
+-83
+-78
+-72
+-68
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+71
+68
+62
+58
+53
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-103
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+54
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-92
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+96
+86
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+91
+84
+79
+71
+68
+61
+57
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+72
+65
+63
+56
+53
+48
+46
+13
+-13
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+76
+71
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+44
+11
+-15
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+65
+61
+55
+53
+48
+44
+11
+-14
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+76
+72
+65
+61
+56
+53
+46
+45
+40
+38
+34
+32
+28
+27
+25
+23
+19
+19
+16
+15
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+93
+84
+79
+72
+68
+62
+58
+52
+49
+44
+42
+38
+35
+32
+31
+27
+26
+23
+21
+19
+18
+15
+14
+13
+12
+10
+10
+8
+8
+-19
+-41
+-60
+-75
+-89
+-99
+-109
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-113
+-105
+-99
+-92
+-87
+-81
+-76
+-70
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+13
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+67
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+15
+14
+13
+10
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+110
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+74
+70
+64
+60
+54
+51
+45
+44
+39
+37
+33
+31
+28
+26
+24
+22
+19
+19
+16
+15
+-13
+-36
+-56
+-72
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+112
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+88
+82
+44
+14
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+91
+84
+79
+72
+68
+61
+58
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+63
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+55
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+13
+13
+12
+11
+8
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-105
+-99
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+96
+87
+82
+75
+70
+63
+60
+54
+51
+46
+44
+39
+37
+33
+31
+28
+27
+24
+22
+19
+19
+16
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-29
+127
+127
+127
+127
+121
+112
+105
+95
+91
+82
+77
+70
+67
+61
+57
+51
+48
+43
+42
+9
+-17
+-40
+-58
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-108
+-102
+-95
+-90
+-83
+-79
+-73
+-69
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+114
+104
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+72
+68
+61
+58
+53
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-103
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+77
+72
+65
+61
+56
+53
+47
+44
+12
+-15
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+115
+104
+97
+90
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+44
+11
+-15
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+73
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+76
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+103
+97
+89
+83
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+55
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+6
+-21
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-76
+-71
+110
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+101
+95
+87
+81
+43
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-104
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+83
+79
+72
+67
+61
+58
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+57
+54
+48
+46
+13
+-13
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+40
+38
+34
+32
+28
+26
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+44
+13
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+84
+79
+71
+68
+61
+57
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-103
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+76
+72
+65
+61
+55
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+41
+38
+34
+32
+29
+27
+24
+23
+20
+20
+16
+15
+14
+14
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+94
+88
+80
+75
+69
+64
+59
+56
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-87
+-98
+-106
+-99
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+113
+103
+97
+89
+84
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+93
+84
+79
+72
+68
+61
+58
+53
+49
+15
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+77
+73
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+28
+28
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+101
+95
+87
+82
+44
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+106
+98
+92
+84
+79
+72
+68
+61
+58
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+61
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+76
+72
+66
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+98
+89
+83
+76
+72
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+76
+72
+65
+62
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+83
+76
+72
+65
+62
+56
+52
+47
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+16
+16
+14
+12
+11
+11
+9
+9
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-105
+-100
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+83
+75
+70
+63
+60
+54
+51
+46
+44
+39
+37
+33
+31
+28
+27
+24
+22
+20
+19
+16
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+111
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+112
+102
+96
+87
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+68
+62
+57
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+65
+62
+57
+52
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+65
+61
+55
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+65
+61
+56
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+13
+13
+12
+10
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+124
+118
+109
+103
+94
+88
+80
+76
+68
+65
+58
+55
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-87
+-98
+-107
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+114
+104
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+84
+79
+72
+68
+62
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+115
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+15
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+8
+-17
+-40
+-58
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-20
+127
+127
+127
+127
+127
+120
+113
+102
+96
+88
+83
+75
+71
+64
+61
+55
+51
+47
+45
+12
+-14
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-101
+-95
+-90
+-83
+-78
+-72
+-68
+-63
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+103
+97
+89
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+108
+99
+93
+84
+80
+73
+68
+62
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+40
+38
+34
+32
+28
+28
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+-20
+-41
+-60
+-76
+-89
+-100
+-110
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+86
+82
+43
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+62
+58
+52
+49
+15
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+71
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+65
+61
+56
+52
+48
+45
+40
+38
+34
+32
+28
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+14
+-14
+-35
+-55
+-69
+-83
+-94
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+84
+79
+71
+67
+62
+58
+52
+49
+45
+42
+37
+36
+32
+30
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+-19
+-41
+-60
+-75
+-89
+-100
+-109
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-105
+-100
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+14
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+83
+79
+72
+67
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+44
+40
+39
+34
+32
+28
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+6
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+86
+82
+75
+70
+64
+60
+54
+51
+46
+43
+39
+37
+33
+31
+28
+27
+23
+22
+19
+19
+16
+16
+-13
+-35
+-55
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-111
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+112
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+96
+88
+82
+44
+13
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+93
+84
+79
+72
+68
+61
+58
+53
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+90
+85
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+15
+14
+13
+11
+11
+9
+9
+7
+7
+-19
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+74
+70
+63
+59
+54
+51
+46
+44
+39
+37
+33
+31
+28
+27
+24
+22
+19
+19
+16
+15
+-13
+-35
+-55
+-71
+-86
+-97
+-106
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-30
+127
+127
+127
+126
+121
+112
+105
+96
+90
+82
+77
+70
+65
+60
+57
+50
+48
+44
+41
+9
+-17
+-40
+-57
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-100
+-108
+-102
+-96
+-90
+-83
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+45
+15
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+72
+67
+62
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+63
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+120
+114
+104
+97
+89
+84
+76
+72
+66
+62
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+66
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+122
+114
+103
+97
+89
+84
+76
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+76
+71
+65
+61
+55
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+28
+27
+24
+23
+20
+19
+16
+16
+14
+13
+10
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+44
+13
+-14
+-35
+-55
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+115
+107
+97
+92
+84
+79
+72
+67
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+90
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+73
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+25
+23
+19
+19
+17
+15
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-75
+-90
+-100
+-109
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+106
+98
+92
+84
+79
+72
+68
+61
+58
+52
+49
+16
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+116
+105
+98
+90
+85
+77
+73
+66
+62
+57
+53
+47
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+76
+72
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+8
+8
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+103
+94
+88
+80
+75
+68
+64
+59
+55
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-86
+-98
+-107
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-108
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+83
+45
+15
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+91
+84
+79
+72
+68
+61
+58
+53
+50
+16
+-10
+-34
+-53
+-69
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+65
+62
+57
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+62
+55
+52
+47
+45
+40
+38
+33
+32
+29
+27
+24
+23
+20
+18
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+96
+87
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+67
+62
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-82
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+65
+62
+56
+53
+48
+46
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+65
+61
+55
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+71
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-38
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+103
+98
+90
+84
+76
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+28
+27
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+74
+70
+64
+60
+54
+52
+46
+43
+39
+37
+33
+31
+28
+27
+24
+22
+19
+19
+17
+16
+-13
+-35
+-55
+-71
+-86
+-97
+-106
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+111
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+102
+96
+87
+82
+44
+14
+-14
+-35
+-54
+-69
+-83
+-94
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+62
+58
+52
+49
+16
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+91
+85
+77
+73
+66
+62
+56
+53
+47
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+90
+84
+77
+72
+66
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+-19
+-41
+-61
+-76
+-90
+-100
+-109
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+94
+88
+80
+75
+68
+64
+58
+55
+49
+47
+42
+40
+8
+-17
+-40
+-58
+-74
+-87
+-98
+-106
+-99
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+107
+99
+93
+84
+79
+72
+68
+62
+59
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+62
+57
+53
+48
+46
+13
+-13
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+76
+72
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+120
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+28
+24
+23
+21
+20
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+103
+94
+87
+80
+76
+68
+65
+59
+55
+50
+47
+42
+40
+8
+-18
+-40
+-58
+-74
+-87
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-20
+127
+127
+127
+127
+127
+120
+113
+102
+96
+88
+83
+75
+71
+65
+61
+55
+51
+46
+44
+12
+-14
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-105
+-99
+-107
+-101
+-95
+-89
+-83
+-78
+-72
+-68
+-63
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+92
+85
+79
+72
+67
+61
+58
+53
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+84
+76
+72
+66
+62
+55
+52
+48
+45
+40
+38
+34
+32
+29
+27
+23
+23
+20
+19
+17
+16
+13
+14
+12
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+13
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+62
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-103
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+77
+71
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+103
+97
+90
+84
+76
+72
+66
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+15
+14
+14
+11
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-100
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+43
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+84
+79
+72
+68
+61
+58
+53
+49
+44
+42
+38
+35
+32
+30
+27
+26
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+-19
+-41
+-60
+-75
+-89
+-99
+-109
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-76
+-71
+110
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+96
+87
+82
+43
+13
+-14
+-36
+-55
+-70
+-84
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+67
+62
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+74
+66
+61
+57
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+62
+56
+53
+48
+45
+40
+38
+34
+32
+28
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+74
+70
+64
+60
+54
+51
+46
+44
+40
+37
+33
+32
+28
+25
+23
+22
+20
+18
+16
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+112
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+111
+102
+96
+88
+83
+45
+14
+-14
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+71
+68
+62
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+13
+-13
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+65
+61
+55
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+8
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+75
+71
+63
+60
+54
+51
+46
+44
+39
+37
+33
+31
+28
+27
+23
+22
+20
+19
+15
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-29
+127
+127
+127
+126
+121
+112
+105
+96
+90
+82
+77
+70
+67
+61
+56
+51
+48
+44
+41
+9
+-17
+-40
+-57
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-100
+-108
+-102
+-95
+-90
+-83
+-78
+-73
+-69
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+96
+89
+84
+45
+15
+-13
+-34
+-54
+-69
+-82
+-93
+-103
+-110
+-100
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+79
+72
+68
+61
+58
+53
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+90
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+103
+98
+90
+84
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+62
+55
+52
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+48
+44
+12
+-14
+-38
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+66
+62
+55
+52
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+96
+89
+84
+77
+72
+65
+61
+56
+53
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-114
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+46
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+65
+62
+56
+53
+47
+44
+12
+-15
+-37
+-56
+-72
+-85
+-97
+-105
+-114
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+48
+45
+39
+38
+34
+32
+28
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+8
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+13
+-14
+-35
+-54
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+97
+92
+84
+79
+71
+68
+62
+58
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+13
+-13
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+62
+56
+52
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+55
+53
+48
+44
+12
+-14
+-38
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+66
+61
+55
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+83
+44
+14
+-14
+-35
+-54
+-69
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+83
+79
+72
+67
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+54
+48
+46
+13
+-13
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+52
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+71
+65
+61
+55
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+90
+84
+76
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+37
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+-19
+-41
+-61
+-76
+-89
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+93
+88
+80
+75
+68
+64
+58
+56
+50
+47
+42
+40
+8
+-17
+-40
+-58
+-74
+-87
+-98
+-106
+-99
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+116
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+113
+103
+97
+89
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+108
+98
+93
+84
+79
+72
+68
+62
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+116
+105
+98
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+52
+47
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+103
+97
+89
+84
+77
+72
+65
+61
+56
+53
+46
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+15
+13
+13
+11
+11
+9
+9
+7
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+110
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+86
+82
+43
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-104
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+58
+53
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+63
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+83
+77
+72
+65
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+77
+72
+65
+62
+56
+53
+47
+45
+40
+38
+34
+31
+28
+27
+24
+23
+20
+19
+17
+16
+14
+12
+11
+11
+9
+8
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-112
+-105
+-100
+-93
+-87
+-81
+-77
+-71
+110
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+75
+70
+63
+60
+54
+51
+45
+44
+39
+37
+33
+31
+27
+27
+24
+22
+19
+19
+16
+15
+-13
+-35
+-56
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+111
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+96
+88
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+91
+84
+79
+72
+67
+61
+58
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-103
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+55
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+13
+13
+12
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+124
+118
+109
+103
+93
+88
+80
+75
+69
+65
+59
+55
+50
+47
+42
+40
+8
+-17
+-40
+-58
+-74
+-87
+-98
+-107
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-83
+-79
+-73
+-69
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+120
+113
+104
+97
+88
+84
+45
+15
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+124
+115
+108
+99
+92
+84
+79
+72
+68
+61
+57
+52
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+77
+72
+66
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+90
+84
+76
+72
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+52
+47
+45
+40
+37
+34
+32
+29
+27
+24
+23
+20
+19
+17
+15
+14
+13
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-33
+127
+127
+127
+123
+118
+109
+102
+93
+88
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+8
+-17
+-40
+-58
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-20
+127
+127
+127
+127
+127
+120
+112
+102
+96
+87
+83
+75
+70
+64
+61
+55
+51
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-98
+-108
+-101
+-95
+-89
+-82
+-78
+-72
+-68
+-63
+118
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+45
+15
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+107
+99
+93
+84
+79
+72
+68
+62
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+74
+66
+62
+57
+53
+48
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+20
+17
+16
+13
+13
+11
+11
+9
+8
+6
+7
+-20
+-41
+-61
+-76
+-90
+-100
+-110
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+14
+-14
+-35
+-55
+-69
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+58
+52
+49
+16
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+67
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+83
+76
+72
+65
+62
+56
+52
+47
+45
+13
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-19
+127
+127
+127
+127
+127
+122
+114
+103
+97
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+88
+84
+76
+72
+65
+61
+56
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+12
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-99
+-93
+-87
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+96
+87
+82
+43
+13
+-14
+-36
+-55
+-69
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+115
+107
+98
+92
+84
+79
+72
+67
+61
+58
+52
+50
+45
+42
+37
+36
+32
+29
+27
+26
+22
+22
+19
+18
+16
+15
+13
+12
+10
+10
+7
+8
+-19
+-41
+-60
+-75
+-89
+-99
+-109
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-109
+-102
+-113
+-105
+-99
+-92
+-87
+-81
+-76
+-70
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+86
+82
+44
+13
+-14
+-35
+-55
+-69
+-83
+-93
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+124
+114
+107
+98
+92
+84
+79
+72
+68
+61
+57
+52
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+122
+115
+106
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+98
+89
+84
+77
+72
+66
+62
+55
+53
+48
+45
+40
+38
+34
+32
+29
+27
+24
+23
+20
+19
+16
+16
+14
+13
+11
+11
+9
+9
+7
+6
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-105
+-100
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+87
+82
+74
+70
+64
+60
+54
+51
+47
+44
+39
+37
+33
+31
+28
+26
+23
+23
+20
+19
+16
+16
+-13
+-35
+-55
+-71
+-86
+-97
+-107
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+112
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+112
+102
+95
+88
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+79
+72
+68
+61
+57
+53
+50
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+115
+104
+97
+89
+85
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+52
+47
+45
+40
+38
+34
+32
+29
+28
+24
+23
+20
+19
+17
+15
+14
+13
+11
+11
+9
+9
+7
+8
+-19
+-41
+-61
+-76
+-89
+-100
+-110
+-101
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+74
+70
+64
+60
+54
+51
+46
+43
+40
+37
+33
+31
+28
+26
+24
+23
+19
+18
+16
+16
+-12
+-35
+-55
+-71
+-86
+-97
+-106
+-98
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-30
+127
+127
+127
+126
+121
+112
+105
+96
+90
+82
+78
+70
+66
+60
+56
+51
+48
+44
+41
+8
+-17
+-40
+-58
+-74
+-86
+-98
+-106
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-99
+-108
+-102
+-95
+-90
+-83
+-79
+-73
+-69
+-64
+117
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+45
+14
+-13
+-35
+-54
+-69
+-83
+-93
+-103
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-3
+127
+127
+127
+127
+127
+127
+125
+114
+108
+99
+92
+84
+79
+72
+68
+62
+59
+53
+50
+16
+-10
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-17
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+84
+77
+73
+66
+62
+56
+53
+48
+46
+13
+-14
+-37
+-55
+-72
+-84
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+83
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+88
+84
+77
+71
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+120
+114
+104
+97
+89
+83
+76
+72
+65
+61
+56
+53
+48
+44
+12
+-14
+-38
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+115
+104
+97
+89
+84
+77
+72
+65
+62
+56
+53
+47
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+115
+104
+98
+89
+83
+76
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+77
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+76
+72
+65
+61
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+122
+114
+104
+97
+89
+84
+76
+71
+65
+61
+56
+52
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+98
+89
+83
+76
+72
+65
+61
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+71
+65
+62
+55
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+76
+72
+65
+61
+56
+53
+47
+44
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+103
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+40
+38
+34
+32
+29
+28
+24
+22
+20
+19
+17
+15
+13
+14
+11
+11
+9
+9
+7
+7
+-20
+-42
+-61
+-76
+-90
+-100
+-110
+-101
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-99
+-93
+-87
+-81
+-76
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+44
+13
+-14
+-35
+-55
+-70
+-83
+-94
+-103
+-110
+-101
+-106
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+84
+78
+72
+68
+61
+58
+52
+49
+16
+-11
+-34
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-16
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+90
+84
+76
+72
+66
+61
+55
+53
+48
+45
+12
+-14
+-37
+-56
+-72
+-85
+-97
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+114
+104
+97
+89
+84
+77
+72
+65
+61
+56
+53
+47
+45
+12
+-14
+-37
+-55
+-72
+-85
+-96
+-105
+-113
+-103
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-18
+127
+127
+127
+127
+127
+121
+113
+104
+97
+89
+84
+77
+72
+65
+62
+55
+52
+47
+45
+40
+38
+34
+32
+29
+27
+25
+23
+20
+19
+17
+15
+14
+13
+11
+11
+9
+9
+7
+7
+-19
+-41
+-61
+-76
+-90
+-100
+-110
+-100
+-107
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-113
+-106
+-100
+-93
+-88
+-81
+-77
+-71
+109
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+102
+95
+87
+82
+43
+13
+-14
+-36
+-55
+-70
+-83
+-94
+-104
+-110
+-101
+-105
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-4
+127
+127
+127
+127
+127
+127
+125
+114
+107
+98
+92
+83
+79
+72
+68
+62
+58
+52
+49
+16
+-11
+-35
+-53
+-70
+-83
+-95
+-104
+-112
+-102
+-108
+-112
+-127
+-127
+-127
diff --git a/traces/modulation-ask-man-8.pm3 b/traces/modulation-ask-man-8.pm3
new file mode 100644 (file)
index 0000000..7aa4895
--- /dev/null
@@ -0,0 +1,20000 @@
+102
+120
+68
+19
+-23
+-58
+-88
+6
+90
+107
+56
+9
+-32
+-65
+-95
+-1
+82
+99
+72
+32
+-8
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+122
+127
+118
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+24
+109
+127
+82
+31
+-13
+-49
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+75
+25
+-18
+-54
+-84
+12
+94
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+79
+96
+45
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-76
+-104
+-13
+70
+88
+39
+-6
+-45
+-76
+-104
+-14
+69
+88
+37
+-7
+-46
+-77
+-105
+-14
+70
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+87
+37
+-8
+-46
+-78
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+36
+-8
+-47
+-78
+-105
+-15
+68
+86
+59
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+37
+115
+127
+85
+34
+-11
+-46
+-78
+27
+109
+127
+74
+24
+-19
+-54
+-85
+11
+93
+111
+59
+12
+-30
+-64
+-93
+1
+84
+102
+51
+4
+-36
+-68
+-97
+-6
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+64
+25
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+74
+25
+-19
+-54
+-84
+11
+94
+111
+59
+12
+-30
+-64
+-92
+1
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-15
+-43
+-73
+-100
+-108
+-127
+-127
+-10
+77
+102
+55
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-22
+-56
+-86
+19
+101
+119
+66
+18
+-24
+-59
+-89
+5
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+77
+95
+66
+27
+-12
+-40
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-77
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+86
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+114
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+42
+124
+127
+87
+36
+-9
+-46
+-77
+19
+102
+120
+68
+19
+-24
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-95
+-2
+81
+99
+70
+30
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+11
+-30
+-64
+-93
+-100
+-127
+-127
+-127
+33
+107
+122
+71
+22
+-20
+-55
+-85
+20
+102
+120
+68
+19
+-23
+-58
+-88
+6
+89
+106
+55
+8
+-33
+-66
+-95
+-1
+81
+99
+49
+3
+-37
+-70
+-98
+-7
+77
+94
+44
+-2
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+82
+101
+51
+5
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+65
+16
+-26
+-60
+-89
+16
+98
+115
+64
+15
+-27
+-61
+-90
+3
+86
+105
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+70
+30
+-10
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+90
+38
+-7
+-44
+-76
+30
+112
+127
+76
+26
+-17
+-53
+-83
+13
+95
+112
+60
+12
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-4
+79
+97
+46
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+22
+-16
+-43
+-74
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-10
+-46
+-77
+28
+110
+127
+99
+58
+15
+-13
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+119
+127
+82
+31
+-13
+-49
+-80
+17
+99
+117
+65
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-2
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+11
+-26
+-59
+-89
+-112
+-127
+-127
+-127
+-127
+-105
+64
+127
+127
+112
+57
+9
+-30
+-64
+44
+126
+127
+88
+37
+-8
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+8
+91
+107
+56
+9
+-32
+-65
+-94
+-1
+81
+99
+72
+31
+-8
+-35
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+117
+78
+38
+10
+-26
+-60
+-89
+-97
+-127
+24
+109
+127
+83
+32
+-12
+-48
+-80
+-105
+-111
+-127
+-102
+46
+120
+127
+83
+33
+-11
+-47
+-79
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+46
+0
+-39
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-7
+-45
+-76
+-104
+-14
+69
+87
+37
+-7
+-46
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-77
+-105
+-16
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+59
+19
+-18
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+27
+109
+125
+73
+24
+-19
+-55
+-85
+11
+93
+111
+59
+12
+-30
+-63
+-93
+1
+84
+102
+51
+5
+-36
+-69
+-97
+-5
+77
+96
+45
+-1
+-40
+-72
+-100
+-10
+74
+92
+64
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+87
+36
+-9
+-45
+-77
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-43
+-74
+-102
+-12
+72
+90
+63
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+101
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+121
+70
+21
+-22
+-56
+-86
+19
+102
+118
+66
+18
+-24
+-59
+-89
+6
+88
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+76
+94
+67
+26
+-13
+-40
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-44
+-76
+28
+111
+127
+75
+25
+-18
+-53
+-84
+12
+95
+112
+60
+12
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+118
+127
+113
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-46
+-77
+21
+102
+120
+67
+19
+-24
+-58
+-88
+7
+90
+107
+55
+8
+-32
+-66
+-95
+-2
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+11
+-30
+-64
+-93
+-100
+-127
+-127
+-127
+33
+106
+123
+72
+23
+-20
+-55
+-85
+20
+102
+119
+67
+19
+-24
+-58
+-88
+6
+88
+107
+56
+9
+-33
+-66
+-95
+-1
+82
+100
+49
+3
+-37
+-70
+-98
+-7
+76
+94
+43
+-2
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+98
+115
+64
+16
+-26
+-60
+-89
+15
+98
+116
+64
+15
+-26
+-60
+-90
+4
+86
+104
+53
+7
+-34
+-67
+-96
+-3
+80
+97
+69
+29
+-10
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+30
+113
+127
+76
+26
+-17
+-53
+-83
+12
+94
+112
+61
+13
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-4
+79
+96
+46
+0
+-39
+-71
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+63
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-9
+-45
+-77
+28
+109
+127
+99
+57
+16
+-13
+-47
+-77
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+118
+127
+82
+31
+-13
+-49
+-80
+17
+100
+117
+64
+16
+-26
+-60
+-90
+3
+87
+105
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+81
+40
+12
+-26
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+57
+9
+-30
+-63
+44
+125
+127
+88
+37
+-9
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-57
+-88
+7
+90
+108
+56
+9
+-32
+-65
+-94
+-1
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-102
+47
+120
+127
+83
+33
+-12
+-47
+-79
+28
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-36
+-68
+-97
+-4
+79
+95
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-77
+-104
+-14
+70
+88
+38
+-7
+-45
+-77
+-104
+-14
+69
+87
+37
+-7
+-46
+-77
+-104
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+69
+86
+37
+-8
+-46
+-78
+-105
+-16
+68
+86
+37
+-8
+-46
+-78
+-105
+-15
+69
+86
+37
+-8
+-46
+-78
+-105
+-15
+68
+86
+59
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+26
+109
+126
+73
+24
+-20
+-54
+-85
+11
+94
+111
+59
+11
+-30
+-64
+-93
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-101
+-9
+74
+92
+65
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-77
+28
+111
+127
+74
+24
+-19
+-54
+-84
+11
+94
+111
+59
+12
+-30
+-63
+-92
+1
+84
+103
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-9
+77
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+105
+120
+69
+21
+-22
+-56
+-86
+19
+101
+119
+67
+18
+-24
+-58
+-88
+5
+89
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+66
+27
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+29
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+112
+60
+13
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+71
+90
+62
+23
+-15
+-42
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+75
+34
+7
+-29
+-62
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-46
+-77
+20
+102
+120
+68
+19
+-24
+-58
+-88
+7
+89
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+71
+31
+-8
+-37
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+12
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+33
+107
+122
+71
+22
+-20
+-55
+-85
+20
+102
+120
+68
+19
+-24
+-58
+-88
+6
+89
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+100
+49
+3
+-37
+-70
+-98
+-7
+77
+94
+44
+-2
+-41
+-73
+-101
+-10
+74
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-8
+80
+104
+56
+9
+-32
+-65
+-94
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-26
+-60
+-89
+16
+98
+116
+64
+16
+-26
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+70
+29
+-10
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+89
+38
+-7
+-44
+-76
+30
+112
+127
+76
+26
+-17
+-53
+-83
+12
+95
+111
+60
+12
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-96
+-5
+79
+96
+46
+0
+-39
+-72
+-100
+-8
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-10
+-45
+-77
+28
+109
+127
+99
+57
+16
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+53
+127
+127
+100
+47
+1
+-37
+-70
+37
+118
+127
+82
+31
+-13
+-49
+-80
+17
+100
+117
+65
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-106
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-9
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+7
+89
+107
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+71
+31
+-8
+-35
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+78
+38
+10
+-26
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+31
+-13
+-49
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+83
+33
+-12
+-47
+-79
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-30
+-63
+-92
+1
+85
+102
+51
+5
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-7
+-45
+-77
+-104
+-14
+69
+88
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+36
+-8
+-47
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+84
+34
+-11
+-46
+-78
+27
+109
+125
+73
+24
+-19
+-54
+-85
+10
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+75
+92
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+87
+36
+-9
+-45
+-77
+29
+110
+127
+74
+25
+-19
+-54
+-84
+11
+94
+111
+59
+12
+-30
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+102
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-22
+-56
+-86
+19
+102
+119
+67
+18
+-24
+-58
+-88
+6
+88
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+1
+-38
+-71
+-99
+-7
+75
+93
+66
+27
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-44
+-76
+29
+111
+127
+74
+25
+-19
+-54
+-84
+12
+95
+112
+60
+13
+-29
+-63
+-92
+1
+85
+103
+51
+5
+-36
+-68
+-97
+-4
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+61
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+113
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-107
+62
+127
+127
+109
+55
+8
+-31
+-65
+43
+124
+127
+86
+35
+-10
+-46
+-78
+21
+102
+121
+68
+19
+-23
+-58
+-88
+6
+90
+107
+55
+8
+-33
+-66
+-95
+-1
+82
+99
+71
+31
+-9
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+12
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+32
+106
+123
+71
+22
+-20
+-55
+-85
+19
+102
+119
+67
+19
+-24
+-58
+-88
+6
+89
+107
+55
+8
+-32
+-66
+-95
+-2
+82
+99
+48
+2
+-38
+-70
+-98
+-6
+77
+93
+44
+-2
+-41
+-73
+-101
+-10
+73
+91
+64
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-26
+-59
+-89
+15
+98
+116
+63
+16
+-26
+-61
+-90
+4
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+98
+69
+29
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+30
+112
+127
+76
+26
+-17
+-52
+-83
+12
+95
+112
+61
+13
+-29
+-63
+-92
+2
+86
+102
+52
+5
+-35
+-68
+-97
+-4
+78
+96
+45
+0
+-40
+-72
+-100
+-8
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-10
+-45
+-77
+28
+109
+127
+99
+57
+15
+-13
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+119
+127
+82
+31
+-13
+-49
+-80
+17
+100
+117
+65
+16
+-26
+-60
+-90
+4
+88
+105
+77
+36
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+81
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+57
+9
+-29
+-63
+44
+125
+127
+88
+36
+-9
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-1
+82
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+23
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+83
+33
+-11
+-47
+-78
+28
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-8
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-76
+-104
+-14
+70
+88
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-14
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+87
+36
+-8
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+67
+86
+58
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+27
+109
+126
+73
+24
+-19
+-54
+-85
+11
+94
+110
+59
+11
+-30
+-64
+-93
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+65
+24
+-14
+-41
+-72
+-99
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+75
+25
+-19
+-54
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+101
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+20
+-22
+-56
+-86
+19
+101
+119
+67
+18
+-24
+-58
+-88
+5
+88
+106
+54
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+66
+27
+-12
+-40
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+29
+110
+127
+75
+26
+-18
+-53
+-84
+12
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+102
+51
+4
+-36
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+75
+34
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+8
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+20
+103
+120
+68
+19
+-24
+-58
+-88
+7
+89
+107
+56
+8
+-33
+-66
+-95
+-2
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+108
+59
+12
+-29
+-63
+-92
+-100
+-127
+-127
+-127
+33
+106
+122
+71
+22
+-20
+-55
+-85
+20
+102
+119
+68
+19
+-24
+-58
+-88
+6
+90
+107
+56
+9
+-32
+-65
+-95
+-1
+82
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+43
+-2
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+55
+8
+-32
+-65
+-94
+0
+82
+101
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-26
+-60
+-89
+15
+97
+115
+64
+15
+-27
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+98
+70
+30
+-9
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+90
+38
+-7
+-43
+-75
+29
+112
+127
+76
+26
+-18
+-53
+-83
+13
+95
+112
+60
+13
+-29
+-63
+-92
+2
+85
+102
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-8
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-9
+-45
+-77
+28
+109
+126
+98
+57
+15
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+53
+127
+127
+100
+47
+1
+-36
+-69
+38
+119
+127
+82
+31
+-13
+-49
+-80
+17
+100
+117
+65
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-111
+44
+124
+127
+119
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-106
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-9
+-45
+-77
+21
+103
+121
+68
+19
+-23
+-58
+-88
+8
+90
+108
+56
+9
+-32
+-65
+-94
+-1
+82
+99
+72
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+9
+-27
+-61
+-90
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-104
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-7
+-45
+-77
+-104
+-14
+70
+88
+38
+-6
+-45
+-77
+-104
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+84
+33
+-11
+-47
+-78
+27
+109
+125
+73
+24
+-19
+-54
+-85
+10
+94
+111
+60
+12
+-30
+-63
+-92
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-4
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+91
+64
+24
+-14
+-42
+-72
+-99
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+87
+36
+-9
+-45
+-77
+29
+110
+127
+74
+25
+-19
+-54
+-84
+12
+94
+111
+60
+13
+-29
+-63
+-92
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-4
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-43
+-74
+-102
+-11
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+101
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+30
+104
+121
+70
+21
+-22
+-56
+-86
+19
+101
+119
+67
+19
+-24
+-58
+-88
+6
+89
+106
+55
+8
+-33
+-66
+-95
+-2
+82
+98
+48
+2
+-38
+-70
+-99
+-7
+76
+94
+66
+26
+-12
+-40
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-45
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+22
+-16
+-44
+-74
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+113
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+86
+36
+-9
+-46
+-77
+20
+102
+120
+68
+19
+-23
+-58
+-88
+6
+90
+107
+55
+8
+-33
+-66
+-95
+-1
+81
+99
+72
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+12
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+32
+106
+122
+71
+22
+-21
+-55
+-85
+19
+102
+119
+67
+18
+-24
+-58
+-88
+7
+89
+107
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+48
+2
+-38
+-70
+-98
+-6
+77
+94
+44
+-1
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+103
+56
+9
+-32
+-65
+-94
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+26
+99
+115
+64
+16
+-25
+-59
+-89
+15
+98
+115
+63
+15
+-27
+-61
+-90
+4
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+69
+30
+-9
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-43
+-76
+30
+112
+127
+76
+26
+-17
+-53
+-83
+13
+94
+112
+61
+13
+-29
+-63
+-92
+1
+85
+103
+51
+5
+-35
+-68
+-97
+-4
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-9
+-45
+-77
+28
+109
+126
+98
+57
+15
+-14
+-47
+-78
+-105
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+100
+48
+1
+-37
+-69
+38
+119
+127
+82
+31
+-13
+-49
+-80
+17
+99
+117
+65
+16
+-26
+-60
+-89
+5
+88
+105
+77
+36
+-3
+-32
+-63
+-92
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+45
+124
+127
+119
+80
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+57
+9
+-29
+-63
+44
+126
+127
+88
+37
+-8
+-45
+-77
+22
+104
+121
+68
+20
+-23
+-57
+-87
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-1
+82
+99
+72
+32
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+122
+127
+117
+78
+38
+9
+-27
+-61
+-90
+-97
+-127
+24
+109
+127
+83
+32
+-12
+-48
+-80
+-105
+-110
+-127
+-101
+47
+119
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+75
+25
+-18
+-53
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-7
+-46
+-77
+-104
+-14
+69
+88
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-14
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+59
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+84
+33
+-11
+-47
+-78
+27
+109
+127
+74
+24
+-19
+-54
+-84
+11
+93
+111
+59
+12
+-30
+-64
+-93
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+91
+64
+24
+-14
+-41
+-72
+-99
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+75
+25
+-18
+-53
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+4
+-36
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+22
+-16
+-44
+-74
+-100
+-108
+-127
+-127
+-9
+78
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-22
+-56
+-86
+18
+101
+118
+66
+18
+-25
+-59
+-89
+6
+89
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+76
+94
+65
+26
+-13
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-44
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+94
+112
+61
+13
+-29
+-63
+-92
+2
+85
+101
+51
+5
+-36
+-68
+-97
+-5
+78
+96
+46
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+75
+34
+6
+-29
+-63
+-91
+-99
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+20
+102
+119
+67
+19
+-24
+-58
+-88
+7
+90
+107
+55
+8
+-32
+-65
+-95
+-2
+82
+100
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+12
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+33
+106
+121
+71
+22
+-21
+-55
+-85
+20
+102
+120
+68
+19
+-24
+-58
+-88
+6
+90
+107
+55
+8
+-32
+-65
+-95
+-1
+81
+99
+48
+2
+-38
+-70
+-98
+-6
+77
+94
+44
+-1
+-41
+-73
+-101
+-10
+73
+90
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+55
+8
+-32
+-65
+-94
+0
+82
+101
+51
+4
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+114
+64
+16
+-26
+-60
+-89
+15
+98
+115
+63
+15
+-27
+-61
+-90
+4
+87
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+70
+30
+-9
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+30
+112
+127
+76
+26
+-17
+-52
+-83
+12
+95
+113
+61
+13
+-29
+-62
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-4
+79
+96
+45
+0
+-40
+-72
+-100
+-8
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+86
+35
+-10
+-46
+-77
+28
+110
+126
+98
+57
+15
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-102
+53
+127
+127
+100
+47
+1
+-37
+-69
+38
+119
+127
+83
+32
+-12
+-48
+-80
+17
+100
+117
+64
+16
+-26
+-60
+-90
+5
+88
+104
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+21
+104
+121
+68
+19
+-23
+-57
+-88
+7
+90
+108
+56
+9
+-32
+-65
+-94
+-1
+82
+99
+72
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+78
+38
+10
+-27
+-61
+-90
+-97
+-127
+24
+109
+127
+83
+32
+-12
+-48
+-79
+-104
+-111
+-127
+-102
+47
+120
+127
+84
+33
+-11
+-47
+-78
+29
+109
+127
+74
+25
+-18
+-53
+-84
+11
+94
+112
+60
+12
+-29
+-63
+-92
+1
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+39
+-5
+-44
+-75
+-103
+-13
+71
+89
+38
+-6
+-45
+-76
+-104
+-14
+70
+87
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-46
+-78
+27
+109
+126
+73
+24
+-19
+-54
+-85
+11
+93
+111
+59
+11
+-30
+-63
+-93
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-5
+77
+95
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+63
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+87
+35
+-9
+-45
+-77
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+112
+60
+13
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-4
+78
+96
+46
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+78
+101
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+30
+104
+120
+69
+21
+-22
+-56
+-86
+19
+101
+119
+66
+18
+-25
+-59
+-89
+6
+88
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-99
+-6
+77
+93
+66
+26
+-13
+-40
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+95
+111
+60
+13
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-36
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+112
+75
+34
+6
+-30
+-63
+-91
+-99
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-32
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+7
+90
+107
+55
+8
+-32
+-66
+-95
+-2
+82
+99
+71
+31
+-8
+-35
+-66
+-94
+-102
+-127
+-127
+-3
+84
+107
+58
+11
+-30
+-63
+-92
+-100
+-127
+-127
+-127
+32
+106
+122
+71
+22
+-21
+-55
+-85
+20
+102
+119
+67
+19
+-24
+-58
+-88
+6
+89
+107
+55
+8
+-32
+-66
+-95
+-2
+82
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+95
+44
+-1
+-41
+-73
+-100
+-10
+73
+91
+63
+23
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+0
+83
+102
+51
+5
+-35
+-68
+-97
+-103
+-127
+-127
+-127
+25
+99
+115
+65
+17
+-25
+-59
+-89
+15
+98
+115
+63
+15
+-27
+-61
+-90
+4
+86
+104
+53
+7
+-34
+-67
+-96
+-4
+79
+97
+70
+29
+-9
+-37
+-68
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-43
+-75
+30
+112
+127
+75
+26
+-18
+-53
+-83
+12
+95
+112
+61
+13
+-29
+-62
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-4
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-9
+-45
+-77
+28
+109
+127
+98
+57
+15
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+100
+47
+1
+-37
+-69
+37
+119
+127
+83
+32
+-12
+-48
+-80
+17
+100
+116
+64
+16
+-26
+-60
+-90
+5
+88
+105
+77
+36
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+123
+127
+119
+80
+40
+11
+-26
+-59
+-89
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-63
+45
+126
+127
+88
+37
+-8
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+7
+91
+108
+56
+9
+-32
+-65
+-94
+-1
+82
+99
+72
+32
+-8
+-35
+-66
+-94
+-102
+-127
+-127
+-127
+-127
+-127
+-127
+42
+122
+127
+117
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-79
+-104
+-111
+-127
+-102
+47
+120
+127
+84
+33
+-11
+-47
+-78
+29
+110
+127
+75
+25
+-18
+-53
+-84
+12
+95
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-4
+79
+96
+45
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+39
+-5
+-44
+-76
+-103
+-13
+70
+88
+38
+-6
+-45
+-76
+-104
+-14
+70
+87
+37
+-7
+-46
+-77
+-104
+-14
+70
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+68
+85
+36
+-9
+-47
+-78
+-106
+-15
+68
+86
+59
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-47
+-78
+27
+109
+126
+74
+24
+-19
+-54
+-85
+11
+94
+111
+59
+12
+-30
+-63
+-93
+1
+84
+102
+51
+4
+-36
+-69
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+79
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-44
+-73
+-100
+-108
+-127
+-127
+-9
+78
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+70
+21
+-21
+-56
+-86
+19
+101
+119
+66
+18
+-24
+-59
+-89
+6
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+80
+99
+48
+2
+-38
+-70
+-99
+-7
+77
+94
+66
+26
+-13
+-41
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-9
+-45
+-76
+29
+111
+127
+75
+26
+-18
+-53
+-83
+12
+94
+112
+60
+13
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+63
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+75
+35
+7
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+20
+102
+120
+67
+18
+-24
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+70
+30
+-8
+-36
+-67
+-94
+-103
+-127
+-127
+-3
+84
+107
+59
+11
+-30
+-63
+-92
+-100
+-127
+-127
+-127
+33
+106
+121
+71
+22
+-21
+-55
+-86
+20
+102
+120
+68
+19
+-23
+-58
+-88
+6
+89
+107
+55
+8
+-33
+-66
+-95
+-1
+82
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+44
+-1
+-41
+-73
+-101
+-10
+73
+91
+63
+23
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+103
+55
+8
+-32
+-65
+-95
+0
+83
+101
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+98
+115
+64
+16
+-26
+-59
+-89
+15
+98
+116
+64
+16
+-26
+-61
+-90
+4
+87
+105
+53
+7
+-34
+-67
+-96
+-3
+80
+97
+69
+29
+-10
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-75
+30
+112
+127
+76
+26
+-17
+-53
+-83
+13
+95
+113
+61
+13
+-28
+-62
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-4
+79
+96
+45
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-10
+-46
+-77
+29
+111
+127
+99
+57
+16
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-100
+54
+127
+127
+100
+47
+1
+-37
+-69
+37
+120
+127
+83
+32
+-12
+-48
+-80
+17
+99
+117
+64
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+80
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-64
+45
+125
+127
+88
+37
+-8
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+8
+91
+108
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+71
+31
+-8
+-35
+-66
+-94
+-102
+-127
+-127
+-127
+-127
+-127
+-127
+41
+122
+127
+117
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+24
+109
+127
+82
+32
+-12
+-48
+-79
+-104
+-111
+-127
+-102
+46
+119
+127
+83
+33
+-12
+-47
+-78
+29
+110
+127
+74
+25
+-19
+-53
+-84
+12
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+101
+51
+4
+-36
+-69
+-97
+-4
+79
+96
+46
+0
+-39
+-71
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+71
+89
+38
+-6
+-45
+-76
+-104
+-14
+70
+87
+38
+-7
+-46
+-77
+-104
+-14
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+69
+86
+58
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+27
+109
+126
+73
+24
+-19
+-54
+-85
+11
+93
+111
+59
+12
+-30
+-64
+-93
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-5
+77
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+64
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+86
+36
+-9
+-45
+-77
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+91
+41
+-4
+-43
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-9
+78
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+70
+21
+-22
+-56
+-86
+19
+101
+118
+66
+18
+-25
+-59
+-89
+5
+88
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-71
+-99
+-7
+77
+94
+66
+26
+-13
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-45
+-76
+29
+111
+127
+75
+26
+-18
+-53
+-84
+12
+95
+112
+60
+12
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+75
+35
+7
+-30
+-63
+-92
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+20
+102
+120
+67
+19
+-24
+-58
+-88
+7
+90
+108
+56
+9
+-32
+-65
+-94
+-1
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-4
+83
+107
+59
+11
+-30
+-64
+-92
+-100
+-127
+-127
+-127
+33
+106
+123
+71
+22
+-21
+-55
+-85
+20
+102
+119
+67
+19
+-24
+-58
+-88
+6
+89
+107
+56
+8
+-33
+-66
+-95
+-1
+82
+99
+48
+2
+-37
+-70
+-98
+-7
+77
+94
+44
+-1
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+103
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+26
+98
+115
+64
+16
+-26
+-59
+-89
+15
+98
+115
+63
+15
+-27
+-61
+-90
+4
+86
+104
+53
+7
+-34
+-67
+-96
+-4
+80
+97
+69
+29
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-43
+-75
+30
+112
+127
+76
+26
+-18
+-53
+-83
+13
+95
+113
+61
+13
+-28
+-62
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+46
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-9
+-45
+-77
+28
+109
+127
+99
+57
+16
+-13
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+119
+127
+82
+31
+-13
+-49
+-80
+18
+100
+117
+64
+16
+-26
+-60
+-90
+4
+88
+106
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+80
+40
+11
+-26
+-59
+-89
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-64
+45
+125
+127
+88
+37
+-8
+-45
+-77
+22
+103
+120
+68
+19
+-23
+-58
+-88
+8
+91
+109
+57
+9
+-31
+-65
+-94
+-1
+82
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-104
+-111
+-127
+-102
+47
+120
+127
+83
+33
+-12
+-47
+-79
+28
+111
+127
+75
+25
+-19
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+46
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+39
+-5
+-44
+-76
+-103
+-13
+69
+88
+38
+-6
+-45
+-77
+-104
+-14
+70
+88
+38
+-7
+-45
+-77
+-104
+-14
+69
+87
+37
+-7
+-45
+-77
+-104
+-15
+69
+86
+36
+-8
+-47
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+69
+87
+36
+-8
+-46
+-78
+-105
+-15
+69
+86
+59
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+35
+-10
+-46
+-78
+26
+109
+126
+73
+24
+-19
+-54
+-85
+11
+94
+111
+59
+11
+-30
+-64
+-93
+1
+84
+102
+51
+5
+-36
+-69
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-101
+-9
+74
+92
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+88
+36
+-9
+-45
+-76
+29
+110
+127
+74
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-9
+77
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+105
+120
+69
+21
+-22
+-56
+-86
+19
+101
+119
+67
+18
+-24
+-59
+-88
+6
+89
+106
+54
+8
+-33
+-66
+-95
+-2
+80
+99
+48
+2
+-38
+-71
+-99
+-7
+77
+94
+66
+27
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+36
+-8
+-45
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+62
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+114
+75
+34
+7
+-30
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-31
+-65
+43
+123
+127
+87
+36
+-10
+-46
+-77
+20
+102
+120
+68
+19
+-24
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+70
+30
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+108
+59
+12
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+33
+107
+122
+71
+22
+-20
+-55
+-85
+20
+102
+120
+68
+19
+-24
+-58
+-88
+7
+90
+106
+55
+8
+-33
+-66
+-95
+-1
+82
+99
+49
+3
+-37
+-70
+-98
+-7
+77
+94
+44
+-2
+-41
+-73
+-101
+-10
+74
+91
+63
+24
+-15
+-43
+-72
+-100
+-107
+-127
+-127
+-8
+80
+104
+56
+9
+-32
+-65
+-94
+0
+83
+101
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-26
+-60
+-89
+16
+98
+116
+64
+16
+-26
+-60
+-90
+3
+87
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+70
+29
+-10
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+89
+38
+-7
+-44
+-76
+30
+112
+127
+76
+26
+-17
+-52
+-83
+12
+95
+112
+60
+13
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-4
+79
+97
+46
+0
+-39
+-71
+-99
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-10
+-45
+-77
+28
+110
+127
+99
+57
+16
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+100
+47
+1
+-37
+-70
+37
+118
+127
+82
+31
+-13
+-49
+-80
+16
+100
+117
+65
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-106
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-76
+21
+103
+120
+68
+19
+-23
+-58
+-88
+8
+91
+107
+56
+9
+-32
+-65
+-94
+-1
+81
+99
+71
+31
+-8
+-35
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+117
+78
+38
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-102
+46
+120
+127
+83
+33
+-11
+-47
+-79
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+91
+41
+-4
+-43
+-75
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-76
+-104
+-13
+70
+88
+37
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-104
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-15
+68
+87
+37
+-7
+-46
+-77
+-105
+-16
+68
+86
+36
+-8
+-47
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+58
+19
+-18
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-47
+-78
+27
+109
+125
+73
+24
+-20
+-55
+-85
+11
+94
+111
+59
+12
+-29
+-63
+-92
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-5
+77
+96
+45
+-1
+-40
+-72
+-100
+-9
+75
+92
+64
+25
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-10
+78
+102
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-22
+-56
+-86
+19
+102
+119
+67
+18
+-24
+-58
+-88
+6
+89
+106
+55
+8
+-33
+-66
+-95
+-2
+82
+99
+47
+1
+-38
+-71
+-99
+-7
+77
+94
+66
+26
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+120
+127
+88
+37
+-8
+-44
+-76
+29
+110
+127
+75
+25
+-18
+-54
+-84
+12
+95
+112
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-8
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+61
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+113
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+56
+8
+-31
+-65
+43
+124
+127
+86
+35
+-10
+-46
+-78
+20
+102
+120
+68
+19
+-24
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-95
+-1
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+107
+59
+11
+-30
+-63
+-92
+-100
+-127
+-127
+-127
+33
+107
+123
+72
+23
+-20
+-55
+-85
+19
+102
+120
+67
+19
+-24
+-58
+-88
+6
+89
+107
+56
+9
+-33
+-66
+-95
+-1
+82
+100
+48
+2
+-38
+-70
+-98
+-7
+76
+94
+44
+-2
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+26
+98
+115
+64
+16
+-26
+-59
+-89
+16
+98
+116
+64
+16
+-26
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+98
+69
+29
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+30
+112
+127
+76
+27
+-17
+-52
+-83
+12
+95
+112
+61
+13
+-29
+-63
+-92
+2
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+73
+90
+63
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-9
+-45
+-77
+28
+109
+127
+99
+57
+16
+-13
+-47
+-77
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+119
+127
+82
+31
+-13
+-49
+-80
+17
+100
+117
+65
+17
+-26
+-60
+-89
+4
+87
+105
+76
+36
+-3
+-31
+-62
+-91
+-99
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-106
+65
+127
+127
+112
+57
+9
+-30
+-63
+44
+125
+127
+88
+37
+-8
+-45
+-77
+21
+103
+120
+68
+19
+-23
+-58
+-88
+7
+90
+108
+56
+9
+-32
+-65
+-94
+-1
+82
+99
+71
+31
+-8
+-36
+-67
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+31
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-77
+-104
+-14
+70
+88
+38
+-7
+-45
+-77
+-104
+-14
+69
+86
+37
+-8
+-46
+-77
+-105
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-15
+68
+86
+37
+-8
+-46
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+26
+109
+126
+73
+24
+-19
+-54
+-85
+11
+94
+111
+60
+12
+-30
+-63
+-93
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-5
+77
+95
+45
+-1
+-40
+-72
+-101
+-9
+74
+92
+64
+24
+-14
+-41
+-71
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+74
+25
+-18
+-53
+-84
+11
+94
+111
+59
+12
+-29
+-63
+-92
+1
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+102
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+105
+120
+70
+21
+-22
+-56
+-86
+19
+102
+119
+67
+18
+-24
+-58
+-88
+5
+88
+106
+54
+7
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+66
+27
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-44
+-76
+29
+110
+127
+75
+25
+-18
+-53
+-84
+12
+94
+112
+61
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+113
+75
+34
+6
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+20
+103
+120
+68
+19
+-23
+-58
+-88
+7
+89
+107
+56
+9
+-32
+-65
+-95
+-1
+82
+99
+70
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+108
+59
+12
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+33
+107
+123
+72
+23
+-20
+-55
+-85
+20
+102
+120
+67
+19
+-24
+-58
+-88
+7
+90
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+44
+-2
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-95
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+100
+115
+64
+16
+-26
+-59
+-89
+15
+98
+116
+64
+15
+-26
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+70
+30
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+90
+38
+-7
+-44
+-76
+30
+112
+127
+76
+27
+-17
+-52
+-83
+12
+95
+112
+60
+13
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-8
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+37
+118
+127
+87
+35
+-9
+-45
+-77
+27
+109
+127
+98
+57
+16
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+53
+127
+127
+100
+48
+1
+-37
+-69
+37
+118
+127
+82
+32
+-13
+-49
+-80
+17
+100
+117
+65
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+64
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+21
+103
+121
+68
+19
+-23
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+71
+31
+-8
+-35
+-67
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+78
+38
+10
+-26
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+59
+11
+-30
+-63
+-93
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+95
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-76
+-104
+-14
+70
+87
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-14
+69
+86
+37
+-8
+-46
+-77
+-105
+-15
+68
+87
+37
+-8
+-46
+-77
+-105
+-16
+68
+85
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+58
+19
+-18
+-46
+-76
+-103
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-47
+-78
+27
+109
+126
+73
+24
+-19
+-54
+-85
+10
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+88
+37
+-8
+-45
+-76
+28
+111
+127
+74
+24
+-19
+-54
+-84
+11
+94
+112
+60
+12
+-29
+-63
+-92
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-11
+72
+89
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+78
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+30
+104
+121
+70
+21
+-22
+-56
+-86
+19
+101
+118
+66
+18
+-24
+-59
+-89
+5
+88
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+76
+93
+66
+27
+-12
+-40
+-70
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+89
+37
+-8
+-44
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+95
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+22
+-16
+-43
+-74
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+113
+75
+35
+7
+-30
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-107
+63
+127
+127
+109
+55
+8
+-31
+-65
+43
+124
+127
+86
+36
+-10
+-46
+-77
+20
+102
+120
+68
+19
+-23
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-95
+-2
+82
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+108
+59
+12
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+33
+106
+123
+72
+23
+-20
+-55
+-85
+20
+102
+119
+67
+19
+-24
+-58
+-88
+7
+89
+107
+56
+9
+-32
+-66
+-95
+-2
+82
+99
+48
+2
+-38
+-70
+-99
+-7
+77
+94
+44
+-1
+-41
+-73
+-101
+-11
+73
+91
+63
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+79
+103
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+4
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+65
+16
+-26
+-59
+-89
+15
+98
+116
+64
+16
+-26
+-60
+-90
+4
+86
+104
+53
+6
+-34
+-67
+-96
+-4
+80
+97
+70
+29
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+90
+38
+-7
+-44
+-75
+30
+112
+127
+76
+26
+-17
+-53
+-83
+12
+95
+112
+60
+13
+-29
+-63
+-92
+2
+85
+103
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-9
+-46
+-77
+28
+109
+127
+98
+57
+16
+-13
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+119
+127
+82
+31
+-13
+-49
+-80
+17
+100
+117
+65
+16
+-26
+-60
+-90
+4
+87
+105
+77
+36
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+80
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-106
+65
+127
+127
+112
+57
+9
+-30
+-64
+44
+126
+127
+88
+36
+-9
+-45
+-77
+21
+103
+121
+68
+19
+-23
+-58
+-88
+7
+90
+108
+56
+9
+-32
+-66
+-95
+-1
+82
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+122
+127
+117
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+24
+109
+127
+83
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-77
+-104
+-14
+69
+87
+37
+-7
+-46
+-77
+-104
+-15
+69
+86
+37
+-7
+-46
+-78
+-105
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-78
+-105
+-16
+69
+86
+37
+-8
+-46
+-78
+-105
+-16
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+115
+127
+85
+34
+-10
+-46
+-78
+27
+109
+126
+73
+24
+-19
+-54
+-85
+11
+94
+111
+59
+12
+-30
+-63
+-93
+1
+83
+101
+50
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+88
+37
+-9
+-45
+-76
+28
+109
+127
+75
+25
+-19
+-54
+-84
+11
+95
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-69
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+105
+120
+70
+21
+-21
+-56
+-86
+19
+101
+119
+66
+18
+-24
+-59
+-89
+5
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+82
+99
+48
+2
+-38
+-70
+-99
+-8
+76
+93
+65
+26
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-44
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+95
+112
+60
+13
+-29
+-62
+-92
+1
+85
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+46
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+114
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+43
+125
+127
+87
+36
+-9
+-45
+-77
+20
+102
+120
+67
+18
+-24
+-58
+-88
+6
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+82
+100
+72
+31
+-8
+-35
+-67
+-95
+-103
+-127
+-127
+-3
+83
+107
+59
+12
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+33
+106
+121
+71
+22
+-21
+-55
+-85
+20
+102
+120
+68
+19
+-24
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-95
+-1
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+95
+44
+-1
+-41
+-73
+-101
+-10
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-8
+80
+103
+55
+8
+-32
+-66
+-95
+0
+82
+101
+51
+5
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+26
+100
+115
+64
+16
+-26
+-59
+-89
+15
+98
+115
+63
+15
+-27
+-61
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-3
+80
+97
+70
+30
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+89
+38
+-7
+-44
+-76
+30
+111
+127
+76
+26
+-17
+-53
+-83
+12
+95
+112
+61
+13
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+86
+35
+-9
+-45
+-77
+28
+110
+127
+99
+57
+15
+-14
+-47
+-78
+-105
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+100
+47
+1
+-37
+-69
+37
+119
+127
+82
+32
+-13
+-49
+-80
+17
+99
+117
+65
+16
+-26
+-60
+-90
+4
+88
+104
+77
+36
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-111
+44
+124
+127
+119
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-9
+-45
+-77
+21
+104
+121
+68
+19
+-23
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-1
+82
+100
+72
+31
+-8
+-35
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+122
+127
+117
+78
+38
+10
+-27
+-60
+-90
+-97
+-127
+25
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+74
+25
+-19
+-54
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+71
+89
+39
+-5
+-44
+-76
+-103
+-14
+70
+88
+38
+-6
+-45
+-76
+-104
+-14
+69
+87
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+86
+34
+-10
+-46
+-78
+27
+109
+126
+74
+24
+-19
+-54
+-85
+11
+93
+111
+59
+12
+-30
+-63
+-92
+0
+84
+101
+50
+4
+-36
+-69
+-98
+-5
+77
+95
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+64
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+112
+60
+13
+-29
+-63
+-92
+1
+85
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+46
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+22
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+78
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+121
+70
+21
+-21
+-56
+-86
+18
+101
+119
+66
+18
+-25
+-59
+-89
+5
+88
+106
+55
+8
+-33
+-66
+-95
+-3
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+76
+93
+66
+27
+-13
+-40
+-70
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-45
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+2
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+46
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+114
+75
+35
+7
+-29
+-63
+-92
+-98
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+56
+8
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-46
+-77
+20
+102
+120
+67
+19
+-24
+-58
+-88
+7
+90
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+71
+31
+-8
+-35
+-67
+-95
+-103
+-127
+-127
+-4
+84
+107
+59
+11
+-30
+-64
+-93
+-100
+-127
+-127
+-127
+33
+106
+123
+72
+23
+-20
+-55
+-85
+20
+102
+120
+67
+19
+-24
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-95
+-2
+82
+99
+48
+2
+-38
+-70
+-99
+-7
+76
+95
+44
+-1
+-41
+-73
+-101
+-11
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+103
+55
+9
+-32
+-65
+-95
+0
+83
+101
+51
+4
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+26
+99
+115
+65
+17
+-25
+-59
+-89
+15
+98
+115
+63
+15
+-27
+-61
+-90
+3
+86
+104
+53
+7
+-34
+-67
+-96
+-4
+80
+97
+70
+30
+-9
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+90
+38
+-7
+-43
+-75
+29
+111
+127
+75
+26
+-18
+-53
+-84
+13
+94
+112
+61
+13
+-29
+-63
+-92
+2
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+77
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-10
+-46
+-77
+28
+109
+127
+99
+57
+16
+-13
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-37
+-69
+37
+119
+127
+83
+32
+-12
+-48
+-80
+17
+99
+116
+65
+16
+-26
+-60
+-90
+4
+87
+105
+77
+36
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+123
+127
+119
+80
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-63
+44
+126
+127
+88
+37
+-8
+-45
+-77
+21
+103
+121
+68
+20
+-23
+-57
+-88
+7
+90
+108
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+72
+31
+-8
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+122
+127
+117
+79
+38
+10
+-27
+-61
+-90
+-97
+-127
+24
+109
+127
+83
+32
+-12
+-48
+-79
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+109
+127
+74
+25
+-18
+-54
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-76
+-104
+-13
+71
+88
+38
+-6
+-45
+-76
+-104
+-14
+70
+88
+37
+-7
+-46
+-77
+-105
+-15
+69
+86
+37
+-8
+-46
+-77
+-105
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+87
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+58
+19
+-19
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-47
+-78
+27
+109
+127
+74
+25
+-19
+-54
+-85
+11
+93
+110
+59
+11
+-30
+-63
+-93
+1
+84
+102
+51
+4
+-36
+-69
+-97
+-6
+77
+96
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+64
+25
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+109
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+4
+-36
+-68
+-97
+-5
+78
+95
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-43
+-74
+-102
+-12
+72
+90
+63
+23
+-16
+-43
+-73
+-100
+-107
+-127
+-127
+-9
+77
+102
+55
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+70
+21
+-22
+-56
+-86
+18
+101
+119
+67
+18
+-24
+-59
+-89
+5
+89
+107
+56
+8
+-33
+-66
+-95
+-2
+80
+98
+48
+2
+-38
+-70
+-99
+-8
+76
+94
+66
+26
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+29
+111
+127
+75
+26
+-18
+-53
+-84
+11
+94
+112
+60
+12
+-29
+-63
+-92
+1
+85
+101
+51
+5
+-36
+-69
+-97
+-5
+78
+97
+46
+0
+-39
+-71
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+63
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+114
+75
+35
+6
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+-127
+-107
+62
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+88
+36
+-9
+-45
+-77
+19
+102
+120
+68
+19
+-24
+-58
+-88
+7
+90
+107
+56
+8
+-33
+-66
+-95
+-2
+81
+99
+72
+31
+-8
+-35
+-66
+-95
+-103
+-127
+-127
+-3
+84
+107
+60
+12
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+32
+106
+123
+71
+22
+-21
+-55
+-85
+20
+102
+120
+68
+19
+-24
+-58
+-88
+5
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+82
+99
+48
+3
+-38
+-70
+-98
+-7
+77
+94
+44
+-1
+-41
+-73
+-101
+-11
+73
+91
+63
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-8
+80
+104
+55
+8
+-32
+-66
+-95
+0
+83
+101
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-25
+-59
+-89
+15
+97
+115
+63
+15
+-27
+-61
+-90
+3
+87
+105
+53
+6
+-34
+-67
+-96
+-4
+80
+97
+70
+30
+-9
+-36
+-67
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+89
+38
+-7
+-44
+-76
+29
+111
+127
+76
+26
+-18
+-53
+-83
+12
+95
+113
+61
+13
+-28
+-62
+-92
+2
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-9
+-46
+-77
+28
+110
+127
+98
+57
+16
+-14
+-47
+-78
+-105
+-110
+-127
+-127
+-127
+-127
+-100
+53
+127
+127
+101
+47
+1
+-37
+-69
+37
+119
+127
+83
+32
+-13
+-49
+-80
+16
+99
+117
+64
+16
+-26
+-60
+-90
+5
+88
+105
+77
+37
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+20
+102
+120
+68
+19
+-23
+-58
+-88
+8
+90
+108
+56
+9
+-32
+-65
+-94
+-2
+82
+100
+72
+32
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+24
+109
+127
+82
+32
+-12
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+83
+32
+-12
+-47
+-79
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+71
+89
+40
+-5
+-44
+-76
+-103
+-13
+71
+89
+39
+-5
+-44
+-76
+-104
+-14
+70
+87
+38
+-7
+-46
+-77
+-104
+-15
+69
+87
+37
+-8
+-46
+-77
+-105
+-15
+68
+86
+37
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-78
+-105
+-16
+68
+86
+58
+19
+-18
+-46
+-76
+-102
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-46
+-78
+27
+109
+126
+74
+24
+-19
+-54
+-84
+10
+93
+111
+59
+11
+-30
+-64
+-93
+1
+84
+102
+51
+4
+-36
+-69
+-97
+-5
+77
+95
+45
+-1
+-40
+-72
+-100
+-10
+74
+92
+64
+25
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+42
+-3
+-43
+-74
+-102
+-11
+72
+89
+63
+23
+-15
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+78
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-22
+-56
+-86
+18
+101
+118
+66
+17
+-25
+-59
+-89
+5
+88
+107
+56
+8
+-33
+-66
+-95
+-3
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+77
+94
+67
+27
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-45
+-76
+28
+111
+127
+75
+26
+-18
+-53
+-84
+12
+94
+111
+60
+12
+-29
+-63
+-92
+1
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-42
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+114
+75
+35
+7
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+-127
+-107
+62
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+35
+-10
+-46
+-77
+20
+102
+119
+67
+19
+-24
+-58
+-88
+6
+90
+107
+56
+9
+-32
+-65
+-95
+-2
+81
+99
+71
+31
+-8
+-35
+-66
+-94
+-103
+-127
+-127
+-4
+84
+107
+59
+11
+-30
+-64
+-93
+-100
+-127
+-127
+-127
+33
+106
+122
+71
+22
+-20
+-55
+-85
+20
+102
+120
+68
+19
+-24
+-58
+-88
+6
+88
+107
+56
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+3
+-38
+-70
+-98
+-7
+77
+94
+44
+-1
+-41
+-73
+-101
+-11
+73
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+26
+98
+115
+65
+17
+-25
+-59
+-89
+15
+97
+115
+63
+15
+-27
+-61
+-91
+3
+86
+104
+53
+7
+-34
+-67
+-96
+-4
+79
+97
+69
+30
+-9
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+90
+38
+-7
+-43
+-75
+30
+112
+127
+76
+26
+-18
+-53
+-84
+12
+95
+113
+61
+13
+-28
+-62
+-92
+2
+85
+102
+51
+5
+-36
+-68
+-97
+-5
+79
+96
+46
+0
+-39
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-15
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+36
+-9
+-45
+-77
+28
+109
+127
+99
+57
+16
+-13
+-47
+-77
+-104
+-110
+-127
+-127
+-127
+-127
+-100
+54
+127
+127
+101
+48
+1
+-37
+-69
+37
+119
+127
+83
+32
+-13
+-49
+-80
+17
+99
+116
+64
+16
+-26
+-60
+-90
+4
+87
+105
+77
+37
+-3
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+45
+124
+127
+119
+80
+40
+12
+-25
+-59
+-89
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+57
+9
+-30
+-64
+44
+126
+127
+88
+37
+-8
+-45
+-76
+20
+103
+120
+68
+19
+-23
+-58
+-88
+8
+90
+108
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+72
+32
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-90
+-97
+-127
+24
+109
+127
+82
+32
+-12
+-48
+-80
+-105
+-111
+-127
+-101
+46
+119
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+74
+25
+-19
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+39
+-6
+-45
+-76
+-104
+-14
+70
+87
+38
+-7
+-46
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+37
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+59
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+27
+109
+126
+74
+24
+-19
+-54
+-85
+10
+93
+110
+59
+11
+-30
+-64
+-93
+1
+83
+102
+51
+4
+-36
+-69
+-97
+-5
+77
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+92
+65
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+88
+36
+-9
+-45
+-77
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-6
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-42
+-73
+-100
+-107
+-127
+-127
+-9
+77
+101
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-22
+-56
+-86
+18
+100
+119
+67
+18
+-24
+-59
+-89
+5
+88
+106
+55
+8
+-33
+-66
+-95
+-2
+80
+99
+48
+2
+-38
+-70
+-99
+-7
+77
+94
+66
+27
+-12
+-40
+-70
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-44
+-76
+29
+111
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+41
+-4
+-43
+-74
+-102
+-12
+72
+89
+62
+23
+-15
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+114
+75
+35
+6
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+-127
+-108
+63
+127
+127
+109
+55
+7
+-31
+-65
+42
+123
+127
+87
+36
+-9
+-46
+-77
+20
+102
+120
+67
+19
+-24
+-58
+-88
+7
+89
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+83
+108
+60
+12
+-30
+-63
+-92
+-99
+-127
+-127
+-127
+33
+106
+122
+71
+22
+-20
+-55
+-86
+20
+102
+120
+68
+19
+-23
+-58
+-88
+5
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+49
+3
+-37
+-70
+-98
+-8
+76
+94
+44
+-1
+-41
+-73
+-101
+-10
+74
+91
+64
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+98
+114
+64
+16
+-26
+-60
+-89
+15
+97
+115
+63
+15
+-27
+-61
+-90
+3
+86
+105
+53
+7
+-34
+-67
+-96
+-4
+80
+97
+70
+30
+-9
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+29
+112
+127
+76
+26
+-17
+-52
+-83
+12
+95
+113
+61
+13
+-28
+-62
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+46
+0
+-39
+-71
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+86
+35
+-9
+-45
+-77
+27
+109
+127
+99
+58
+16
+-14
+-47
+-78
+-104
+-110
+-127
+-127
+-127
+-127
+-100
+53
+127
+127
+101
+48
+1
+-36
+-69
+37
+118
+127
+82
+32
+-13
+-49
+-80
+17
+99
+116
+64
+16
+-26
+-60
+-90
+4
+88
+105
+77
+37
+-2
+-31
+-63
+-91
+-99
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+11
+-26
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+20
+103
+120
+68
+19
+-24
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+72
+32
+-7
+-35
+-66
+-94
+-102
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+46
+120
+127
+83
+32
+-12
+-47
+-79
+28
+111
+127
+75
+25
+-18
+-53
+-84
+10
+94
+112
+60
+12
+-29
+-63
+-92
+1
+84
+101
+51
+5
+-36
+-69
+-97
+-5
+78
+96
+46
+0
+-39
+-72
+-100
+-10
+74
+91
+41
+-4
+-43
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-14
+70
+89
+39
+-6
+-45
+-76
+-104
+-14
+69
+87
+37
+-7
+-46
+-77
+-105
+-14
+69
+87
+38
+-7
+-45
+-77
+-104
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-15
+68
+87
+37
+-7
+-46
+-77
+-105
+-16
+68
+86
+37
+-7
+-46
+-77
+-105
+-15
+67
+86
+36
+-8
+-47
+-78
+-105
+-16
+68
+86
+59
+20
+-18
+-45
+-75
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+115
+127
+85
+34
+-10
+-46
+-78
+27
+109
+126
+73
+24
+-19
+-54
+-85
+11
+94
+111
+59
+11
+-30
+-64
+-93
+1
+84
+101
+50
+4
+-36
+-69
+-97
+-6
+77
+95
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+65
+25
+-14
+-41
+-72
+-99
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+74
+25
+-18
+-53
+-84
+11
+93
+111
+60
+12
+-29
+-63
+-92
+1
+85
+102
+52
+5
+-35
+-68
+-97
+-5
+77
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-42
+-72
+-100
+-107
+-127
+-127
+-10
+77
+101
+54
+7
+-33
+-67
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+69
+21
+-21
+-56
+-86
+19
+101
+118
+66
+18
+-25
+-59
+-89
+5
+88
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+94
+67
+26
+-12
+-39
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+29
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+2
+84
+102
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+114
+75
+35
+7
+-29
+-63
+-91
+-98
+-127
+-127
+-127
+-127
+-107
+63
+127
+127
+109
+56
+8
+-31
+-65
+42
+124
+127
+87
+36
+-9
+-46
+-77
+20
+102
+119
+67
+19
+-24
+-58
+-88
+6
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+80
+98
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+83
+107
+59
+11
+-30
+-64
+-93
+-100
+-127
+-127
+-127
+33
+106
+123
+72
+23
+-20
+-55
+-85
+19
+102
+120
+68
+19
+-23
+-58
+-88
+6
+88
+106
+56
+8
+-33
+-66
+-95
+-2
+82
+100
+49
+3
+-37
+-70
+-98
+-7
+76
+94
+44
+-1
+-41
+-73
+-101
+-10
+74
+91
+63
+24
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+82
+101
+50
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+26
+99
+115
+64
+16
+-26
+-59
+-89
+15
+98
+116
+64
+15
+-27
+-61
+-90
+3
+85
+104
+53
+7
+-34
+-67
+-96
+-4
+80
+98
+70
+30
+-9
+-37
+-68
+-96
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+90
+38
+-7
+-43
+-75
+29
+112
+127
+76
+27
+-17
+-53
+-83
+12
+94
+112
+61
+13
+-29
+-63
+-92
+1
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-39
+-72
+-100
+-10
+74
+93
+42
+-3
+-43
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-9
+-46
+-77
+28
+109
+127
+99
+57
+16
+-13
+-47
+-77
+-104
+-109
+-127
+-127
+-127
+-127
+-100
+54
+127
+127
+101
+48
+1
+-37
+-69
+37
+119
+127
+82
+31
+-13
+-49
+-80
+16
+99
+117
+65
+17
+-26
+-60
+-90
+4
+87
+105
+77
+37
+-2
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+123
+127
+120
+81
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+111
+57
+9
+-30
+-63
+43
+125
+127
+88
+37
+-9
+-45
+-77
+20
+103
+120
+68
+19
+-23
+-58
+-88
+7
+90
+108
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+72
+31
+-8
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+116
+79
+39
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-102
+46
+120
+127
+83
+33
+-11
+-47
+-78
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+0
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+46
+0
+-39
+-71
+-100
+-9
+75
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-76
+-104
+-15
+69
+87
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+87
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+37
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+59
+19
+-18
+-45
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+35
+-10
+-46
+-78
+26
+109
+126
+73
+24
+-19
+-54
+-85
+11
+94
+111
+59
+12
+-30
+-63
+-93
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-5
+77
+95
+45
+-1
+-40
+-72
+-100
+-9
+74
+91
+65
+25
+-14
+-41
+-71
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+88
+36
+-9
+-45
+-77
+28
+109
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-30
+-63
+-92
+1
+84
+102
+52
+5
+-35
+-68
+-97
+-5
+77
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-16
+-43
+-73
+-99
+-107
+-127
+-127
+-9
+77
+101
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+70
+21
+-22
+-56
+-86
+19
+101
+119
+67
+18
+-24
+-59
+-88
+5
+88
+105
+54
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-8
+76
+94
+67
+27
+-12
+-39
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-44
+-76
+28
+110
+127
+74
+25
+-18
+-54
+-84
+11
+94
+112
+60
+13
+-29
+-63
+-92
+0
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+77
+96
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-15
+-42
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+76
+35
+7
+-29
+-62
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-31
+-65
+42
+123
+127
+87
+36
+-10
+-46
+-77
+20
+103
+120
+68
+19
+-23
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+71
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-3
+84
+108
+60
+12
+-29
+-63
+-92
+-100
+-127
+-127
+-127
+33
+106
+123
+71
+22
+-20
+-55
+-85
+19
+101
+120
+67
+19
+-24
+-58
+-88
+6
+89
+107
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+49
+3
+-37
+-70
+-98
+-7
+76
+94
+44
+-1
+-41
+-73
+-101
+-10
+74
+91
+64
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-8
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+82
+101
+50
+4
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-26
+-59
+-89
+15
+97
+116
+64
+16
+-26
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-4
+80
+97
+70
+30
+-9
+-36
+-67
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+30
+112
+127
+77
+27
+-17
+-52
+-83
+12
+94
+112
+60
+13
+-29
+-63
+-92
+2
+85
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+97
+46
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-42
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+87
+36
+-9
+-45
+-77
+27
+109
+127
+99
+58
+16
+-13
+-47
+-77
+-104
+-109
+-127
+-127
+-127
+-127
+-101
+53
+127
+127
+101
+48
+1
+-36
+-69
+37
+118
+127
+82
+31
+-13
+-49
+-80
+17
+99
+117
+65
+16
+-26
+-60
+-90
+4
+87
+105
+77
+37
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+41
+11
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+20
+103
+120
+68
+19
+-24
+-58
+-88
+7
+90
+107
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+72
+31
+-8
+-35
+-67
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+78
+38
+10
+-27
+-60
+-89
+-97
+-127
+24
+109
+127
+82
+32
+-13
+-49
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+77
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+42
+-3
+-42
+-74
+-102
+-11
+72
+90
+40
+-5
+-44
+-75
+-103
+-14
+70
+88
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+38
+-7
+-45
+-77
+-104
+-16
+68
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+86
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+37
+-7
+-46
+-77
+-105
+-16
+68
+86
+36
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-8
+-46
+-77
+-105
+-16
+68
+86
+59
+19
+-18
+-46
+-75
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-11
+-46
+-78
+27
+108
+126
+73
+24
+-19
+-54
+-85
+10
+93
+111
+60
+12
+-30
+-63
+-92
+-1
+83
+102
+51
+4
+-36
+-69
+-97
+-5
+77
+95
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+64
+25
+-13
+-41
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+88
+37
+-8
+-45
+-76
+28
+110
+127
+75
+25
+-19
+-54
+-84
+11
+93
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+71
+90
+62
+23
+-16
+-42
+-72
+-99
+-107
+-127
+-127
+-10
+77
+101
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+121
+69
+21
+-22
+-56
+-86
+18
+101
+119
+67
+18
+-24
+-59
+-88
+6
+88
+106
+55
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-71
+-99
+-8
+76
+93
+67
+27
+-12
+-39
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+28
+109
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-39
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+113
+75
+35
+7
+-29
+-62
+-91
+-98
+-127
+-127
+-127
+-127
+-107
+62
+127
+127
+109
+56
+8
+-31
+-65
+43
+124
+127
+86
+35
+-10
+-46
+-78
+20
+102
+120
+68
+19
+-23
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-95
+-1
+82
+99
+72
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-4
+84
+108
+59
+12
+-29
+-63
+-92
+-100
+-127
+-127
+-127
+33
+106
+123
+72
+23
+-20
+-54
+-85
+19
+102
+119
+67
+19
+-24
+-58
+-88
+6
+88
+106
+56
+9
+-33
+-66
+-95
+-2
+82
+99
+48
+3
+-37
+-70
+-98
+-7
+77
+94
+44
+-1
+-41
+-73
+-101
+-11
+73
+91
+63
+24
+-14
+-42
+-72
+-99
+-107
+-127
+-127
+-7
+80
+104
+56
+9
+-32
+-65
+-94
+-1
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+64
+16
+-26
+-59
+-89
+15
+97
+116
+64
+16
+-26
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-4
+79
+97
+70
+30
+-9
+-37
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+89
+38
+-7
+-44
+-76
+29
+112
+127
+76
+26
+-17
+-52
+-83
+12
+94
+112
+61
+13
+-29
+-63
+-92
+1
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+95
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+24
+-15
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+87
+35
+-9
+-45
+-77
+27
+109
+126
+99
+57
+16
+-13
+-47
+-77
+-104
+-109
+-127
+-127
+-127
+-127
+-101
+53
+127
+127
+101
+48
+1
+-36
+-69
+37
+118
+127
+82
+31
+-13
+-49
+-80
+16
+99
+116
+65
+16
+-26
+-60
+-90
+4
+87
+105
+77
+37
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+123
+127
+120
+80
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+64
+127
+127
+112
+57
+9
+-30
+-63
+43
+125
+127
+88
+36
+-9
+-45
+-77
+21
+103
+120
+68
+20
+-23
+-57
+-88
+6
+90
+107
+56
+9
+-32
+-65
+-94
+-2
+82
+99
+72
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+10
+-26
+-60
+-89
+-97
+-127
+23
+109
+127
+82
+32
+-13
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+109
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-13
+72
+90
+40
+-5
+-44
+-75
+-103
+-13
+70
+88
+38
+-6
+-45
+-77
+-104
+-14
+70
+88
+38
+-6
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+69
+86
+36
+-8
+-46
+-77
+-105
+-16
+68
+87
+37
+-8
+-46
+-77
+-105
+-16
+68
+87
+37
+-7
+-46
+-77
+-105
+-16
+67
+86
+59
+19
+-19
+-46
+-76
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+27
+108
+126
+73
+24
+-19
+-54
+-85
+10
+93
+111
+59
+12
+-30
+-63
+-93
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-6
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+65
+25
+-13
+-41
+-71
+-99
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+87
+36
+-8
+-45
+-77
+27
+109
+127
+74
+25
+-18
+-54
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-15
+-43
+-73
+-100
+-107
+-127
+-127
+-9
+77
+101
+54
+7
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+121
+70
+21
+-22
+-56
+-86
+19
+100
+119
+67
+18
+-24
+-59
+-88
+5
+88
+106
+54
+8
+-33
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-8
+76
+93
+66
+27
+-12
+-39
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-44
+-76
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+112
+61
+13
+-28
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+78
+96
+46
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+71
+89
+62
+23
+-15
+-43
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+113
+75
+35
+7
+-29
+-62
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-31
+-65
+42
+123
+127
+87
+35
+-9
+-46
+-77
+19
+102
+120
+68
+19
+-24
+-58
+-88
+6
+89
+107
+56
+8
+-33
+-66
+-95
+-3
+82
+99
+72
+31
+-8
+-35
+-67
+-94
+-103
+-127
+-127
+-3
+83
+108
+60
+12
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+33
+107
+123
+72
+23
+-20
+-55
+-85
+19
+102
+119
+68
+19
+-24
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-66
+-95
+-2
+80
+99
+48
+3
+-37
+-70
+-98
+-8
+77
+94
+44
+-1
+-41
+-73
+-101
+-10
+73
+91
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-8
+79
+103
+56
+9
+-32
+-65
+-94
+-1
+82
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+65
+16
+-26
+-59
+-89
+15
+97
+115
+64
+16
+-26
+-60
+-90
+3
+86
+104
+53
+6
+-34
+-67
+-96
+-4
+80
+97
+70
+31
+-9
+-36
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+121
+127
+90
+38
+-7
+-44
+-76
+29
+111
+127
+76
+26
+-17
+-52
+-83
+12
+94
+112
+60
+13
+-29
+-63
+-92
+2
+84
+103
+52
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-39
+-72
+-100
+-9
+75
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-15
+-42
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+86
+36
+-9
+-45
+-77
+27
+109
+127
+99
+57
+16
+-13
+-47
+-77
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+52
+127
+127
+100
+48
+1
+-37
+-69
+37
+119
+127
+83
+32
+-13
+-49
+-80
+16
+99
+117
+65
+17
+-25
+-59
+-89
+4
+87
+104
+77
+37
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+119
+81
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+64
+127
+127
+112
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+21
+103
+121
+68
+19
+-23
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-94
+-3
+81
+99
+72
+32
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+122
+127
+117
+79
+38
+10
+-26
+-60
+-89
+-97
+-127
+23
+109
+127
+82
+32
+-13
+-49
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+93
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-36
+-68
+-97
+-5
+77
+95
+45
+0
+-40
+-72
+-100
+-9
+75
+93
+43
+-3
+-42
+-74
+-102
+-12
+72
+90
+40
+-5
+-44
+-75
+-103
+-14
+70
+88
+38
+-6
+-45
+-77
+-104
+-14
+70
+88
+38
+-7
+-45
+-77
+-104
+-16
+68
+87
+37
+-7
+-46
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-15
+68
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+85
+36
+-8
+-46
+-78
+-105
+-16
+68
+86
+37
+-7
+-46
+-77
+-105
+-17
+68
+86
+59
+20
+-18
+-45
+-75
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+35
+-10
+-46
+-78
+27
+109
+125
+73
+24
+-19
+-54
+-85
+10
+93
+111
+60
+12
+-29
+-63
+-92
+0
+84
+102
+51
+4
+-36
+-69
+-97
+-6
+77
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+64
+25
+-13
+-41
+-71
+-98
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+88
+36
+-9
+-45
+-77
+28
+110
+127
+74
+25
+-19
+-54
+-84
+11
+94
+112
+61
+13
+-29
+-63
+-92
+1
+84
+101
+51
+4
+-36
+-69
+-97
+-5
+78
+96
+46
+0
+-40
+-72
+-100
+-10
+74
+93
+42
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-16
+-43
+-73
+-100
+-108
+-127
+-127
+-10
+77
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+121
+70
+22
+-21
+-56
+-86
+18
+101
+118
+66
+18
+-24
+-59
+-89
+5
+88
+106
+55
+8
+-33
+-66
+-95
+-3
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+75
+93
+67
+27
+-12
+-39
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+89
+37
+-8
+-44
+-76
+29
+110
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+61
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+62
+23
+-15
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+114
+75
+35
+7
+-29
+-63
+-92
+-99
+-127
+-127
+-127
+-127
+-107
+63
+127
+127
+109
+55
+7
+-31
+-65
+42
+124
+127
+87
+36
+-9
+-46
+-77
+19
+101
+120
+68
+19
+-23
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-66
+-95
+-2
+81
+99
+72
+32
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-4
+84
+108
+60
+12
+-29
+-63
+-92
+-100
+-127
+-127
+-127
+32
+106
+122
+72
+22
+-20
+-55
+-85
+19
+102
+120
+68
+19
+-24
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-99
+-7
+76
+94
+44
+-1
+-41
+-73
+-101
+-11
+73
+91
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-8
+79
+103
+56
+8
+-32
+-65
+-95
+-1
+83
+102
+51
+5
+-36
+-68
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+65
+17
+-25
+-59
+-89
+14
+98
+116
+64
+15
+-26
+-60
+-90
+3
+86
+104
+54
+7
+-34
+-67
+-96
+-5
+79
+97
+70
+30
+-9
+-36
+-68
+-95
+-104
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+90
+38
+-7
+-43
+-75
+29
+111
+127
+76
+26
+-17
+-53
+-83
+12
+94
+112
+61
+13
+-29
+-62
+-92
+1
+85
+103
+52
+5
+-35
+-68
+-97
+-5
+77
+96
+46
+0
+-40
+-72
+-100
+-10
+75
+93
+43
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-42
+-72
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+37
+117
+127
+87
+36
+-9
+-46
+-77
+27
+109
+127
+98
+57
+16
+-13
+-47
+-77
+-104
+-110
+-127
+-127
+-127
+-127
+-101
+54
+127
+127
+101
+48
+1
+-36
+-69
+37
+118
+127
+82
+31
+-13
+-49
+-80
+16
+99
+116
+65
+16
+-26
+-60
+-89
+4
+87
+105
+77
+37
+-2
+-31
+-63
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+123
+127
+120
+81
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+58
+9
+-29
+-63
+43
+125
+127
+88
+37
+-8
+-45
+-77
+21
+103
+121
+69
+20
+-23
+-57
+-87
+6
+90
+107
+56
+9
+-32
+-66
+-95
+-2
+82
+100
+72
+32
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+117
+79
+38
+9
+-27
+-61
+-90
+-97
+-127
+24
+109
+127
+83
+32
+-12
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-78
+27
+109
+127
+75
+25
+-18
+-53
+-84
+11
+94
+111
+60
+12
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-6
+78
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+93
+42
+-3
+-42
+-74
+-102
+-13
+72
+90
+40
+-5
+-44
+-75
+-103
+-14
+70
+89
+39
+-6
+-45
+-76
+-104
+-15
+69
+88
+38
+-7
+-45
+-77
+-104
+-15
+69
+86
+37
+-7
+-46
+-77
+-105
+-16
+69
+87
+37
+-7
+-46
+-77
+-104
+-16
+68
+87
+37
+-8
+-46
+-78
+-105
+-15
+68
+86
+37
+-7
+-46
+-77
+-105
+-16
+68
+86
+36
+-8
+-47
+-78
+-105
+-16
+68
+85
+59
+20
+-18
+-45
+-75
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+36
+116
+127
+85
+34
+-10
+-46
+-78
+27
+109
+127
+74
+24
+-19
+-54
+-85
+10
+93
+110
+59
+11
+-30
+-64
+-93
+0
+83
+101
+51
+4
+-36
+-69
+-97
+-6
+77
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+65
+25
+-14
+-41
+-71
+-99
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+39
+118
+127
+88
+36
+-9
+-45
+-77
+27
+109
+127
+75
+25
+-19
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+45
+0
+-39
+-72
+-100
+-10
+74
+92
+42
+-3
+-42
+-74
+-102
+-13
+72
+90
+63
+23
+-15
+-42
+-73
+-100
+-107
+-127
+-127
+-9
+77
+102
+55
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+120
+70
+21
+-21
+-56
+-86
+18
+100
+119
+67
+18
+-24
+-59
+-89
+5
+88
+106
+55
+8
+-33
+-66
+-95
+-2
+80
+99
+49
+3
+-37
+-70
+-98
+-8
+76
+94
+66
+27
+-12
+-39
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+39
+119
+127
+88
+37
+-8
+-45
+-76
+28
+110
+127
+76
+26
+-18
+-53
+-84
+11
+94
+112
+60
+13
+-29
+-63
+-92
+1
+84
+101
+51
+5
+-36
+-69
+-97
+-5
+79
+97
+46
+0
+-39
+-71
+-100
+-10
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-43
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+114
+75
+35
+7
+-29
+-62
+-91
+-98
+-127
+-127
+-127
+-127
+-108
+62
+127
+127
+109
+55
+7
+-31
+-65
+43
+124
+127
+87
+36
+-9
+-45
+-77
+19
+102
+120
+68
+19
+-24
+-58
+-88
+6
+89
+107
+56
+9
+-32
+-65
+-95
+-3
+81
+99
+71
+31
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-3
+83
+108
+60
+12
+-29
+-63
+-92
+-100
+-127
+-127
+-127
+32
+106
+122
+71
+22
+-21
+-55
+-85
+19
+102
+120
+68
+19
+-24
+-58
+-88
+5
+89
+107
+56
+9
+-32
+-66
+-95
+-2
+81
+99
+48
+2
+-38
+-70
+-98
+-7
+77
+95
+45
+-1
+-41
+-73
+-101
+-11
+73
+90
+63
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-8
+80
+104
+56
+9
+-32
+-66
+-95
+-1
+83
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+25
+99
+115
+65
+17
+-25
+-59
+-89
+15
+97
+115
+63
+15
+-27
+-61
+-90
+3
+86
+105
+53
+7
+-34
+-67
+-96
+-4
+80
+97
+70
+31
+-8
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+42
+121
+127
+90
+38
+-7
+-44
+-76
+29
+111
+127
+76
+26
+-17
+-53
+-83
+12
+95
+112
+61
+13
+-28
+-63
+-92
+1
+84
+103
+52
+5
+-35
+-68
+-97
+-5
+77
+96
+45
+0
+-40
+-72
+-100
+-9
+74
+92
+42
+-3
+-42
+-74
+-102
+-12
+71
+90
+63
+23
+-16
+-42
+-73
+-100
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+38
+117
+127
+87
+36
+-9
+-45
+-77
+27
+109
+127
+98
+57
+16
+-13
+-47
+-77
+-104
+-110
+-127
+-127
+-127
+-127
+-100
+53
+127
+127
+101
+48
+1
+-37
+-69
+37
+118
+127
+83
+32
+-13
+-49
+-80
+16
+98
+117
+65
+16
+-26
+-60
+-90
+4
+87
+105
+77
+37
+-3
+-31
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-110
+44
+124
+127
+120
+81
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-106
+64
+127
+127
+112
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+20
+102
+120
+68
+20
+-23
+-58
+-88
+6
+90
+108
+56
+9
+-32
+-65
+-94
+-2
+81
+100
+72
+31
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
+121
+127
+118
+79
+38
+10
+-26
+-60
+-89
+-97
+-127
+24
+109
+127
+83
+32
+-12
+-48
+-80
+-105
+-111
+-127
+-101
+47
+120
+127
+84
+33
+-11
+-47
+-79
+27
+109
+127
+75
+25
+-19
+-54
+-84
+11
+94
+111
+61
+13
+-29
+-63
+-92
+1
+84
+101
+51
+5
+-36
+-69
+-97
+-5
+77
+96
+46
+0
+-40
+-72
+-100
+-10
+74
+93
+43
+-3
+-42
+-74
+-102
+-12
+71
+90
+40
+-5
+-44
+-76
+-103
+-14
+70
+89
+39
+-6
+-45
+-77
+-104
+-14
+69
+87
+38
+-7
+-45
+-77
+-104
+-15
+69
+87
+37
+-7
+-46
+-77
+-105
+-16
+69
+87
+37
+-7
+-46
+-77
+-105
+-16
+67
+86
+36
+-8
+-46
+-78
+-105
+-16
+68
+87
+37
+-7
+-46
+-77
+-105
+-16
+68
+86
+37
+-7
+-46
+-78
+-105
+-16
+68
+86
+58
+19
+-18
+-45
+-75
+-102
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+35
+115
+127
+85
+34
+-11
+-46
+-78
+26
+109
+126
+74
+24
+-19
+-54
+-85
+10
+92
+111
+60
+12
+-30
+-63
+-92
+0
+84
+102
+51
+5
+-36
+-69
+-97
+-5
+77
+95
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+64
+25
+-13
+-41
+-71
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+87
+36
+-9
+-45
+-77
+28
+110
+127
+75
+25
+-18
+-53
+-84
+11
+93
+111
+60
+13
+-29
+-63
+-92
+0
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+78
+96
+46
+0
+-39
+-72
+-100
+-10
+74
+92
+42
+-3
+-43
+-74
+-102
+-12
+72
+90
+63
+23
+-15
+-43
+-73
+-100
+-108
+-127
+-127
+-9
+77
+102
+54
+8
+-33
+-66
+-95
+-102
+-127
+-127
+-127
+31
+104
+121
+70
+21
+-21
+-56
+-86
+18
+101
+119
+67
+18
+-24
+-59
+-89
+5
+88
+107
+56
+8
+-33
+-66
+-95
+-3
+80
+99
+48
+2
+-38
+-71
+-99
+-7
+76
+94
+67
+27
+-12
+-40
+-70
+-97
+-105
+-127
+-127
+-127
+-127
+-127
+-127
+40
+119
+127
+88
+37
+-8
+-44
+-76
+28
+110
+127
+76
+26
+-18
+-53
+-84
+11
+94
+111
+60
+13
+-29
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-6
+78
+96
+45
+0
+-40
+-72
+-100
+-10
+74
+92
+42
+-3
+-42
+-74
+-102
+-13
+72
+90
+63
+23
+-15
+-42
+-73
+-100
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+114
+75
+35
+7
+-29
+-63
+-91
+-99
+-127
+-127
+-127
+-127
+-107
+63
+127
+127
+109
+55
+7
+-31
+-65
+42
+124
+127
+87
+36
+-9
+-46
+-77
+19
+101
+119
+68
+19
+-24
+-58
+-88
+6
+90
+108
+56
+9
+-32
+-65
+-94
+-2
+81
+99
+72
+32
+-7
+-35
+-66
+-94
+-102
+-127
+-127
+-4
+83
+107
+59
+12
+-30
+-63
+-92
+-100
+-127
+-127
+-127
+32
+106
+122
+71
+22
+-21
+-55
+-86
+19
+102
+120
+68
+19
+-24
+-58
+-88
+5
+88
+106
+56
+9
+-33
+-66
+-95
+-3
+81
+99
+49
+3
+-37
+-70
+-98
+-7
+77
+94
+45
+-1
+-41
+-73
+-101
+-11
+72
+91
+64
+24
+-14
+-41
+-72
+-99
+-107
+-127
+-127
+-8
+79
+103
+56
+9
+-32
+-65
+-94
+-1
+82
+101
+51
+4
+-36
+-69
+-97
+-104
+-127
+-127
+-127
+26
+99
+115
+65
+17
+-25
+-59
+-89
+14
+97
+115
+64
+15
+-27
+-61
+-91
+3
+86
+104
+54
+7
+-34
+-67
+-96
+-5
+79
+97
+70
+30
+-9
+-36
+-67
+-95
+-103
+-127
+-127
+-127
+-127
+-127
+-127
+41
+120
+127
+90
+38
+-7
+-43
+-75
+29
+112
+127
+76
+26
+-18
+-53
+-83
+11
+94
+112
+61
+13
+-28
+-63
+-92
+1
+84
+102
+51
+5
+-35
+-68
+-97
+-5
+79
+97
+46
+0
+-39
+-72
+-100
+-10
+74
+93
+43
+-3
+-42
+-74
+-102
+-12
+72
+89
+62
+23
+-15
+-42
+-73
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+38
+118
+127
+86
+35
+-9
+-46
+-77
+27
+109
+127
+99
+57
+16
+-13
+-47
+-78
+-105
+-110
+-127
+-127
+-127
+-127
+-100
+53
+127
+127
+101
+48
+1
+-36
+-69
+37
+118
+127
+82
+32
+-13
+-49
+-80
+16
+99
+116
+65
+16
+-26
+-60
+-90
+3
+88
+106
+77
+37
+-2
+-30
+-62
+-91
+-100
+-127
+-127
+-127
+-127
+-127
+-109
+45
+124
+127
+120
+81
+40
+12
+-25
+-59
+-88
+-112
+-127
+-127
+-127
+-127
+-105
+65
+127
+127
+112
+57
+9
+-30
+-64
+44
+125
+127
+88
+37
+-8
+-45
+-77
+20
+103
+120
+68
+19
+-23
+-58
+-88
+7
+90
+108
+57
+9
+-32
+-65
+-94
+-2
+82
+100
+72
+32
+-7
+-35
+-66
+-94
+-103
+-127
+-127
+-127
+-127
+-127
+-112
+42
diff --git a/traces/modulation-direct-32.pm3 b/traces/modulation-direct-32.pm3
new file mode 100644 (file)
index 0000000..8d72895
--- /dev/null
@@ -0,0 +1,20000 @@
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-86
+-82
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-30
+-29
+-26
+-25
+-22
+-22
+-20
+-19
+-17
+-17
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+89
+82
+77
+70
+66
+60
+56
+51
+48
+43
+41
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+7
+7
+6
+6
+4
+4
+3
+3
+2
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-31
+-54
+-73
+-90
+-103
+-99
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-107
+-100
+-94
+-87
+-82
+-77
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+110
+105
+95
+89
+81
+77
+70
+65
+60
+56
+51
+48
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-23
+-20
+-19
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-10
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+95
+90
+82
+77
+70
+65
+60
+56
+50
+48
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-55
+-51
+-48
+-45
+-43
+-39
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-15
+-14
+-12
+-12
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+87
+80
+75
+68
+64
+58
+55
+49
+47
+42
+39
+35
+4
+-25
+-48
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-102
+-96
+-89
+-83
+-78
+-74
+-68
+-64
+-59
+-56
+-51
+-48
+-45
+-43
+-39
+-37
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-20
+-19
+-18
+-18
+-16
+-16
+-14
+-15
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-4
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+90
+81
+77
+70
+65
+59
+56
+51
+47
+43
+41
+36
+4
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-108
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+100
+93
+85
+80
+73
+68
+62
+59
+53
+50
+45
+42
+37
+36
+32
+30
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-111
+-103
+-97
+-90
+-85
+-79
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-36
+-34
+-31
+-29
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+70
+66
+59
+56
+51
+47
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+109
+99
+93
+85
+79
+73
+69
+62
+59
+53
+50
+45
+43
+38
+35
+32
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+12
+9
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+0
+0
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-29
+-52
+-71
+-88
+-102
+-114
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-57
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-18
+-16
+-15
+-14
+-13
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+90
+82
+77
+70
+65
+59
+56
+51
+48
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-51
+-48
+-45
+-43
+-39
+-38
+-34
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+65
+60
+56
+51
+48
+43
+40
+36
+5
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-42
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+89
+82
+77
+70
+66
+60
+56
+51
+48
+43
+40
+36
+34
+31
+29
+26
+24
+21
+20
+17
+17
+15
+14
+11
+11
+9
+9
+7
+7
+6
+6
+4
+3
+3
+3
+1
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-27
+-52
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+69
+66
+60
+56
+51
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+95
+89
+82
+77
+69
+65
+59
+55
+51
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+99
+93
+86
+80
+73
+68
+62
+59
+53
+50
+45
+42
+38
+36
+32
+30
+27
+-4
+-31
+-53
+-73
+-88
+-102
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-112
+-103
+-98
+-91
+-85
+-80
+-75
+-70
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-39
+-35
+-34
+-31
+-29
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-16
+-16
+-15
+-15
+-13
+-13
+-11
+-11
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+96
+89
+82
+77
+69
+65
+59
+56
+51
+48
+43
+40
+36
+34
+31
+29
+26
+24
+21
+20
+18
+16
+15
+14
+12
+11
+10
+10
+8
+7
+6
+5
+4
+4
+2
+3
+2
+1
+0
+1
+0
+0
+-1
+-1
+-2
+-28
+-52
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-86
+-82
+-75
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-33
+-32
+-29
+-29
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-13
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+89
+82
+77
+70
+65
+60
+56
+51
+48
+43
+41
+36
+35
+31
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+10
+7
+7
+6
+5
+4
+4
+2
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-6
+-5
+-5
+-5
+-5
+-31
+-55
+-73
+-90
+-103
+-99
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-107
+-100
+-94
+-87
+-82
+-77
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-12
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+89
+82
+77
+70
+65
+60
+56
+50
+47
+42
+40
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+104
+95
+89
+81
+77
+70
+65
+60
+56
+51
+47
+42
+40
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-34
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+119
+109
+102
+93
+87
+80
+75
+68
+63
+58
+55
+49
+47
+42
+39
+35
+3
+-25
+-48
+-68
+-84
+-99
+-109
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-34
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+81
+77
+70
+66
+60
+56
+51
+47
+43
+41
+36
+4
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+115
+109
+100
+94
+85
+80
+72
+68
+63
+59
+52
+50
+45
+42
+38
+36
+32
+30
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-85
+-80
+-75
+-69
+-66
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-39
+-36
+-34
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-15
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+65
+59
+56
+51
+47
+43
+41
+36
+5
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-96
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+99
+93
+85
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+31
+28
+26
+22
+21
+19
+18
+15
+14
+13
+13
+10
+10
+8
+8
+6
+6
+4
+4
+3
+3
+2
+2
+1
+1
+1
+0
+-1
+0
+-1
+-1
+-2
+-2
+-3
+-29
+-52
+-72
+-89
+-102
+-114
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-30
+-29
+-27
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+89
+82
+77
+70
+66
+60
+56
+51
+47
+42
+41
+36
+5
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-28
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+96
+90
+82
+77
+69
+66
+60
+55
+50
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-89
+-84
+-78
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-26
+-26
+-24
+-23
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+95
+89
+82
+77
+69
+65
+60
+56
+51
+48
+43
+41
+37
+35
+30
+29
+26
+24
+22
+20
+18
+17
+15
+14
+12
+12
+10
+9
+7
+7
+5
+5
+4
+4
+2
+3
+2
+2
+1
+1
+0
+0
+-1
+-2
+-1
+-27
+-51
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-58
+-54
+-51
+-48
+-44
+-42
+-38
+-37
+-33
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+65
+59
+56
+51
+48
+42
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+-88
+-83
+-77
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-34
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+65
+59
+56
+51
+47
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+110
+100
+93
+85
+79
+73
+69
+62
+58
+53
+50
+45
+43
+38
+35
+32
+31
+26
+-4
+-31
+-53
+-73
+-88
+-102
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-112
+-104
+-98
+-91
+-85
+-80
+-75
+-69
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-39
+-35
+-34
+-31
+-29
+-27
+-27
+-24
+-24
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-9
+-8
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-4
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+65
+60
+56
+50
+47
+43
+41
+36
+34
+31
+29
+26
+24
+21
+21
+18
+17
+14
+14
+12
+11
+10
+9
+7
+7
+6
+5
+4
+5
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-2
+-28
+-52
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+104
+95
+90
+82
+77
+70
+66
+60
+57
+51
+47
+43
+41
+35
+34
+31
+29
+26
+25
+22
+21
+18
+17
+14
+14
+12
+11
+10
+10
+7
+7
+6
+6
+4
+4
+3
+3
+1
+2
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-31
+-54
+-73
+-90
+-103
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-98
+-108
+-100
+-94
+-87
+-83
+-77
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-45
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-9
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+89
+82
+77
+69
+65
+60
+56
+50
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-96
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-13
+-11
+-10
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+105
+95
+89
+82
+77
+70
+65
+60
+56
+50
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-96
+-89
+-83
+-78
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-31
+-28
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-15
+-14
+-12
+-12
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+101
+93
+87
+80
+75
+68
+64
+58
+55
+49
+47
+42
+39
+35
+4
+-25
+-48
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-96
+-89
+-83
+-78
+-74
+-68
+-64
+-60
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-10
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+96
+90
+80
+77
+70
+66
+59
+56
+51
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+99
+93
+85
+80
+73
+68
+62
+59
+52
+50
+45
+42
+38
+36
+32
+30
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-85
+-80
+-75
+-70
+-66
+-61
+-58
+-53
+-50
+-46
+-44
+-40
+-38
+-36
+-34
+-31
+-29
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+104
+95
+90
+82
+77
+69
+65
+60
+56
+51
+47
+42
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-96
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+99
+93
+84
+80
+73
+69
+62
+59
+53
+50
+45
+42
+37
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+9
+9
+8
+8
+6
+6
+4
+5
+4
+3
+2
+2
+1
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-29
+-52
+-71
+-89
+-102
+-114
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-57
+-55
+-51
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-29
+-29
+-27
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+90
+81
+76
+70
+65
+60
+56
+51
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-102
+-96
+-89
+-83
+-77
+-74
+-68
+-64
+-59
+-56
+-52
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+89
+82
+77
+70
+65
+60
+56
+51
+48
+42
+41
+37
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-52
+-49
+-45
+-43
+-39
+-37
+-34
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+69
+66
+60
+56
+51
+47
+42
+41
+36
+34
+30
+29
+26
+25
+22
+21
+17
+17
+15
+14
+12
+11
+9
+9
+8
+7
+6
+6
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+-1
+-2
+-28
+-51
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-57
+-55
+-50
+-48
+-44
+-42
+-39
+-37
+-33
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-8
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+81
+77
+70
+66
+59
+56
+51
+48
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-89
+-83
+-77
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-10
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+89
+82
+77
+69
+65
+60
+56
+51
+48
+43
+40
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-102
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+100
+93
+85
+80
+73
+69
+63
+58
+53
+50
+45
+42
+38
+36
+32
+31
+27
+-3
+-31
+-53
+-72
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-85
+-80
+-76
+-70
+-66
+-61
+-58
+-53
+-50
+-46
+-44
+-41
+-39
+-36
+-34
+-31
+-30
+-27
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+96
+89
+81
+77
+70
+65
+59
+56
+51
+48
+43
+40
+36
+35
+30
+29
+26
+24
+21
+20
+18
+17
+15
+14
+11
+12
+10
+9
+7
+7
+6
+5
+4
+4
+2
+3
+2
+1
+1
+1
+0
+0
+-1
+-1
+-2
+-28
+-52
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-86
+-82
+-76
+-71
+-66
+-63
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-36
+-34
+-32
+-29
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+-14
+-14
+-12
+-12
+-11
+-12
+-10
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+104
+96
+90
+82
+77
+69
+65
+60
+56
+50
+47
+43
+41
+36
+34
+31
+29
+26
+24
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+7
+7
+6
+5
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-4
+-3
+-3
+-4
+-4
+-3
+-4
+-3
+-5
+-4
+-5
+-3
+-5
+-5
+-4
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-6
+-5
+-5
+-30
+-54
+-73
+-90
+-103
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-107
+-100
+-94
+-88
+-83
+-77
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-45
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+90
+82
+77
+70
+65
+60
+56
+50
+47
+43
+40
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-96
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-10
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+96
+90
+81
+77
+70
+65
+60
+56
+51
+47
+43
+40
+35
+4
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-108
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-34
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+118
+109
+102
+93
+87
+79
+75
+69
+64
+58
+55
+48
+47
+42
+39
+35
+4
+-25
+-48
+-68
+-84
+-98
+-109
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+103
+95
+90
+82
+77
+70
+66
+59
+56
+50
+47
+43
+41
+36
+4
+-24
+-47
+-67
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+100
+93
+85
+80
+73
+69
+62
+59
+53
+50
+45
+43
+37
+36
+32
+31
+27
+-4
+-31
+-53
+-73
+-88
+-102
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-85
+-80
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-39
+-35
+-34
+-31
+-30
+-27
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+69
+65
+60
+56
+50
+47
+42
+41
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+99
+94
+85
+79
+73
+69
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+22
+21
+19
+18
+15
+14
+13
+12
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+3
+1
+1
+0
+1
+-1
+0
+-1
+-3
+-2
+-1
+-2
+-28
+-52
+-71
+-89
+-102
+-114
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-72
+-66
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-30
+-29
+-27
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-8
+-7
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+77
+70
+66
+60
+56
+51
+48
+42
+40
+36
+5
+-24
+-47
+-67
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-37
+-34
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+89
+81
+77
+70
+65
+59
+56
+51
+48
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-28
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+96
+89
+81
+77
+69
+65
+60
+56
+51
+48
+43
+41
+36
+34
+30
+29
+25
+23
+21
+21
+17
+17
+15
+14
+12
+12
+9
+9
+7
+7
+5
+5
+4
+4
+2
+3
+2
+1
+1
+1
+-1
+0
+-1
+-1
+-2
+-28
+-52
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-98
+-92
+-87
+-82
+-76
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-41
+-38
+-36
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+77
+69
+65
+60
+56
+50
+47
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+77
+70
+65
+60
+56
+51
+48
+43
+40
+36
+5
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+45
+43
+38
+35
+32
+30
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-103
+-112
+-104
+-98
+-91
+-85
+-80
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-24
+-21
+-20
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+65
+60
+56
+50
+47
+43
+41
+36
+34
+30
+29
+26
+25
+21
+20
+18
+16
+15
+14
+12
+11
+10
+9
+7
+7
+6
+5
+4
+4
+2
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-2
+-28
+-51
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-104
+-112
+-106
+-99
+-92
+-86
+-82
+-76
+-72
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+89
+81
+77
+70
+66
+59
+56
+51
+48
+43
+40
+36
+34
+31
+29
+26
+24
+21
+21
+18
+17
+14
+14
+12
+11
+10
+9
+6
+7
+6
+6
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-5
+-5
+-31
+-54
+-73
+-90
+-103
+-99
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-107
+-100
+-94
+-88
+-82
+-76
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-27
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-6
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-6
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+89
+82
+77
+70
+65
+60
+56
+51
+48
+43
+41
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-55
+-52
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-28
+-27
+-26
+-23
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-10
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+89
+82
+77
+70
+65
+59
+56
+51
+47
+43
+41
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-55
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-28
+-27
+-26
+-23
+-23
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+101
+93
+87
+80
+75
+68
+64
+58
+55
+49
+47
+42
+39
+35
+4
+-25
+-48
+-68
+-84
+-98
+-109
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-96
+-89
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+77
+70
+65
+59
+55
+51
+48
+43
+41
+36
+4
+-24
+-47
+-67
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+99
+93
+85
+80
+73
+69
+62
+59
+53
+49
+45
+43
+38
+36
+32
+30
+27
+-3
+-31
+-53
+-72
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-86
+-80
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-34
+-31
+-29
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-15
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+90
+82
+76
+69
+66
+60
+55
+51
+48
+42
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+108
+100
+93
+85
+80
+73
+69
+62
+59
+53
+49
+45
+42
+37
+36
+32
+31
+27
+26
+22
+22
+19
+18
+14
+14
+13
+12
+10
+9
+7
+8
+6
+6
+4
+5
+4
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-2
+-2
+-28
+-52
+-71
+-88
+-101
+-114
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-97
+-107
+-99
+-93
+-86
+-82
+-76
+-71
+-66
+-62
+-58
+-55
+-51
+-48
+-44
+-42
+-38
+-37
+-33
+-32
+-30
+-28
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+81
+77
+69
+65
+59
+56
+51
+48
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-48
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-28
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-15
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+90
+82
+76
+70
+66
+60
+56
+51
+47
+42
+41
+36
+5
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-48
+-45
+-43
+-39
+-38
+-34
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+89
+82
+77
+69
+65
+60
+56
+51
+47
+42
+41
+36
+34
+30
+29
+26
+25
+21
+20
+18
+17
+15
+14
+11
+11
+10
+9
+7
+8
+6
+6
+4
+4
+2
+3
+2
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-27
+-51
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-17
+-18
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+77
+70
+66
+60
+56
+51
+48
+42
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+105
+95
+89
+82
+77
+69
+66
+60
+56
+51
+48
+43
+41
+37
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+116
+109
+100
+93
+85
+80
+73
+69
+62
+58
+53
+50
+44
+42
+38
+36
+32
+31
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-86
+-80
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-47
+-44
+-41
+-39
+-35
+-34
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+105
+95
+89
+81
+77
+70
+65
+59
+56
+51
+48
+43
+40
+37
+35
+30
+28
+25
+24
+21
+21
+18
+17
+15
+14
+11
+11
+9
+9
+7
+7
+5
+5
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+-1
+-1
+-27
+-52
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-58
+-55
+-50
+-47
+-44
+-42
+-38
+-36
+-33
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+104
+95
+90
+82
+77
+70
+65
+60
+56
+51
+48
+43
+40
+36
+35
+31
+28
+26
+25
+21
+21
+18
+16
+15
+14
+12
+11
+9
+9
+7
+7
+5
+5
+3
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+0
+-1
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-4
+-2
+-3
+-4
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-31
+-54
+-73
+-90
+-103
+-99
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-108
+-100
+-94
+-87
+-83
+-77
+-72
+-67
+-63
+-58
+-55
+-51
+-48
+-45
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+90
+82
+77
+70
+65
+60
+56
+50
+47
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-52
+-49
+-45
+-43
+-39
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+90
+81
+77
+70
+65
+59
+56
+51
+47
+43
+41
+36
+4
+-24
+-47
+-68
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-13
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+109
+102
+93
+88
+80
+75
+68
+63
+58
+55
+49
+47
+42
+39
+35
+4
+-25
+-48
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-37
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+70
+66
+59
+56
+51
+47
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+100
+93
+85
+80
+73
+69
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-85
+-80
+-75
+-70
+-66
+-61
+-57
+-53
+-51
+-47
+-44
+-41
+-39
+-36
+-34
+-31
+-30
+-28
+-26
+-24
+-23
+-22
+-20
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+90
+82
+77
+70
+66
+60
+56
+50
+47
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+99
+93
+85
+80
+73
+69
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+22
+21
+19
+18
+16
+15
+13
+12
+10
+10
+8
+7
+6
+6
+4
+5
+3
+3
+2
+2
+1
+1
+1
+0
+-2
+-1
+-1
+-1
+-2
+-2
+-3
+-29
+-52
+-71
+-88
+-102
+-114
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-105
+-97
+-106
+-99
+-94
+-87
+-82
+-76
+-72
+-67
+-62
+-58
+-55
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-12
+-10
+-10
+-8
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+77
+69
+65
+60
+56
+51
+48
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-74
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-39
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+90
+82
+77
+70
+66
+60
+56
+51
+48
+43
+41
+36
+4
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+-88
+-83
+-77
+-74
+-68
+-64
+-59
+-56
+-52
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-24
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+105
+95
+89
+82
+77
+69
+66
+60
+56
+51
+48
+43
+41
+36
+34
+30
+29
+26
+24
+21
+20
+18
+17
+15
+14
+12
+11
+10
+8
+7
+7
+6
+5
+4
+4
+3
+4
+2
+1
+0
+1
+-1
+0
+-1
+-1
+-2
+-28
+-51
+-71
+-88
+-101
+-113
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-86
+-82
+-76
+-72
+-66
+-62
+-58
+-54
+-50
+-48
+-44
+-42
+-38
+-37
+-34
+-32
+-30
+-29
+-26
+-26
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+104
+95
+90
+82
+77
+69
+65
+59
+55
+51
+48
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-95
+-88
+-83
+-78
+-73
+-68
+-64
+-59
+-56
+-52
+-48
+-45
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+105
+96
+89
+82
+77
+70
+65
+59
+56
+50
+48
+43
+40
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+99
+93
+85
+80
+73
+69
+63
+59
+53
+50
+45
+43
+38
+35
+32
+30
+26
+-4
+-32
+-53
+-73
+-88
+-102
+-97
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-102
+-112
+-103
+-98
+-91
+-85
+-79
+-76
+-70
+-66
+-61
+-58
+-53
+-50
+-46
+-44
+-41
+-39
+-35
+-33
+-31
+-30
+-27
+-27
+-24
+-24
+-21
+-20
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+105
+96
+90
+82
+77
+70
+65
+60
+56
+50
+48
+43
+41
+36
+34
+31
+29
+26
+25
+21
+20
+18
+16
+15
+14
+12
+11
+10
+9
+7
+7
+6
+5
+4
+4
+3
+3
+1
+1
+0
+1
+0
+0
+-1
+0
+-2
+-28
+-52
+-71
+-88
+-101
+-113
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-105
+-97
+-106
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-62
+-57
+-54
+-50
+-48
+-44
+-42
+-39
+-37
+-33
+-32
+-29
+-29
+-26
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-13
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+96
+90
+81
+77
+70
+65
+60
+56
+50
+47
+43
+41
+36
+34
+31
+28
+26
+25
+21
+20
+18
+17
+14
+14
+12
+11
+10
+9
+7
+7
+6
+5
+4
+4
+3
+2
+1
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-6
+-5
+-5
+-31
+-54
+-73
+-90
+-103
+-99
+-108
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-98
+-107
+-100
+-94
+-87
+-83
+-77
+-72
+-67
+-63
+-59
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+111
+104
+95
+90
+81
+77
+70
+65
+60
+56
+51
+48
+43
+41
+36
+4
+-24
+-47
+-68
+-84
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-108
+-101
+-95
+-88
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-37
+-35
+-33
+-30
+-28
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+112
+104
+95
+89
+81
+77
+70
+65
+59
+56
+51
+47
+43
+41
+36
+4
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-96
+-89
+-83
+-77
+-73
+-68
+-64
+-59
+-56
+-51
+-49
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-28
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+119
+108
+102
+93
+87
+80
+75
+68
+64
+58
+55
+50
+47
+42
+40
+35
+3
+-25
+-48
+-68
+-84
+-99
+-110
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-109
+-101
+-95
+-89
+-83
+-77
+-73
+-68
+-64
+-60
+-56
+-52
+-49
+-45
+-43
+-40
+-37
+-34
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-13
+-11
+-11
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-6
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+111
+105
+95
+89
+82
+76
+70
+66
+59
+56
+51
+48
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-96
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+100
+93
+85
+81
+73
+68
+62
+59
+53
+50
+45
+43
+38
+37
+32
+30
+27
+-3
+-31
+-53
+-73
+-88
+-102
+-112
+-106
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-102
+-112
+-104
+-98
+-91
+-86
+-80
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-34
+-31
+-30
+-27
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-15
+-14
+-13
+-13
+-11
+-11
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+121
+112
+105
+95
+89
+82
+77
+70
+66
+60
+56
+51
+48
+43
+41
+36
+5
+-24
+-47
+-67
+-83
+-98
+-109
+-103
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-99
+-109
+-101
+-95
+67
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+108
+99
+93
+85
+80
+73
+68
+62
+59
+53
+50
+45
+42
+37
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+4
+3
+3
+1
+2
+1
+0
+0
+1
+-1
+0
+-1
+-1
+-2
+-2
+-2
+-28
+-52
+-71
+-88
+-102
+-114
+-107
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-97
+-107
+-99
+-93
+-87
+-82
+-76
+-71
+-66
+-63
+-58
+-55
+-51
+-48
+-44
+-42
+-39
+-37
+-34
+-32
+-29
+-29
+-27
+-25
+-23
+-22
+-20
+-19
+-18
+-17
+-15
+-15
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
diff --git a/traces/modulation-direct-40.pm3 b/traces/modulation-direct-40.pm3
new file mode 100644 (file)
index 0000000..f716de7
--- /dev/null
@@ -0,0 +1,20000 @@
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-69
+-64
+-60
+-56
+-52
+-50
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-21
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-6
+-7
+-6
+-6
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+94
+86
+80
+74
+69
+62
+59
+53
+51
+45
+43
+38
+36
+33
+31
+27
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-85
+-78
+-74
+-68
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+87
+82
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+32
+31
+28
+27
+24
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-73
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+106
+97
+91
+83
+79
+71
+67
+61
+58
+52
+49
+44
+42
+37
+35
+31
+29
+27
+26
+22
+21
+19
+18
+15
+-11
+-35
+-55
+-72
+-85
+-97
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-111
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+91
+83
+79
+71
+67
+61
+57
+52
+50
+44
+42
+38
+36
+31
+30
+26
+25
+22
+21
+18
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+6
+5
+5
+3
+4
+2
+2
+2
+2
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-82
+-94
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-103
+-96
+-91
+-84
+-79
+-74
+-69
+-64
+-61
+-57
+-53
+-49
+-47
+-43
+-41
+-37
+-36
+-33
+-31
+-28
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+94
+86
+82
+74
+69
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+28
+27
+24
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-101
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-39
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+70
+63
+60
+54
+50
+46
+43
+39
+37
+33
+31
+28
+27
+24
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-56
+-52
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+74
+70
+63
+59
+54
+51
+46
+43
+39
+37
+33
+31
+27
+26
+23
+22
+20
+18
+16
+15
+13
+12
+11
+11
+9
+8
+7
+7
+5
+5
+3
+3
+3
+3
+1
+2
+1
+1
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-3
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-28
+-50
+-67
+-82
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-42
+-40
+-37
+-36
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+82
+74
+69
+63
+59
+53
+51
+46
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-9
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-101
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-56
+-52
+-50
+-46
+-43
+-39
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-23
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+94
+86
+82
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+32
+31
+28
+26
+24
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-73
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+112
+107
+97
+91
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+22
+22
+19
+18
+16
+-11
+-35
+-55
+-72
+-85
+-98
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-58
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+70
+63
+60
+54
+51
+46
+44
+39
+37
+33
+31
+28
+26
+23
+22
+19
+19
+16
+15
+13
+13
+10
+11
+8
+8
+7
+6
+4
+5
+4
+4
+2
+3
+2
+1
+1
+1
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-82
+-94
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+-35
+-33
+-31
+-28
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-11
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+69
+63
+60
+53
+51
+45
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+18
+16
+15
+13
+13
+11
+11
+9
+8
+7
+6
+5
+5
+4
+3
+2
+3
+1
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-3
+-1
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-91
+-84
+-80
+-74
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+-36
+-33
+-31
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+82
+74
+69
+63
+60
+53
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+22
+19
+-8
+-33
+-53
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-37
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-15
+-14
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+38
+36
+33
+31
+28
+26
+24
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-59
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-9
+-8
+-7
+-7
+-7
+-6
+-6
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+100
+94
+85
+80
+73
+69
+63
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-56
+-52
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-10
+-9
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+86
+81
+74
+70
+62
+59
+54
+51
+46
+43
+38
+37
+33
+31
+27
+26
+23
+21
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+92
+84
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+22
+21
+19
+18
+15
+-12
+-36
+-55
+-72
+-86
+-98
+-107
+-99
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-34
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+69
+63
+59
+53
+51
+46
+43
+38
+37
+33
+31
+28
+26
+23
+22
+19
+-9
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-101
+-96
+-89
+-84
+-78
+-73
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+106
+97
+91
+83
+79
+72
+67
+61
+58
+52
+48
+44
+42
+37
+35
+31
+30
+27
+25
+22
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+4
+5
+3
+4
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-82
+-94
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-101
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-65
+-61
+-56
+-53
+-49
+-47
+-43
+-40
+-37
+-35
+-32
+-31
+-28
+-28
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+74
+70
+63
+59
+54
+51
+46
+43
+39
+37
+33
+31
+27
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-56
+-52
+-50
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+82
+74
+69
+63
+60
+53
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-52
+-50
+-46
+-43
+-39
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+38
+36
+33
+31
+28
+26
+23
+22
+20
+19
+16
+15
+13
+13
+10
+10
+9
+8
+6
+7
+5
+5
+4
+4
+2
+3
+1
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-28
+-50
+-67
+-82
+-94
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-103
+-97
+-91
+-84
+-79
+-73
+-69
+-64
+-61
+-57
+-53
+-49
+-46
+-43
+-41
+-37
+-35
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-6
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+86
+81
+74
+69
+63
+60
+54
+50
+46
+44
+39
+37
+33
+31
+27
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+86
+82
+74
+69
+63
+60
+53
+51
+46
+44
+39
+37
+33
+31
+28
+26
+23
+22
+20
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+91
+84
+79
+71
+68
+61
+57
+52
+49
+44
+42
+38
+35
+32
+30
+27
+25
+22
+21
+18
+18
+15
+-11
+-36
+-55
+-72
+-85
+-97
+-106
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-80
+-75
+-69
+-65
+-61
+-58
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-34
+-31
+-30
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+94
+86
+82
+74
+69
+63
+60
+53
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+23
+19
+18
+16
+15
+13
+13
+10
+10
+8
+9
+7
+6
+5
+5
+3
+4
+2
+2
+1
+2
+0
+1
+0
+0
+-1
+-1
+-1
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-83
+-95
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-101
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+-35
+-32
+-31
+-28
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+94
+86
+81
+74
+70
+63
+60
+54
+51
+46
+43
+39
+36
+33
+31
+28
+26
+24
+22
+19
+19
+16
+15
+13
+13
+10
+10
+9
+8
+7
+7
+5
+5
+4
+4
+2
+3
+1
+1
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-104
+-97
+-91
+-84
+-80
+-74
+-69
+-64
+-61
+-56
+-54
+-49
+-47
+-43
+-41
+-37
+-36
+-33
+-32
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+86
+81
+74
+70
+63
+60
+54
+51
+46
+43
+39
+37
+33
+31
+27
+27
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-17
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+70
+63
+60
+54
+51
+46
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-79
+-74
+-68
+-64
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+110
+100
+93
+86
+81
+73
+69
+62
+58
+53
+51
+45
+43
+38
+36
+33
+31
+28
+25
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+82
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+91
+83
+79
+72
+67
+61
+58
+52
+49
+45
+42
+37
+35
+31
+29
+27
+25
+22
+21
+19
+18
+15
+-12
+-36
+-55
+-72
+-85
+-98
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-111
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+27
+24
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+92
+84
+79
+71
+67
+61
+57
+51
+49
+44
+42
+38
+35
+31
+30
+27
+25
+22
+21
+19
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+2
+0
+0
+0
+0
+-1
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-97
+-91
+-84
+-80
+-74
+-69
+-64
+-61
+-57
+-53
+-49
+-46
+-43
+-41
+-37
+-36
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+38
+36
+33
+31
+27
+26
+24
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-114
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-50
+-46
+-44
+-40
+-37
+-35
+-33
+-30
+-29
+-27
+-25
+-23
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-13
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+86
+81
+74
+69
+63
+60
+54
+51
+46
+44
+38
+37
+33
+31
+28
+26
+23
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+86
+81
+74
+69
+63
+60
+53
+50
+45
+43
+39
+37
+33
+31
+28
+26
+22
+22
+19
+18
+16
+15
+14
+12
+11
+11
+8
+9
+7
+7
+5
+5
+4
+4
+3
+3
+1
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-27
+-50
+-67
+-82
+-94
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-74
+-69
+-65
+-61
+-56
+-53
+-49
+-47
+-43
+-40
+-37
+-35
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+95
+86
+82
+74
+69
+63
+59
+53
+51
+45
+43
+39
+37
+33
+31
+28
+27
+24
+23
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-20
+-20
+-17
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+82
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+91
+83
+79
+71
+67
+61
+58
+52
+50
+44
+42
+38
+35
+31
+30
+26
+25
+22
+21
+19
+18
+16
+-11
+-36
+-55
+-72
+-85
+-97
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-111
+-103
+-97
+-91
+-86
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-47
+-44
+-40
+-38
+-35
+-34
+-31
+-29
+-27
+-26
+-24
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+27
+26
+23
+22
+19
+19
+16
+15
+13
+13
+10
+11
+8
+8
+6
+7
+5
+5
+4
+4
+2
+3
+2
+2
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-27
+-49
+-67
+-82
+-94
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-74
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-41
+-37
+-36
+-33
+-31
+-28
+-28
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+95
+86
+82
+74
+69
+63
+59
+54
+51
+45
+43
+39
+37
+33
+30
+28
+27
+23
+22
+19
+18
+16
+15
+13
+13
+11
+11
+8
+8
+7
+6
+5
+5
+4
+3
+2
+3
+1
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-51
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-103
+-96
+-91
+-84
+-80
+-74
+-69
+-65
+-61
+-57
+-54
+-49
+-46
+-43
+-40
+-37
+-35
+-33
+-31
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+100
+94
+86
+82
+74
+69
+63
+60
+53
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-26
+-26
+-23
+-22
+-21
+-19
+-17
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+94
+86
+81
+74
+69
+63
+60
+54
+51
+46
+43
+39
+37
+32
+31
+28
+25
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-56
+-52
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-26
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+100
+94
+85
+80
+74
+69
+62
+59
+53
+50
+45
+43
+38
+36
+33
+30
+27
+26
+23
+21
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-26
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+87
+81
+74
+69
+63
+59
+54
+51
+46
+44
+38
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+92
+84
+79
+71
+68
+61
+57
+52
+49
+44
+41
+37
+35
+32
+30
+26
+25
+22
+21
+18
+17
+15
+-11
+-36
+-55
+-72
+-86
+-98
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-34
+-31
+-29
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-15
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+82
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+106
+97
+91
+83
+79
+72
+67
+61
+58
+52
+49
+44
+42
+37
+36
+31
+30
+27
+26
+22
+21
+19
+18
+16
+15
+12
+12
+10
+10
+8
+7
+6
+7
+5
+4
+4
+4
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-28
+-50
+-67
+-82
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+-35
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-14
+-13
+-13
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+69
+63
+59
+53
+51
+46
+44
+39
+37
+33
+31
+28
+26
+22
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-101
+-96
+-89
+-84
+-78
+-74
+-68
+-65
+-60
+-56
+-52
+-50
+-45
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+82
+74
+70
+63
+60
+53
+51
+46
+43
+39
+37
+33
+31
+28
+26
+23
+23
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-17
+-15
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+100
+94
+86
+81
+73
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+19
+16
+15
+13
+13
+10
+10
+8
+8
+6
+7
+5
+5
+4
+4
+2
+2
+1
+2
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-28
+-50
+-67
+-82
+-94
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-47
+-43
+-41
+-37
+-35
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+86
+81
+74
+70
+63
+59
+54
+51
+45
+43
+39
+37
+33
+31
+27
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-25
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+95
+86
+81
+74
+69
+63
+60
+54
+51
+45
+43
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+92
+83
+78
+71
+67
+61
+57
+52
+49
+44
+42
+37
+35
+31
+30
+27
+25
+23
+21
+19
+18
+15
+-12
+-36
+-55
+-72
+-86
+-98
+-107
+-99
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-34
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+81
+74
+70
+63
+60
+54
+51
+46
+43
+39
+37
+33
+31
+28
+27
+23
+23
+20
+18
+16
+15
+13
+13
+11
+10
+8
+9
+7
+7
+6
+5
+3
+4
+3
+2
+1
+1
+0
+1
+0
+0
+-1
+0
+-1
+-2
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-28
+-50
+-67
+-83
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-64
+-61
+-56
+-53
+-49
+-47
+-43
+-40
+-37
+-35
+-33
+-31
+-28
+-27
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+94
+86
+81
+74
+69
+63
+60
+54
+51
+45
+43
+39
+37
+32
+31
+28
+26
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+9
+8
+6
+6
+5
+5
+4
+4
+3
+3
+2
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-106
+-101
+-109
+-103
+-96
+-91
+-84
+-79
+-73
+-69
+-65
+-61
+-56
+-53
+-49
+-47
+-43
+-41
+-37
+-36
+-33
+-31
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+95
+86
+81
+74
+70
+63
+60
+54
+51
+45
+43
+39
+36
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-69
+-64
+-60
+-56
+-52
+-49
+-45
+-43
+-39
+-38
+-35
+-33
+-31
+-29
+-27
+-25
+-23
+-22
+-20
+-20
+-17
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+86
+81
+74
+69
+63
+60
+54
+51
+45
+43
+38
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-56
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+109
+99
+94
+86
+81
+73
+69
+63
+59
+53
+50
+45
+43
+39
+36
+32
+31
+28
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+74
+70
+63
+59
+54
+51
+46
+43
+38
+37
+33
+31
+28
+26
+23
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+114
+107
+97
+91
+83
+79
+72
+67
+61
+57
+52
+49
+44
+42
+38
+35
+31
+30
+26
+25
+22
+21
+19
+18
+15
+-12
+-36
+-55
+-72
+-85
+-98
+-107
+-99
+-105
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-86
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-47
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+101
+95
+86
+80
+74
+70
+63
+59
+54
+51
+46
+43
+39
+37
+33
+31
+28
+25
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+97
+91
+83
+79
+71
+67
+61
+58
+52
+49
+44
+41
+38
+35
+32
+30
+27
+25
+22
+22
+19
+17
+15
+15
+12
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-83
+-95
+-105
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-91
+-84
+-80
+-74
+-69
+-64
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+-36
+-33
+-31
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+94
+86
+81
+74
+69
+63
+59
+54
+51
+45
+43
+39
+37
+32
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-26
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+95
+86
+81
+74
+70
+63
+60
+54
+51
+46
+44
+39
+37
+33
+31
+27
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+95
+86
+82
+74
+69
+63
+60
+53
+51
+45
+43
+39
+37
+33
+31
+28
+27
+23
+22
+19
+18
+16
+15
+13
+13
+11
+11
+9
+9
+6
+7
+5
+5
+3
+4
+2
+3
+1
+1
+1
+1
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-28
+-50
+-67
+-82
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-90
+-84
+-79
+-73
+-69
+-65
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+-36
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-13
+-13
+-11
+-12
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+100
+95
+86
+82
+74
+69
+63
+60
+54
+51
+45
+43
+39
+37
+33
+30
+28
+27
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-97
+-89
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-5
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+110
+101
+95
+86
+81
+74
+70
+63
+59
+54
+51
+46
+44
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+124
+113
+107
+98
+91
+83
+79
+71
+67
+61
+57
+52
+49
+44
+42
+37
+36
+32
+30
+27
+25
+22
+21
+18
+17
+16
+-11
+-36
+-55
+-72
+-85
+-98
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-111
+-103
+-97
+-91
+-86
+-79
+-75
+-69
+-65
+-61
+-58
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-5
+-6
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+100
+95
+86
+81
+74
+69
+63
+59
+54
+51
+45
+44
+39
+36
+33
+31
+28
+26
+23
+22
+19
+19
+16
+15
+14
+13
+10
+11
+9
+8
+7
+7
+5
+5
+3
+4
+2
+3
+1
+1
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-28
+-50
+-67
+-82
+-95
+-106
+-97
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-109
+-103
+-96
+-91
+-84
+-79
+-74
+-69
+-65
+-61
+-56
+-53
+-49
+-46
+-43
+-40
+-37
+-36
+-33
+-31
+-29
+-27
+-25
+-24
+-22
+-21
+-19
+-18
+-17
+-17
+-15
+-15
+-14
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+86
+82
+74
+69
+63
+60
+54
+50
+45
+43
+38
+37
+33
+31
+28
+27
+24
+22
+20
+19
+15
+15
+13
+12
+11
+10
+9
+8
+7
+7
+5
+5
+4
+4
+2
+2
+1
+1
+0
+1
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-68
+-83
+-95
+-106
+-98
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-109
+-104
+-96
+-91
+-84
+-79
+-74
+-70
+-65
+-61
+-57
+-54
+-49
+-47
+-43
+-40
+-38
+-36
+-33
+-31
+-29
+-28
+-25
+-24
+-22
+-21
+-19
+-19
+-17
+-17
+-15
+-15
+-13
+-13
+-12
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+117
+111
+101
+94
+86
+81
+74
+70
+63
+60
+54
+51
+46
+43
+38
+37
+33
+30
+28
+27
+23
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-97
+-90
+-84
+-78
+-74
+-68
+-64
+-59
+-57
+-52
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-30
+-29
+-27
+-26
+-23
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+95
+86
+81
+73
+70
+63
+59
+54
+51
+46
+44
+39
+37
+33
+31
+28
+26
+23
+22
+19
+-8
+-33
+-52
+-70
+-84
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+-68
+-64
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-25
+-23
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-15
+-14
+-12
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+116
+109
+100
+94
+84
+80
+73
+69
+62
+59
+53
+50
+45
+43
+38
+37
+33
+31
+27
+26
+23
+22
+19
+-8
+-33
+-53
+-70
+-84
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+-69
+-64
+-60
+-57
+-52
+-50
+-45
+-43
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-25
+-23
+-23
+-20
+-20
+-17
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+111
+100
+95
+86
+82
+74
+69
+63
+59
+54
+51
+45
+43
+39
+36
+33
+31
+28
+27
+24
+22
+19
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-106
+-99
+-109
+-102
+-96
+-89
+-84
+-78
+-74
+105
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+113
+107
+97
+92
+83
+79
+72
+68
+61
+57
+52
+49
+44
+42
+37
+35
+32
+30
+26
+25
+23
+22
+18
+18
+16
+-11
+-36
+-55
+-72
+-85
+-98
+-107
+-99
+-105
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-58
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+118
+110
+101
+95
+86
+81
+74
+69
+63
+60
+54
+51
+46
+43
+39
+37
+33
+31
+28
+27
+23
+22
+20
+-8
+-33
+-52
+-70
+-83
+-96
+-105
+-98
+-104
+-110
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-99
+-109
+-102
+-96
+-90
+-84
+-78
+-74
+106
+127
+127
+127
+127
+127
+127
+127
diff --git a/traces/modulation-direct-50.pm3 b/traces/modulation-direct-50.pm3
new file mode 100644 (file)
index 0000000..a15d2e0
--- /dev/null
@@ -0,0 +1,20000 @@
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+109
+99
+93
+84
+80
+72
+68
+62
+59
+52
+50
+45
+42
+38
+37
+32
+30
+27
+26
+22
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-19
+-18
+-18
+-16
+-15
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+84
+79
+72
+68
+61
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+23
+21
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-22
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+79
+73
+69
+62
+59
+52
+49
+45
+43
+38
+36
+32
+31
+27
+26
+23
+21
+19
+18
+16
+15
+13
+12
+10
+11
+8
+8
+6
+-19
+-41
+-59
+-75
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+104
+99
+90
+85
+77
+73
+66
+62
+56
+53
+48
+46
+41
+38
+34
+33
+29
+27
+24
+23
+20
+20
+17
+16
+14
+14
+12
+11
+10
+9
+7
+7
+5
+-20
+-42
+-60
+-76
+-89
+-100
+-109
+-101
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-10
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+92
+85
+80
+72
+68
+62
+58
+53
+50
+45
+42
+38
+36
+32
+31
+27
+25
+23
+22
+19
+18
+16
+15
+13
+12
+11
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-86
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+40
+39
+35
+33
+29
+28
+25
+24
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+6
+6
+4
+4
+3
+3
+2
+2
+0
+1
+0
+0
+-1
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-28
+-49
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-114
+-106
+-100
+-94
+-89
+-82
+-77
+-72
+-68
+-63
+-59
+-54
+-51
+-48
+-45
+-42
+-40
+-36
+-35
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-15
+-14
+-13
+-13
+-11
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+80
+72
+68
+63
+59
+53
+50
+45
+42
+38
+36
+32
+30
+28
+26
+22
+22
+19
+18
+16
+15
+13
+12
+11
+10
+8
+8
+7
+-19
+-41
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-15
+-14
+-13
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-5
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+85
+80
+73
+68
+62
+58
+53
+50
+44
+43
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+14
+13
+13
+10
+10
+8
+8
+7
+-18
+-41
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-39
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-10
+-9
+-10
+-8
+-9
+-7
+-7
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+98
+92
+85
+80
+72
+68
+62
+59
+53
+50
+45
+43
+39
+36
+32
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+5
+3
+4
+3
+2
+2
+2
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-28
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-107
+-100
+-93
+-89
+-82
+-77
+-72
+-68
+-63
+-59
+-55
+-52
+-48
+-45
+-42
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-24
+-21
+-20
+-19
+-18
+-17
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-6
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+93
+85
+79
+72
+68
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-18
+-16
+-15
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-9
+-8
+-9
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+85
+80
+72
+68
+62
+59
+52
+50
+45
+42
+38
+36
+32
+31
+28
+25
+22
+22
+19
+17
+16
+15
+13
+12
+10
+10
+8
+8
+7
+-18
+-42
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+-103
+-97
+-91
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+39
+34
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+5
+-20
+-42
+-60
+-76
+-89
+-100
+-109
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+85
+80
+72
+68
+62
+59
+53
+49
+45
+42
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+6
+5
+5
+4
+3
+3
+2
+1
+2
+1
+1
+0
+-1
+-1
+0
+-1
+-1
+-1
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-28
+-49
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-107
+-101
+-94
+-88
+-82
+-78
+-72
+-68
+-63
+-60
+-55
+-52
+-48
+-45
+-42
+-39
+-36
+-35
+-32
+-31
+-28
+-27
+-25
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-15
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+22
+22
+19
+18
+16
+15
+12
+13
+11
+10
+8
+8
+6
+7
+5
+4
+3
+4
+3
+2
+1
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-3
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-6
+-4
+-5
+-5
+-5
+-5
+-5
+-4
+-5
+-28
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-98
+-106
+-101
+-94
+-88
+-82
+-78
+-72
+-68
+-63
+-59
+-55
+-52
+-48
+-46
+-42
+-40
+-36
+-34
+-33
+-31
+-28
+-27
+-24
+-24
+-21
+-21
+-19
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+116
+108
+99
+93
+85
+80
+72
+68
+62
+59
+53
+49
+45
+43
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+9
+9
+7
+-18
+-42
+-60
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+93
+85
+80
+72
+69
+62
+59
+53
+50
+45
+43
+38
+36
+32
+31
+28
+26
+22
+22
+19
+18
+15
+15
+12
+13
+10
+10
+8
+8
+7
+-19
+-42
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-9
+-7
+-7
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+107
+99
+93
+85
+79
+72
+69
+62
+59
+53
+49
+45
+42
+37
+36
+32
+30
+28
+26
+23
+22
+19
+18
+15
+15
+13
+12
+11
+10
+8
+8
+7
+-18
+-41
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-111
+-103
+-97
+-91
+-85
+-80
+-74
+-69
+-65
+-60
+-58
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-15
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+107
+99
+93
+84
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+11
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+105
+98
+89
+85
+77
+73
+66
+62
+56
+53
+48
+45
+40
+38
+34
+32
+29
+28
+24
+23
+21
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+5
+-20
+-42
+-60
+-76
+-89
+-100
+-108
+-101
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-111
+-103
+-97
+-91
+-86
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-39
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-5
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+116
+109
+98
+93
+85
+79
+73
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-41
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+123
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+32
+29
+27
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+9
+7
+7
+5
+5
+4
+5
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-28
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-106
+-100
+-94
+-88
+-82
+-77
+-72
+-68
+-63
+-59
+-55
+-52
+-48
+-45
+-42
+-39
+-36
+-35
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-19
+-18
+-16
+-16
+-15
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-7
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+98
+93
+85
+79
+72
+69
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+22
+21
+19
+19
+16
+15
+13
+13
+10
+9
+8
+8
+7
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-20
+-19
+-18
+-17
+-16
+-15
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+107
+99
+93
+84
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+7
+-19
+-42
+-60
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-20
+-19
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+79
+73
+69
+62
+58
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+23
+21
+19
+18
+16
+15
+12
+12
+11
+10
+9
+8
+6
+7
+5
+5
+3
+3
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-28
+-49
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-114
+-106
+-100
+-94
+-88
+-82
+-77
+-71
+-67
+-63
+-59
+-54
+-51
+-47
+-45
+-42
+-40
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-21
+-19
+-18
+-17
+-16
+-15
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+107
+99
+93
+84
+80
+73
+69
+62
+58
+52
+50
+45
+42
+37
+36
+32
+30
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+11
+10
+8
+8
+7
+-18
+-41
+-59
+-75
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-2
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+98
+93
+85
+79
+72
+69
+62
+59
+53
+50
+45
+43
+38
+35
+32
+30
+27
+26
+22
+22
+19
+18
+15
+15
+13
+13
+10
+9
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-102
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-43
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+104
+98
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+34
+33
+29
+27
+25
+24
+20
+19
+16
+16
+14
+14
+11
+10
+9
+9
+7
+8
+5
+-20
+-42
+-60
+-76
+-88
+-100
+-109
+-101
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-10
+-9
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+72
+68
+62
+58
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+12
+11
+11
+8
+8
+6
+6
+5
+5
+3
+3
+2
+3
+1
+1
+0
+1
+0
+0
+-2
+0
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-103
+-114
+-106
+-100
+-94
+-88
+-82
+-77
+-71
+-67
+-62
+-59
+-54
+-52
+-48
+-45
+-42
+-39
+-37
+-34
+-32
+-30
+-28
+-27
+-24
+-23
+-21
+-21
+-19
+-18
+-16
+-16
+-15
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+79
+73
+69
+62
+58
+53
+50
+45
+43
+38
+36
+33
+31
+27
+26
+23
+21
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+7
+6
+4
+5
+4
+4
+2
+2
+1
+1
+1
+1
+-1
+0
+-1
+0
+-1
+-1
+-2
+-2
+-2
+-2
+-4
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-29
+-50
+-67
+-82
+-94
+-105
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-113
+-106
+-100
+-94
+-88
+-82
+-77
+-72
+-68
+-63
+-59
+-55
+-52
+-48
+-45
+-41
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-24
+-21
+-21
+-18
+-18
+-17
+-16
+-14
+-14
+-12
+-13
+-11
+-11
+-10
+-10
+-8
+-9
+-7
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+7
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-22
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-8
+-8
+-7
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+93
+84
+79
+73
+69
+61
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+23
+21
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-15
+-15
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-10
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+92
+85
+79
+72
+68
+62
+57
+53
+50
+45
+42
+38
+36
+31
+31
+27
+25
+22
+22
+19
+18
+16
+15
+13
+13
+10
+9
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-9
+-7
+-7
+-6
+-7
+-6
+-7
+-5
+-6
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+79
+72
+68
+62
+58
+52
+50
+45
+42
+38
+36
+32
+31
+27
+25
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+9
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+72
+66
+62
+56
+54
+48
+45
+41
+39
+35
+32
+29
+28
+24
+23
+20
+19
+17
+16
+14
+14
+12
+11
+9
+9
+7
+7
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-97
+-91
+-86
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+79
+73
+68
+62
+58
+53
+50
+45
+42
+38
+36
+32
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+13
+11
+10
+8
+8
+7
+-19
+-41
+-60
+-76
+-88
+-99
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+114
+104
+98
+90
+85
+77
+73
+66
+62
+56
+53
+48
+45
+41
+39
+35
+32
+29
+28
+25
+23
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+6
+4
+4
+2
+3
+2
+2
+1
+1
+0
+1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-114
+-106
+-100
+-94
+-88
+-82
+-77
+-72
+-67
+-63
+-59
+-54
+-51
+-48
+-45
+-42
+-40
+-36
+-34
+-32
+-30
+-28
+-26
+-24
+-23
+-21
+-20
+-19
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-9
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-7
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+73
+68
+61
+58
+52
+49
+45
+42
+38
+36
+32
+31
+27
+26
+23
+21
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+-18
+-41
+-59
+-75
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-101
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-10
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+85
+80
+73
+68
+62
+59
+52
+50
+45
+43
+38
+36
+32
+30
+28
+26
+22
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+7
+-19
+-41
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-80
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-10
+-10
+-10
+-8
+-9
+-7
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+45
+42
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+6
+5
+5
+4
+4
+2
+3
+1
+1
+1
+1
+-1
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-5
+-3
+-5
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-29
+-50
+-67
+-82
+-94
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-113
+-106
+-100
+-94
+-88
+-82
+-77
+-72
+-68
+-63
+-59
+-55
+-52
+-48
+-45
+-42
+-39
+-36
+-35
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-16
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-8
+-7
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+80
+72
+68
+62
+59
+52
+50
+45
+42
+38
+36
+32
+30
+27
+26
+22
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-41
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-86
+-79
+-75
+-69
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-9
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+85
+80
+72
+68
+62
+59
+53
+49
+45
+43
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+7
+-18
+-41
+-59
+-75
+-88
+-99
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+66
+62
+57
+53
+48
+46
+41
+39
+34
+32
+29
+27
+25
+23
+20
+20
+17
+16
+14
+14
+11
+11
+9
+9
+7
+7
+6
+-20
+-42
+-60
+-76
+-89
+-100
+-109
+-101
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-97
+-91
+-86
+-80
+-75
+-70
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-9
+-7
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+85
+79
+72
+69
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+23
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+6
+5
+4
+4
+4
+2
+2
+1
+1
+0
+1
+0
+0
+-1
+0
+-2
+-1
+-2
+-1
+-3
+-2
+-3
+-2
+-3
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-28
+-49
+-67
+-82
+-94
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-114
+-107
+-101
+-94
+-88
+-82
+-78
+-72
+-68
+-63
+-59
+-54
+-52
+-48
+-45
+-42
+-40
+-36
+-34
+-32
+-31
+-28
+-27
+-25
+-23
+-21
+-21
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-8
+-8
+-8
+-6
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+109
+99
+92
+84
+80
+73
+68
+62
+58
+52
+50
+45
+42
+38
+36
+32
+31
+28
+26
+22
+22
+19
+18
+16
+15
+13
+13
+11
+10
+8
+8
+6
+6
+5
+5
+3
+4
+3
+3
+1
+1
+0
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-29
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-98
+-107
+-101
+-94
+-88
+-82
+-77
+-72
+-67
+-63
+-59
+-55
+-52
+-48
+-46
+-42
+-39
+-36
+-34
+-32
+-31
+-28
+-27
+-24
+-24
+-21
+-21
+-19
+-18
+-17
+-16
+-14
+-14
+-13
+-13
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+98
+93
+85
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+31
+27
+26
+22
+22
+18
+18
+16
+15
+13
+13
+11
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-28
+-26
+-24
+-23
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+80
+73
+68
+62
+58
+52
+50
+45
+42
+38
+36
+32
+31
+28
+26
+22
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+9
+7
+-18
+-41
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-9
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+72
+68
+62
+59
+53
+49
+45
+42
+38
+36
+32
+31
+27
+26
+22
+22
+19
+18
+15
+14
+13
+12
+10
+10
+9
+8
+6
+-19
+-41
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-108
+-101
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-47
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-20
+-20
+-18
+-17
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-9
+-8
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-4
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+80
+72
+69
+62
+59
+53
+50
+45
+42
+37
+36
+32
+31
+27
+25
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-41
+-60
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+104
+99
+90
+85
+77
+73
+66
+62
+56
+53
+47
+45
+40
+38
+35
+33
+29
+28
+25
+24
+20
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+8
+6
+-19
+-42
+-60
+-76
+-89
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-98
+-91
+-85
+-80
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-41
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-4
+-5
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+109
+99
+93
+84
+79
+72
+69
+62
+58
+53
+50
+45
+42
+38
+36
+32
+31
+27
+26
+22
+22
+19
+18
+16
+15
+12
+13
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-108
+-101
+-110
+-103
+-97
+-91
+-86
+-79
+-75
+-69
+-66
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+98
+90
+85
+77
+73
+66
+62
+56
+54
+48
+45
+41
+39
+34
+33
+29
+27
+24
+23
+21
+19
+17
+16
+14
+13
+11
+11
+9
+9
+7
+7
+5
+6
+4
+4
+3
+3
+2
+2
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-3
+-3
+-4
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-28
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-98
+-107
+-101
+-94
+-88
+-82
+-77
+-72
+-68
+-63
+-59
+-55
+-51
+-48
+-45
+-42
+-40
+-36
+-35
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-8
+-7
+-8
+-6
+-7
+-7
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+85
+80
+72
+68
+63
+59
+52
+50
+45
+42
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-22
+-20
+-19
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-10
+-10
+-9
+-10
+-8
+-8
+-7
+-7
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+116
+109
+98
+93
+84
+79
+73
+68
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+25
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-22
+-20
+-20
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+85
+80
+72
+68
+62
+59
+52
+50
+45
+42
+38
+36
+32
+31
+28
+26
+22
+22
+19
+18
+16
+15
+13
+13
+11
+10
+8
+8
+7
+6
+5
+5
+3
+4
+2
+2
+1
+2
+1
+1
+0
+0
+-1
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-3
+-3
+-2
+-4
+-3
+-4
+-4
+-4
+-3
+-5
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-4
+-4
+-4
+-28
+-50
+-66
+-81
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-107
+-100
+-94
+-88
+-82
+-77
+-72
+-67
+-63
+-59
+-55
+-52
+-48
+-45
+-42
+-40
+-36
+-34
+-32
+-31
+-28
+-27
+-25
+-24
+-21
+-20
+-19
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+93
+85
+79
+72
+69
+62
+58
+52
+50
+45
+43
+38
+36
+33
+31
+27
+26
+23
+22
+19
+18
+15
+14
+13
+13
+10
+10
+8
+8
+7
+-18
+-41
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-61
+-58
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-17
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-9
+-7
+-8
+-7
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+92
+85
+80
+73
+69
+62
+58
+53
+50
+45
+42
+38
+36
+32
+30
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-74
+-69
+-65
+-60
+-57
+-52
+-49
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+85
+77
+72
+66
+62
+56
+53
+48
+45
+40
+38
+34
+32
+30
+28
+24
+23
+20
+19
+17
+16
+14
+13
+12
+11
+9
+9
+7
+7
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-109
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-101
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-23
+-21
+-20
+-18
+-18
+-16
+-16
+-14
+-13
+-12
+-12
+-11
+-11
+-10
+-10
+-8
+-9
+-8
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-2
+-3
+-2
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+126
+115
+108
+99
+93
+84
+80
+72
+68
+62
+58
+53
+50
+45
+43
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+15
+13
+12
+10
+11
+8
+8
+6
+7
+5
+5
+3
+4
+2
+3
+1
+1
+1
+1
+0
+0
+-1
+-1
+-1
+-1
+-2
+-2
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-3
+-3
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-28
+-50
+-67
+-82
+-93
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-111
+-104
+-114
+-106
+-100
+-94
+-88
+-82
+-77
+-71
+-68
+-63
+-59
+-55
+-52
+-48
+-46
+-42
+-39
+-36
+-34
+-32
+-30
+-28
+-27
+-24
+-24
+-22
+-21
+-19
+-18
+-17
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-2
+-2
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+92
+85
+80
+72
+68
+62
+59
+53
+50
+45
+42
+38
+36
+32
+31
+28
+25
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+7
+5
+5
+3
+4
+2
+2
+2
+2
+0
+1
+0
+0
+-1
+0
+-2
+-1
+-2
+-2
+-3
+-2
+-3
+-3
+-3
+-3
+-4
+-2
+-3
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-4
+-4
+-3
+-4
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-4
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-4
+-6
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-4
+-5
+-5
+-5
+-28
+-50
+-67
+-82
+-94
+-104
+-112
+-104
+-109
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-110
+-104
+-113
+-106
+-100
+-94
+-88
+-82
+-77
+-72
+-68
+-63
+-59
+-54
+-52
+-48
+-45
+-42
+-39
+-36
+-35
+-32
+-31
+-28
+-27
+-24
+-23
+-21
+-21
+-18
+-18
+-17
+-16
+-14
+-14
+-13
+-12
+-11
+-11
+-10
+-10
+-9
+-9
+-7
+-8
+-7
+-7
+-6
+-7
+-6
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+93
+84
+80
+73
+68
+62
+59
+53
+50
+45
+42
+38
+36
+32
+31
+27
+26
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+7
+-18
+-41
+-59
+-76
+-88
+-99
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-23
+-22
+-21
+-20
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-10
+-10
+-9
+-10
+-8
+-8
+-8
+-8
+-6
+-7
+-6
+-6
+-6
+-6
+-4
+-5
+-4
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-1
+-2
+-1
+-2
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+98
+92
+85
+80
+72
+68
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+25
+23
+22
+19
+18
+16
+15
+13
+13
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-49
+-46
+-43
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-23
+-23
+-20
+-19
+-18
+-17
+-16
+-16
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-10
+-8
+-8
+-7
+-8
+-7
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-3
+-3
+-2
+-3
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+108
+99
+92
+84
+79
+72
+67
+62
+59
+53
+50
+45
+43
+38
+36
+32
+30
+27
+26
+22
+22
+19
+18
+15
+15
+13
+12
+10
+10
+8
+8
+6
+-19
+-42
+-60
+-76
+-88
+-100
+-108
+-100
+-106
+-111
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-112
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-29
+-27
+-26
+-24
+-23
+-20
+-19
+-18
+-18
+-16
+-15
+-14
+-14
+-12
+-12
+-11
+-11
+-9
+-9
+-8
+-9
+-8
+-8
+-6
+-7
+-6
+-6
+-5
+-6
+-5
+-5
+-4
+-5
+-4
+-4
+-4
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+125
+115
+109
+99
+93
+84
+80
+73
+68
+62
+58
+52
+50
+45
+43
+38
+36
+32
+31
+27
+26
+22
+22
+19
+18
+16
+15
+13
+13
+11
+10
+8
+8
+7
+-19
+-41
+-59
+-76
+-88
+-100
+-108
+-100
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-90
+-85
+-79
+-75
+-69
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+127
+122
+115
+105
+99
+90
+84
+77
+73
+65
+62
+56
+53
+48
+46
+41
+39
+35
+32
+29
+28
+24
+23
+21
+20
+17
+16
+14
+14
+12
+11
+9
+9
+7
+7
+5
+-20
+-43
+-61
+-77
+-89
+-100
+-109
+-101
+-106
+-112
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-127
+-107
+-100
+-110
+-103
+-97
+-91
+-85
+-79
+-75
+-70
+-65
+-60
+-57
+-53
+-50
+-46
+-44
+-40
+-38
+-35
+-33
+-31
+-30
+-27
+-26
+-24
+-22
+-20
+-20
+-18
+-18
+-16
+-16
+-14
+-14
+-12
+-12
+-10
+-11
+-9
+-9
+-8
+-8
+-7
+-8
+-6
+-7
+-6
+-7
+-5
+-6
+-5
+-5
+-4
+-4
+-3
+-4
+-3
+-4
+-3
+-4
+-3
+-3
+-3
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-2
+-3
+-2
+-3
+-2
+-3
+-2
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-2
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-2
+-1
+-1
+-1
+-2
diff --git a/traces/modulation-fsk1-50.pm3 b/traces/modulation-fsk1-50.pm3
new file mode 100644 (file)
index 0000000..01fb01c
--- /dev/null
@@ -0,0 +1,20000 @@
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-3
+-28
+-49
+22
+30
+0
+-27
+-47
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-49
+21
+30
+-2
+-27
+-49
+23
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+23
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+20
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+30
+-1
+-27
+-48
+20
+29
+-3
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+27
+0
+-16
+-39
+-59
+-75
+-89
+30
+55
+22
+-3
+-27
+-49
+-66
+-82
+30
+58
+25
+1
+-24
+-47
+-64
+-80
+37
+64
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+40
+67
+32
+0
+-24
+43
+49
+14
+-13
+-37
+34
+40
+9
+-19
+-41
+29
+38
+6
+-20
+-43
+28
+34
+4
+-23
+-45
+26
+35
+3
+-23
+-46
+26
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+31
+0
+-25
+-48
+22
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+23
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-50
+-67
+-82
+29
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-43
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+41
+67
+33
+8
+-18
+-42
+-59
+52
+28
+-2
+-27
+-48
+51
+25
+-3
+-29
+-49
+49
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-50
+48
+23
+-7
+-31
+-52
+48
+22
+-6
+-31
+-51
+47
+22
+-8
+-32
+-52
+48
+21
+-7
+-32
+-52
+46
+22
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-9
+-33
+-53
+45
+22
+-8
+-32
+-53
+46
+20
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+22
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+20
+-10
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+-70
+38
+61
+27
+2
+-24
+-46
+-64
+-80
+33
+61
+28
+4
+-22
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+7
+-18
+-42
+-60
+-76
+41
+68
+33
+7
+-18
+-42
+-60
+-77
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+45
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+36
+42
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+24
+33
+1
+-24
+-46
+25
+32
+2
+-25
+-46
+23
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+31
+0
+-25
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+0
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+30
+-2
+-27
+-48
+22
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+28
+-1
+-28
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-26
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+28
+0
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-28
+-49
+-67
+-82
+30
+58
+26
+1
+-24
+-46
+-64
+-80
+35
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-43
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-76
+41
+68
+32
+1
+-24
+42
+49
+14
+-13
+-37
+35
+41
+10
+-18
+-40
+29
+37
+5
+-21
+-44
+28
+35
+5
+-22
+-44
+26
+34
+2
+-23
+-46
+25
+33
+3
+-24
+-46
+24
+32
+0
+-25
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+21
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-47
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-49
+21
+30
+-1
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+23
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-50
+-67
+-82
+30
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-29
+-49
+49
+25
+-5
+-29
+-50
+50
+23
+-6
+-31
+-51
+48
+24
+-7
+-31
+-51
+49
+22
+-7
+-31
+-51
+47
+22
+-8
+-32
+-52
+47
+21
+-7
+-32
+-52
+47
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+-70
+38
+61
+27
+2
+-24
+-46
+-64
+-80
+33
+62
+29
+4
+-22
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+41
+68
+33
+8
+-18
+-42
+-60
+-76
+41
+68
+33
+7
+-18
+-42
+-60
+-77
+41
+68
+34
+8
+-18
+-41
+-59
+49
+27
+-3
+-28
+-49
+52
+26
+-3
+-29
+-49
+49
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-50
+48
+24
+-6
+-30
+-51
+47
+21
+-7
+-32
+-51
+46
+23
+-7
+-31
+-52
+48
+22
+-7
+-32
+-51
+47
+22
+-8
+-31
+-52
+47
+21
+-7
+-33
+-52
+44
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+45
+20
+-9
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+44
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+45
+19
+-9
+-33
+-53
+46
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-53
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+43
+19
+-10
+-33
+-54
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+46
+21
+-8
+-32
+-53
+45
+20
+-9
+-33
+-53
+46
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+43
+19
+-10
+-33
+-54
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-7
+-33
+-52
+45
+21
+-8
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+-70
+41
+62
+28
+2
+-23
+-46
+-64
+-80
+33
+61
+27
+3
+-22
+-45
+-63
+-79
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+8
+-18
+-42
+-60
+-76
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+68
+33
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-17
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+1
+-24
+43
+50
+15
+-12
+-36
+36
+42
+10
+-18
+-40
+29
+39
+6
+-20
+-43
+28
+36
+5
+-22
+-44
+26
+35
+3
+-23
+-45
+25
+32
+1
+-25
+-46
+24
+33
+1
+-24
+-47
+24
+30
+0
+-26
+-47
+22
+31
+0
+-26
+-48
+22
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+29
+-2
+-27
+-49
+22
+29
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-28
+-50
+-67
+-82
+29
+57
+24
+1
+-25
+-47
+-64
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-20
+-42
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-17
+-41
+-59
+-76
+43
+69
+35
+8
+-17
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+46
+70
+36
+9
+-17
+-40
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+9
+-17
+-40
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+35
+42
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+24
+32
+1
+-24
+-47
+25
+33
+3
+-24
+-45
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+23
+31
+0
+-25
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+30
+-1
+-27
+-48
+22
+29
+0
+-27
+-47
+20
+28
+-3
+-28
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-48
+21
+30
+-2
+-27
+-49
+23
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+19
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+27
+-1
+-16
+-39
+-59
+-75
+-89
+30
+56
+23
+-3
+-27
+-49
+-67
+-82
+29
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-19
+-42
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+1
+-24
+42
+49
+15
+-13
+-37
+35
+41
+10
+-18
+-40
+29
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+25
+35
+2
+-23
+-45
+24
+32
+1
+-25
+-46
+23
+32
+1
+-25
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-48
+21
+31
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+29
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+23
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-4
+-28
+-50
+-67
+-82
+29
+58
+25
+0
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+38
+65
+31
+6
+-19
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-76
+40
+67
+33
+8
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-29
+-49
+49
+25
+-6
+-30
+-50
+50
+23
+-6
+-31
+-50
+48
+23
+-7
+-31
+-52
+48
+22
+-7
+-31
+-51
+47
+22
+-8
+-31
+-52
+47
+21
+-7
+-32
+-52
+46
+22
+-8
+-32
+-52
+47
+21
+-7
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+-70
+37
+60
+27
+1
+-24
+-46
+-64
+-80
+33
+61
+28
+3
+-22
+-45
+-63
+-79
+39
+66
+31
+6
+-20
+-43
+-61
+-77
+41
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+67
+33
+8
+-18
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+50
+28
+-3
+-27
+-49
+52
+26
+-3
+-29
+-49
+50
+25
+-5
+-29
+-50
+50
+23
+-5
+-30
+-50
+48
+24
+-7
+-31
+-51
+46
+21
+-7
+-32
+-51
+47
+23
+-7
+-31
+-52
+48
+22
+-7
+-32
+-51
+47
+22
+-8
+-32
+-52
+47
+21
+-8
+-33
+-52
+44
+20
+-10
+-33
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-7
+-33
+-52
+45
+21
+-9
+-32
+-53
+45
+20
+-9
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+43
+20
+-10
+-33
+-54
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-8
+-32
+-53
+45
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+43
+20
+-10
+-33
+-54
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+45
+20
+-9
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+-71
+40
+63
+29
+2
+-23
+-46
+-63
+-79
+33
+61
+28
+3
+-22
+-45
+-63
+-79
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+41
+68
+33
+7
+-18
+-42
+-60
+-76
+41
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+43
+50
+15
+-12
+-36
+35
+42
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+35
+5
+-23
+-44
+24
+32
+0
+-25
+-47
+25
+33
+2
+-24
+-45
+23
+33
+1
+-24
+-47
+24
+32
+1
+-25
+-46
+23
+32
+0
+-25
+-48
+22
+29
+1
+-16
+-39
+-59
+-74
+-89
+29
+55
+22
+-3
+-27
+-49
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-42
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+43
+49
+14
+-13
+-37
+35
+41
+9
+-18
+-41
+30
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+26
+34
+2
+-23
+-46
+25
+33
+2
+-24
+-46
+23
+32
+1
+-25
+-47
+23
+31
+1
+-25
+-47
+22
+31
+0
+-25
+-47
+23
+30
+0
+-26
+-47
+22
+30
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+21
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+28
+-1
+-28
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+1
+-17
+-39
+-60
+-75
+-90
+29
+54
+22
+-3
+-28
+-49
+-67
+-82
+29
+57
+24
+1
+-24
+-47
+-65
+-80
+36
+64
+30
+4
+-21
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-59
+52
+28
+-3
+-27
+-48
+52
+26
+-3
+-29
+-49
+49
+25
+-6
+-30
+-50
+50
+23
+-5
+-31
+-50
+48
+23
+-7
+-31
+-52
+49
+22
+-7
+-32
+-51
+47
+22
+-8
+-32
+-52
+48
+21
+-7
+-32
+-51
+45
+22
+-8
+-32
+-52
+47
+21
+-8
+-33
+-52
+-70
+38
+61
+28
+2
+-23
+-46
+-64
+-79
+33
+61
+28
+4
+-22
+-44
+-62
+-78
+38
+66
+32
+6
+-19
+-42
+-61
+-77
+42
+68
+33
+7
+-18
+-42
+-60
+-76
+41
+67
+33
+7
+-19
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-60
+-76
+45
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+44
+70
+36
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-17
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+43
+69
+34
+2
+-23
+43
+49
+15
+-12
+-36
+35
+42
+10
+-18
+-40
+29
+38
+5
+-20
+-43
+28
+35
+4
+-23
+-44
+24
+33
+2
+-24
+-46
+25
+32
+2
+-25
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+32
+0
+-25
+-47
+22
+28
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+28
+-1
+-28
+-49
+21
+30
+-2
+-27
+-48
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-27
+-49
+23
+30
+0
+-27
+-47
+20
+28
+-3
+-28
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+20
+29
+-3
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+19
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+21
+27
+-3
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-47
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+27
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+20
+28
+-2
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+20
+28
+-3
+-28
+-50
+22
+29
+-1
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+20
+28
+-3
+-28
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+27
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+22
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+28
+-3
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+21
+28
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+30
+0
+-26
+-47
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+23
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+0
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-28
+-50
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+62
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-42
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+42
+49
+14
+-13
+-37
+35
+41
+10
+-18
+-40
+29
+38
+5
+-21
+-44
+28
+36
+5
+-22
+-44
+26
+35
+2
+-23
+-46
+25
+32
+2
+-25
+-46
+24
+32
+0
+-25
+-47
+23
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+31
+1
+-26
+-47
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-47
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+1
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-49
+-67
+-82
+30
+58
+25
+1
+-25
+-47
+-64
+-80
+36
+63
+29
+5
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-19
+-42
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+40
+68
+33
+8
+-18
+-42
+-59
+51
+28
+-3
+-27
+-48
+52
+25
+-3
+-29
+-49
+49
+25
+-6
+-30
+-51
+50
+23
+-6
+-31
+-50
+48
+24
+-7
+-31
+-51
+48
+22
+-7
+-32
+-51
+47
+23
+-8
+-31
+-52
+48
+21
+-7
+-32
+-52
+46
+22
+-8
+-32
+-53
+48
+21
+-7
+-32
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+45
+20
+-9
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-7
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+19
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+-71
+37
+60
+26
+1
+-24
+-46
+-64
+-80
+33
+62
+29
+3
+-22
+-44
+-63
+-79
+38
+65
+31
+6
+-19
+-42
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+46
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+33
+8
+-18
+-41
+-60
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+44
+70
+35
+9
+-17
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+45
+50
+15
+-12
+-36
+35
+41
+10
+-18
+-40
+30
+38
+5
+-21
+-43
+28
+35
+4
+-23
+-44
+25
+33
+1
+-24
+-46
+25
+33
+2
+-24
+-45
+24
+32
+1
+-24
+-47
+23
+31
+1
+-25
+-47
+23
+32
+0
+-25
+-47
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+30
+-1
+-27
+-49
+23
+30
+-1
+-27
+-47
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+28
+-1
+-28
+-49
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-48
+22
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+21
+27
+-1
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-27
+-49
+-67
+-82
+30
+57
+25
+1
+-24
+-47
+-64
+-80
+36
+64
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-19
+-42
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+42
+49
+14
+-13
+-37
+35
+41
+9
+-18
+-40
+29
+38
+6
+-20
+-43
+28
+35
+4
+-23
+-44
+26
+35
+3
+-23
+-46
+25
+33
+2
+-25
+-46
+23
+32
+1
+-25
+-47
+23
+31
+0
+-26
+-47
+22
+31
+0
+-25
+-48
+23
+30
+0
+-27
+-47
+21
+31
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+23
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+28
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+28
+54
+22
+-3
+-28
+-49
+-67
+-82
+29
+57
+25
+0
+-25
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+39
+67
+33
+7
+-19
+-42
+-60
+-77
+40
+67
+33
+8
+-18
+-41
+-59
+52
+29
+-2
+-27
+-48
+52
+26
+-3
+-29
+-49
+49
+25
+-5
+-29
+-50
+49
+23
+-5
+-30
+-50
+48
+23
+-7
+-31
+-51
+47
+21
+-7
+-32
+-51
+47
+22
+-8
+-32
+-52
+47
+21
+-7
+-33
+-52
+46
+21
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+-70
+37
+61
+27
+1
+-24
+-46
+-64
+-80
+34
+62
+29
+4
+-21
+-44
+-62
+-78
+38
+66
+32
+6
+-20
+-42
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+67
+33
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-58
+50
+28
+-3
+-27
+-48
+51
+25
+-3
+-29
+-49
+50
+26
+-5
+-29
+-50
+50
+24
+-5
+-30
+-50
+48
+24
+-7
+-31
+-51
+47
+21
+-7
+-32
+-51
+47
+22
+-8
+-31
+-52
+47
+21
+-7
+-32
+-52
+47
+22
+-7
+-31
+-52
+47
+21
+-7
+-32
+-52
+44
+21
+-9
+-33
+-53
+47
+20
+-7
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+45
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+43
+20
+-10
+-33
+-54
+47
+21
+-7
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+45
+19
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+43
+20
+-10
+-33
+-54
+46
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-7
+-33
+-52
+45
+22
+-8
+-32
+-53
+46
+20
+-9
+-33
+-53
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+44
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+45
+19
+-9
+-34
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+-70
+40
+61
+28
+2
+-24
+-46
+-64
+-80
+33
+62
+28
+3
+-22
+-45
+-63
+-79
+37
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-76
+41
+67
+33
+8
+-19
+-42
+-60
+-76
+41
+67
+33
+8
+-18
+-41
+-60
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+9
+-17
+-40
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+68
+33
+1
+-24
+44
+50
+16
+-12
+-36
+35
+41
+10
+-18
+-40
+30
+39
+6
+-20
+-43
+28
+35
+4
+-23
+-44
+25
+34
+2
+-23
+-46
+25
+33
+3
+-24
+-45
+24
+32
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+1
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-4
+-28
+-50
+-67
+-82
+29
+57
+25
+0
+-25
+-47
+-65
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+68
+33
+7
+-19
+-42
+-60
+-76
+40
+67
+33
+8
+-18
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-17
+-41
+-59
+-76
+41
+69
+34
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+9
+-17
+-40
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+9
+-17
+-41
+-59
+-76
+45
+70
+35
+9
+-17
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+2
+-23
+43
+49
+14
+-13
+-37
+35
+42
+10
+-18
+-40
+30
+37
+5
+-21
+-44
+28
+35
+5
+-22
+-44
+24
+33
+2
+-23
+-46
+26
+33
+3
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+31
+0
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-47
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+27
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-47
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-27
+-49
+-66
+-82
+29
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+40
+67
+32
+0
+-24
+43
+49
+15
+-13
+-37
+35
+41
+9
+-18
+-40
+29
+38
+6
+-20
+-43
+28
+34
+4
+-23
+-45
+26
+34
+2
+-23
+-46
+25
+32
+2
+-25
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+23
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-28
+-50
+-67
+-82
+29
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+41
+68
+33
+7
+-19
+-42
+-60
+-77
+40
+67
+33
+8
+-18
+-42
+-59
+52
+28
+-3
+-27
+-48
+53
+26
+-3
+-29
+-49
+49
+25
+-6
+-30
+-50
+50
+23
+-5
+-31
+-50
+48
+23
+-7
+-31
+-51
+49
+22
+-6
+-32
+-51
+47
+23
+-7
+-31
+-52
+48
+21
+-7
+-32
+-52
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-53
+-70
+37
+61
+27
+2
+-24
+-46
+-64
+-80
+33
+62
+28
+4
+-22
+-45
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+41
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+7
+-19
+-42
+-60
+-76
+41
+68
+34
+8
+-18
+-42
+-59
+50
+27
+-4
+-28
+-49
+53
+26
+-3
+-29
+-49
+49
+25
+-6
+-29
+-50
+50
+23
+-5
+-30
+-50
+48
+24
+-6
+-31
+-51
+47
+21
+-7
+-32
+-51
+47
+23
+-7
+-31
+-52
+48
+21
+-7
+-32
+-51
+46
+22
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+44
+21
+-9
+-33
+-53
+47
+21
+-7
+-32
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+45
+19
+-9
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+44
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+45
+19
+-9
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+44
+20
+-10
+-33
+-54
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+45
+20
+-8
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+-70
+40
+62
+28
+2
+-24
+-46
+-64
+-80
+33
+61
+28
+3
+-22
+-45
+-63
+-79
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+34
+7
+-19
+-42
+-60
+-77
+40
+67
+33
+8
+-19
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-42
+-60
+-76
+42
+68
+33
+1
+-23
+43
+49
+15
+-12
+-36
+35
+41
+10
+-18
+-40
+29
+39
+6
+-20
+-43
+28
+35
+4
+-23
+-44
+24
+34
+2
+-24
+-46
+25
+32
+1
+-25
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+23
+32
+0
+-25
+-47
+21
+29
+1
+-15
+-38
+-59
+-74
+-89
+29
+56
+23
+-2
+-27
+-49
+-66
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+40
+66
+32
+6
+-19
+-43
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+43
+48
+14
+-13
+-37
+35
+42
+10
+-18
+-40
+29
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+26
+34
+2
+-23
+-46
+25
+32
+2
+-25
+-46
+23
+33
+1
+-24
+-47
+24
+31
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+21
+31
+-1
+-26
+-48
+23
+30
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-47
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-28
+-49
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+1
+-16
+-39
+-59
+-74
+-89
+28
+54
+21
+-4
+-28
+-50
+-67
+-83
+30
+58
+26
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-19
+-43
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+7
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+51
+25
+-4
+-29
+-49
+49
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-50
+48
+24
+-7
+-31
+-51
+48
+22
+-7
+-32
+-51
+47
+22
+-8
+-31
+-52
+47
+21
+-7
+-32
+-52
+45
+22
+-8
+-32
+-52
+47
+21
+-8
+-33
+-52
+-70
+38
+61
+27
+2
+-23
+-46
+-63
+-80
+34
+62
+29
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-19
+-42
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-42
+-60
+-76
+41
+67
+33
+8
+-18
+-41
+-60
+-76
+46
+71
+36
+9
+-18
+-41
+-59
+-76
+42
+68
+33
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+9
+-17
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+35
+42
+10
+-18
+-40
+30
+39
+6
+-20
+-43
+28
+35
+4
+-23
+-45
+25
+34
+2
+-24
+-46
+25
+32
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-25
+-46
+22
+31
+0
+-25
+-48
+21
+28
+-1
+-28
+-48
+22
+31
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+22
+31
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-27
+-48
+21
+28
+-1
+-28
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-47
+21
+30
+-2
+-27
+-49
+21
+28
+-1
+-28
+-48
+21
+30
+-2
+-27
+-49
+23
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+21
+28
+-1
+-28
+-49
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-2
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-27
+-49
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+30
+0
+-27
+-47
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+23
+30
+0
+-27
+-47
+21
+30
+-2
+-26
+-48
+22
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+20
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-47
+20
+29
+-2
+-27
+-49
+21
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+21
+28
+-1
+-28
+-48
+21
+30
+-2
+-26
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+20
+27
+0
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-28
+-49
+-66
+-82
+29
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-19
+-42
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+42
+49
+14
+-13
+-37
+35
+41
+9
+-18
+-41
+29
+38
+5
+-20
+-43
+28
+35
+4
+-23
+-44
+25
+35
+2
+-23
+-46
+25
+33
+2
+-24
+-46
+23
+32
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+31
+0
+-25
+-48
+23
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+28
+55
+22
+-3
+-28
+-50
+-67
+-82
+29
+57
+25
+1
+-24
+-47
+-65
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-76
+40
+68
+33
+8
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-30
+-49
+50
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-51
+48
+24
+-6
+-31
+-51
+48
+22
+-6
+-31
+-51
+47
+23
+-7
+-31
+-52
+47
+21
+-7
+-32
+-52
+47
+22
+-8
+-32
+-52
+47
+21
+-7
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-53
+46
+21
+-9
+-32
+-53
+46
+20
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-53
+-70
+38
+61
+27
+1
+-24
+-46
+-64
+-80
+33
+62
+29
+4
+-22
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+7
+-18
+-42
+-60
+-77
+41
+67
+33
+7
+-19
+-42
+-60
+-76
+42
+69
+34
+8
+-18
+-42
+-60
+-76
+45
+70
+35
+9
+-17
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+43
+49
+15
+-12
+-36
+36
+42
+11
+-17
+-40
+30
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+25
+33
+1
+-24
+-46
+25
+32
+2
+-25
+-46
+24
+32
+1
+-24
+-47
+24
+31
+1
+-26
+-46
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-2
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-2
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+20
+28
+0
+-16
+-38
+-59
+-75
+-89
+29
+54
+21
+-3
+-28
+-49
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+40
+67
+32
+1
+-24
+43
+49
+15
+-13
+-36
+35
+40
+9
+-19
+-41
+29
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+26
+35
+3
+-23
+-46
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+30
+0
+-27
+-47
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-49
+-67
+-82
+30
+57
+25
+1
+-24
+-47
+-65
+-80
+37
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+67
+33
+7
+-18
+-42
+-59
+52
+28
+-3
+-27
+-48
+52
+25
+-3
+-29
+-49
+49
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-50
+48
+24
+-7
+-30
+-51
+49
+22
+-7
+-32
+-51
+46
+22
+-8
+-32
+-52
+48
+21
+-7
+-32
+-51
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+-70
+38
+61
+27
+2
+-23
+-46
+-64
+-80
+34
+62
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-20
+-42
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+7
+-18
+-42
+-60
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+50
+27
+-3
+-28
+-49
+52
+26
+-3
+-29
+-49
+50
+25
+-5
+-29
+-50
+50
+24
+-5
+-30
+-50
+48
+23
+-7
+-31
+-51
+47
+21
+-7
+-32
+-51
+47
+23
+-7
+-31
+-52
+48
+22
+-7
+-32
+-51
+46
+22
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+44
+21
+-9
+-33
+-53
+47
+21
+-7
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-8
+-32
+-53
+45
+19
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+44
+20
+-9
+-33
+-53
+47
+20
+-7
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-32
+-52
+45
+21
+-9
+-32
+-53
+45
+20
+-9
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-9
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-9
+-33
+-53
+44
+20
+-10
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+21
+-8
+-32
+-53
+45
+19
+-9
+-33
+-53
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+44
+20
+-9
+-33
+-54
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+45
+19
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+46
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+-70
+41
+62
+28
+2
+-23
+-46
+-64
+-80
+34
+62
+28
+4
+-22
+-44
+-62
+-79
+38
+65
+31
+5
+-20
+-43
+-61
+-77
+42
+68
+34
+8
+-19
+-42
+-60
+-76
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+34
+8
+-18
+-42
+-60
+-76
+42
+68
+34
+8
+-17
+-41
+-59
+-76
+41
+69
+34
+8
+-18
+-41
+-60
+-76
+42
+68
+33
+8
+-17
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+9
+-17
+-41
+-59
+-76
+42
+68
+34
+9
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+36
+42
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+36
+5
+-22
+-44
+26
+34
+2
+-24
+-46
+25
+32
+2
+-25
+-46
+24
+32
+0
+-25
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+21
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-47
+22
+31
+-1
+-26
+-48
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+22
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+20
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-48
+21
+30
+-2
+-26
+-49
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+28
+54
+22
+-3
+-28
+-50
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-43
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+34
+8
+-18
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+43
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+46
+70
+36
+9
+-17
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+44
+70
+36
+9
+-17
+-40
+-59
+-76
+42
+68
+33
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-17
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+35
+41
+10
+-18
+-40
+30
+39
+6
+-20
+-43
+28
+35
+4
+-23
+-45
+25
+33
+2
+-24
+-46
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+31
+1
+-26
+-47
+23
+31
+0
+-25
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+0
+-26
+-48
+23
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+28
+-2
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+23
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-47
+21
+30
+-2
+-27
+-49
+21
+28
+0
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-50
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+62
+29
+4
+-22
+-44
+-62
+-78
+40
+67
+32
+6
+-20
+-43
+-61
+-77
+39
+67
+32
+7
+-19
+-42
+-60
+-77
+40
+67
+32
+1
+-24
+42
+49
+14
+-13
+-37
+35
+42
+10
+-18
+-40
+30
+38
+6
+-20
+-43
+28
+35
+5
+-22
+-44
+26
+35
+2
+-23
+-46
+25
+33
+2
+-24
+-46
+24
+32
+0
+-25
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+28
+54
+21
+-3
+-28
+-50
+-67
+-82
+30
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-76
+40
+67
+33
+8
+-18
+-41
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-29
+-49
+49
+25
+-5
+-29
+-50
+49
+23
+-5
+-31
+-50
+48
+23
+-7
+-30
+-51
+48
+22
+-6
+-31
+-51
+47
+22
+-8
+-31
+-52
+48
+21
+-7
+-32
+-52
+46
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+46
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-53
+-70
+37
+60
+26
+1
+-24
+-46
+-64
+-80
+33
+62
+29
+4
+-22
+-45
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+50
+28
+-3
+-27
+-49
+52
+26
+-3
+-29
+-49
+49
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-50
+48
+23
+-7
+-31
+-51
+47
+21
+-7
+-32
+-52
+47
+23
+-7
+-31
+-52
+48
+21
+-7
+-32
+-52
+47
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+44
+21
+-9
+-32
+-53
+47
+21
+-7
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+45
+19
+-9
+-33
+-53
+46
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+44
+20
+-10
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+45
+19
+-9
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+46
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+43
+20
+-10
+-33
+-54
+47
+21
+-7
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+-70
+41
+62
+28
+2
+-23
+-46
+-64
+-80
+33
+61
+27
+3
+-22
+-45
+-63
+-79
+39
+66
+32
+6
+-20
+-43
+-61
+-78
+42
+68
+33
+7
+-18
+-42
+-60
+-76
+41
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+42
+69
+33
+1
+-24
+44
+50
+15
+-12
+-36
+35
+40
+9
+-19
+-41
+29
+38
+5
+-21
+-44
+27
+35
+4
+-23
+-44
+24
+33
+2
+-24
+-46
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-46
+24
+31
+1
+-25
+-47
+22
+31
+0
+-25
+-48
+21
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+55
+23
+-3
+-27
+-49
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+64
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+41
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+0
+-24
+43
+49
+15
+-13
+-37
+35
+40
+9
+-19
+-41
+30
+38
+5
+-21
+-43
+28
+35
+4
+-23
+-44
+25
+35
+2
+-23
+-46
+25
+33
+3
+-24
+-46
+24
+33
+1
+-25
+-47
+24
+31
+0
+-26
+-47
+22
+31
+0
+-26
+-48
+23
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+23
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+23
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+0
+-17
+-39
+-59
+-75
+-90
+29
+55
+22
+-3
+-28
+-50
+-67
+-82
+29
+57
+25
+1
+-25
+-47
+-65
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-19
+-43
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-29
+-49
+50
+25
+-5
+-29
+-50
+50
+23
+-6
+-31
+-50
+48
+24
+-6
+-31
+-51
+48
+22
+-7
+-32
+-51
+47
+23
+-8
+-32
+-52
+47
+21
+-7
+-32
+-52
+46
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+-70
+38
+61
+27
+2
+-24
+-46
+-64
+-80
+34
+63
+29
+4
+-21
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-76
+41
+67
+33
+7
+-19
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-60
+-76
+45
+70
+35
+9
+-17
+-41
+-59
+-76
+42
+68
+33
+8
+-18
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+44
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-60
+-76
+41
+68
+34
+8
+-17
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+44
+50
+15
+-13
+-36
+35
+42
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+36
+5
+-22
+-44
+24
+33
+1
+-24
+-46
+25
+33
+3
+-24
+-46
+24
+32
+1
+-25
+-47
+24
+31
+1
+-26
+-47
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+23
+29
+-1
+-27
+-48
+20
+29
+-3
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+20
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-48
+22
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-2
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+19
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+22
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+21
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-49
+21
+31
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+20
+28
+0
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-49
+-67
+-82
+29
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-76
+40
+67
+31
+0
+-25
+43
+49
+15
+-12
+-37
+35
+41
+10
+-18
+-41
+30
+38
+5
+-21
+-43
+28
+35
+4
+-23
+-44
+26
+34
+2
+-23
+-46
+25
+32
+2
+-25
+-46
+24
+33
+1
+-24
+-47
+24
+30
+0
+-26
+-47
+22
+32
+0
+-25
+-48
+23
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-27
+-47
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-27
+-49
+23
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-26
+-47
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+28
+0
+-16
+-39
+-59
+-75
+-89
+29
+54
+22
+-3
+-28
+-50
+-67
+-82
+29
+57
+25
+1
+-24
+-46
+-64
+-80
+37
+64
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-19
+-42
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-61
+-77
+41
+68
+33
+8
+-18
+-41
+-59
+52
+29
+-2
+-27
+-48
+52
+26
+-3
+-29
+-49
+49
+25
+-6
+-30
+-50
+50
+23
+-6
+-31
+-50
+48
+23
+-7
+-31
+-52
+49
+22
+-7
+-32
+-51
+47
+22
+-8
+-31
+-52
+48
+22
+-7
+-32
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-7
+-32
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+46
+22
+-8
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+20
+-10
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+20
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+20
+-10
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+-70
+38
+61
+27
+1
+-24
+-46
+-64
+-80
+33
+62
+28
+4
+-22
+-45
+-63
+-78
+38
+66
+32
+6
+-20
+-43
+-61
+-77
+41
+68
+33
+7
+-19
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+45
+70
+35
+8
+-18
+-41
+-59
+-76
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+9
+-17
+-41
+-59
+-76
+42
+68
+33
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+43
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+35
+41
+10
+-18
+-40
+29
+38
+6
+-20
+-43
+28
+35
+4
+-23
+-44
+24
+33
+2
+-24
+-46
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+30
+0
+-26
+-47
+22
+31
+0
+-25
+-48
+21
+28
+-1
+-27
+-48
+22
+31
+0
+-25
+-47
+23
+29
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+20
+28
+-1
+-27
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+0
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-27
+-49
+-67
+-82
+30
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-19
+-43
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+1
+-24
+43
+49
+14
+-13
+-37
+35
+41
+10
+-18
+-40
+29
+37
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+25
+33
+2
+-24
+-46
+25
+33
+3
+-24
+-45
+24
+32
+0
+-25
+-47
+24
+31
+1
+-26
+-47
+22
+31
+0
+-26
+-48
+23
+30
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+22
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+22
+28
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+0
+-16
+-39
+-59
+-75
+-89
+28
+54
+22
+-3
+-28
+-50
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+62
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-42
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+7
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-29
+-49
+49
+25
+-5
+-29
+-50
+49
+23
+-5
+-31
+-50
+48
+24
+-7
+-31
+-51
+49
+22
+-7
+-32
+-51
+47
+23
+-8
+-31
+-52
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-53
+-70
+37
+61
+27
+2
+-23
+-46
+-64
+-80
+34
+62
+29
+4
+-22
+-44
+-62
+-79
+39
+66
+32
+7
+-19
+-42
+-61
+-77
+41
+68
+33
+7
+-19
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+49
+28
+-3
+-27
+-49
+52
+26
+-3
+-29
+-49
+49
+26
+-5
+-29
+-50
+50
+24
+-5
+-31
+-50
+48
+24
+-6
+-31
+-51
+47
+21
+-8
+-32
+-52
+47
+23
+-7
+-31
+-52
+47
+21
+-7
+-32
+-52
+47
+22
+-8
+-31
+-52
+47
+20
+-8
+-33
+-52
+44
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-52
+45
+19
+-9
+-34
+-53
+45
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+44
+20
+-10
+-33
+-53
+47
+20
+-8
+-33
+-52
+46
+21
+-8
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+44
+19
+-9
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+43
+19
+-10
+-33
+-54
+47
+20
+-8
+-33
+-52
+46
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+46
+19
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+44
+20
+-10
+-33
+-53
+47
+20
+-8
+-32
+-52
+45
+22
+-8
+-32
+-53
+48
+21
+-7
+-32
+-52
+45
+21
+-9
+-32
+-53
+45
+20
+-8
+-33
+-53
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+-70
+40
+62
+28
+2
+-23
+-46
+-63
+-80
+33
+61
+28
+3
+-22
+-45
+-63
+-79
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+41
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+7
+-18
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+41
+69
+34
+9
+-17
+-40
+-59
+-76
+42
+69
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+33
+1
+-24
+43
+50
+15
+-12
+-36
+35
+42
+10
+-18
+-40
+30
+39
+6
+-20
+-43
+28
+35
+4
+-23
+-44
+26
+35
+3
+-22
+-45
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+24
+30
+0
+-26
+-47
+23
+31
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-2
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+28
+54
+22
+-3
+-28
+-49
+-67
+-82
+29
+57
+25
+1
+-24
+-47
+-64
+-80
+36
+64
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+66
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+41
+68
+33
+8
+-18
+-41
+-60
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+43
+70
+35
+9
+-17
+-41
+-59
+-76
+42
+68
+33
+8
+-17
+-41
+-59
+-76
+42
+68
+34
+8
+-17
+-41
+-59
+-76
+46
+71
+36
+9
+-17
+-40
+-59
+-76
+42
+68
+34
+8
+-18
+-42
+-60
+-76
+42
+69
+35
+8
+-17
+-41
+-59
+-76
+44
+69
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+34
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+43
+69
+33
+2
+-23
+44
+50
+15
+-12
+-36
+36
+42
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+24
+33
+1
+-24
+-46
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-46
+24
+31
+1
+-25
+-47
+22
+31
+0
+-25
+-48
+22
+29
+0
+-27
+-48
+22
+31
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+23
+30
+0
+-27
+-48
+20
+29
+-3
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+23
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+28
+-1
+-28
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+27
+0
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-27
+-49
+-67
+-82
+29
+57
+24
+1
+-24
+-46
+-64
+-80
+36
+64
+30
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+43
+49
+14
+-13
+-37
+35
+41
+10
+-18
+-40
+30
+38
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+26
+34
+2
+-23
+-46
+25
+33
+2
+-25
+-46
+23
+32
+0
+-25
+-47
+24
+31
+0
+-26
+-47
+22
+31
+0
+-25
+-47
+23
+30
+0
+-26
+-47
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+28
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-28
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+28
+54
+22
+-3
+-28
+-50
+-67
+-82
+29
+57
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+39
+66
+31
+6
+-20
+-42
+-61
+-77
+40
+66
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-3
+-29
+-49
+49
+25
+-5
+-30
+-50
+49
+23
+-6
+-31
+-50
+48
+23
+-7
+-31
+-51
+48
+22
+-7
+-32
+-51
+47
+22
+-8
+-31
+-52
+47
+21
+-7
+-32
+-51
+45
+21
+-8
+-32
+-53
+47
+21
+-7
+-32
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-7
+-33
+-52
+45
+21
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-53
+-70
+37
+61
+27
+1
+-24
+-46
+-64
+-80
+33
+62
+29
+4
+-22
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+42
+67
+33
+7
+-18
+-42
+-60
+-77
+41
+68
+33
+7
+-19
+-42
+-60
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+50
+28
+-3
+-28
+-49
+51
+26
+-3
+-29
+-49
+50
+25
+-5
+-29
+-50
+50
+23
+-5
+-31
+-50
+48
+24
+-7
+-30
+-51
+46
+21
+-7
+-32
+-52
+47
+23
+-7
+-31
+-52
+47
+21
+-7
+-32
+-52
+47
+22
+-8
+-32
+-52
+47
+21
+-7
+-32
+-52
+44
+20
+-10
+-33
+-54
+47
+21
+-7
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+46
+21
+-9
+-32
+-53
+45
+19
+-9
+-33
+-53
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+21
+-9
+-32
+-53
+46
+20
+-8
+-33
+-52
+44
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+45
+19
+-9
+-33
+-53
+45
+20
+-9
+-33
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-7
+-33
+-52
+44
+20
+-9
+-33
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+45
+19
+-9
+-34
+-53
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+-70
+40
+62
+28
+2
+-23
+-46
+-64
+-80
+33
+61
+28
+3
+-22
+-45
+-63
+-79
+39
+66
+31
+6
+-20
+-43
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+33
+8
+-19
+-42
+-60
+-76
+41
+67
+33
+8
+-18
+-42
+-60
+-76
+42
+69
+33
+2
+-23
+43
+49
+14
+-13
+-37
+36
+42
+10
+-18
+-40
+30
+37
+5
+-21
+-44
+28
+35
+4
+-23
+-44
+24
+33
+1
+-24
+-47
+25
+33
+2
+-24
+-46
+24
+33
+1
+-24
+-47
+25
+31
+1
+-25
+-46
+22
+31
+0
+-25
+-48
+22
+29
+1
+-15
+-38
+-58
+-74
+-88
+29
+55
+22
+-3
+-27
+-49
+-67
+-82
+30
+58
+25
+1
+-24
+-46
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+66
+32
+6
+-20
+-42
+-61
+-77
+40
+68
+33
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+43
+49
+14
+-13
+-37
+35
+41
+10
+-18
+-40
+29
+38
+5
+-21
+-44
+27
+35
+5
+-22
+-44
+25
+34
+2
+-23
+-46
+25
+32
+2
+-25
+-46
+23
+32
+0
+-25
+-47
+24
+31
+1
+-26
+-46
+22
+31
+-1
+-26
+-48
+23
+31
+1
+-26
+-47
+21
+30
+-1
+-26
+-48
+23
+30
+0
+-26
+-47
+22
+30
+-1
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-2
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-26
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+1
+-16
+-39
+-59
+-74
+-89
+29
+54
+22
+-3
+-28
+-49
+-67
+-82
+30
+57
+25
+1
+-25
+-47
+-65
+-80
+36
+63
+30
+4
+-21
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-18
+-42
+-60
+-76
+40
+67
+33
+8
+-18
+-42
+-59
+52
+29
+-2
+-27
+-48
+52
+26
+-3
+-29
+-49
+49
+25
+-6
+-30
+-51
+50
+24
+-5
+-31
+-50
+48
+23
+-7
+-31
+-52
+49
+22
+-7
+-31
+-51
+47
+22
+-8
+-31
+-52
+48
+21
+-7
+-32
+-52
+45
+22
+-8
+-32
+-53
+47
+21
+-8
+-33
+-52
+-70
+38
+61
+27
+2
+-24
+-46
+-64
+-80
+34
+62
+28
+4
+-22
+-44
+-62
+-79
+39
+66
+32
+6
+-19
+-42
+-61
+-77
+42
+68
+33
+7
+-19
+-42
+-60
+-76
+41
+68
+33
+8
+-18
+-42
+-60
+-76
+41
+68
+34
+8
+-18
+-41
+-60
+-76
+45
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+33
+8
+-18
+-41
+-59
+-76
+41
+68
+33
+8
+-18
+-41
+-59
+-76
+44
+70
+35
+8
+-18
+-41
+-59
+-76
+42
+68
+34
+8
+-18
+-41
+-59
+-76
+41
+68
+34
+8
+-18
+-41
+-59
+-76
+42
+69
+33
+2
+-23
+43
+50
+15
+-12
+-36
+36
+42
+10
+-18
+-40
+30
+38
+5
+-20
+-43
+27
+35
+4
+-23
+-44
+25
+34
+2
+-23
+-46
+26
+33
+2
+-24
+-45
+24
+32
+0
+-25
+-47
+24
+31
+1
+-25
+-46
+22
+31
+0
+-25
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+0
+-25
+-48
+23
+30
+0
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+21
+27
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-26
+-49
+21
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+21
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+21
+29
+-1
+-28
+-49
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+23
+30
+0
+-27
+-48
+20
+29
+-3
+-27
+-49
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+28
+-2
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+27
+-2
+-28
+-49
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+22
+30
+-1
+-26
+-48
+21
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-49
+23
+29
+0
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+30
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+28
+-2
+-28
+-49
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-48
+21
+27
+-2
+-28
+-49
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+31
+0
+-26
+-48
+21
+28
+-2
+-28
+-49
+21
+31
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-3
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+29
+-2
+-27
+-49
+21
+29
+0
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-49
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+-1
+-27
+-48
+20
+29
+-3
+-27
+-49
+22
+30
+0
+-27
+-47
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+20
+28
+-1
+-16
+-39
+-59
+-75
+-89
+29
+55
+22
+-3
+-28
+-49
+-66
+-82
+30
+58
+25
+1
+-24
+-47
+-64
+-80
+36
+63
+29
+4
+-21
+-44
+-62
+-78
+39
+65
+31
+6
+-19
+-43
+-61
+-77
+40
+67
+32
+7
+-19
+-42
+-60
+-77
+41
+68
+32
+1
+-24
+43
+49
+14
+-13
+-37
+34
+41
+10
+-18
+-40
+29
+38
+5
+-21
+-43
+27
+35
+4
+-23
+-44
+25
+35
+2
+-23
+-45
+25
+32
+2
+-24
+-46
+23
+32
+0
+-25
+-47
+24
+31
+1
+-25
+-47
+22
+30
+-1
+-26
+-48
+22
+30
+0
+-26
+-47
+21
+30
+-1
+-26
+-48
+23
+30
+0
+-27
+-47
+22
+30
+-1
+-26
+-48
+23
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+23
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-28
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+20
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+28
+-1
+-28
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+22
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+29
+-1
+-27
+-48
+21
+31
+-1
+-26
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-1
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+30
+-2
+-27
+-48
+21
+29
+-1
+-27
+-48
+21
+30
+-1
+-26
+-48
+22
+29
+-1
+-27
+-48
+21
+30
+-1
+-27
+-48
+22
+29
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+30
+0
+-27
+-48
+21
+30
+-2
+-27
+-49
+22
+29
+-1
+-27
+-48
+21
+29
+-2
+-27
+-49
+22
+29
+1
+-16
+-39
+-59
+-75
+-89
+29
+54
+21
+-3
+-28
+-49
+-67
+-82
+30
+58
+25
+0
+-25
+-47
+-64
+-80
+36
+63
+30
+5
+-21
+-44
+-62
+-78
+38
+65
+31
+6
+-20
+-43
+-61
+-77
+40
+67
+33
+7
+-19
+-42
+-60
+-77
+41
+67
+33
+8
+-18
+-41
+-59
+52
+29
+-2
+-27
+-48
+52
+25
+-4
+-29
+-49
+49
+25
+-6
+-29
+-50
+50
+23
+-6
+-31
+-50
+48
+23
+-7
+-31
+-51
+49
+22
+-7
+-32
+-51
+46
+22
+-8
+-32
+-52
+48
+21
+-7
+-32
+-51
+45
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+45
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+46
+22
+-8
+-32
+-52
+47
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+46
+21
+-8
+-32
+-53
+47
+20
+-8
+-33
+-53
+46
+22
+-8
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-33
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-8
+-32
+-53
+46
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-8
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
+20
+-9
+-33
+-52
+45
+21
+-9
+-32
+-53
+47
diff --git a/traces/modulation-fsk1a-50.pm3 b/traces/modulation-fsk1a-50.pm3
new file mode 100644 (file)
index 0000000..01153d4
--- /dev/null
@@ -0,0 +1,20000 @@
+45
+-7
+-49
+-85
+-82
+17
+77
+96
+40
+-11
+-52
+-88
+-86
+13
+72
+92
+36
+-14
+-55
+-91
+-87
+11
+71
+90
+34
+-16
+-56
+-91
+-90
+10
+68
+88
+33
+-17
+-57
+-92
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-91
+8
+68
+87
+32
+-18
+-58
+-93
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+6
+66
+85
+31
+-19
+-59
+-94
+-91
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-92
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-94
+-92
+7
+67
+85
+31
+-19
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-94
+-91
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-53
+-6
+-37
+-74
+-106
+-37
+16
+-12
+-54
+-88
+-24
+26
+-6
+-48
+-83
+-19
+30
+-1
+-45
+-79
+-14
+36
+3
+-39
+-76
+-11
+37
+6
+-38
+-74
+-9
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+43
+10
+-34
+-71
+-5
+44
+12
+-33
+-70
+-103
+-48
+45
+103
+122
+63
+9
+-35
+-74
+-64
+32
+91
+109
+52
+-1
+-44
+-81
+-75
+22
+81
+100
+43
+-8
+-50
+-86
+-82
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+13
+72
+91
+36
+-15
+-55
+-91
+-88
+11
+70
+90
+34
+-16
+-56
+-92
+-90
+9
+69
+88
+33
+-17
+-57
+-92
+-91
+9
+67
+87
+32
+-18
+-58
+-93
+-91
+8
+68
+88
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+6
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+6
+65
+85
+30
+-19
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-91
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+32
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-94
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-58
+-53
+-5
+-36
+-73
+-105
+-36
+16
+-13
+-55
+-88
+-25
+26
+-6
+-48
+-83
+-19
+31
+-1
+-44
+-79
+-15
+36
+4
+-39
+-76
+-11
+38
+6
+-38
+-74
+-10
+41
+8
+-36
+-73
+-7
+41
+10
+-35
+-71
+-6
+44
+11
+-33
+-71
+-5
+43
+13
+-33
+-69
+-6
+44
+11
+-33
+-70
+-4
+44
+12
+-33
+-69
+-4
+46
+12
+-32
+-70
+-3
+45
+14
+-32
+-69
+-4
+46
+13
+-32
+-69
+-3
+44
+13
+-33
+-69
+-4
+47
+12
+-32
+-69
+-3
+45
+14
+-32
+-69
+-3
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-69
+-102
+-47
+47
+105
+124
+65
+10
+-34
+-73
+-64
+33
+91
+109
+52
+-1
+-43
+-81
+-75
+23
+82
+101
+45
+-7
+-49
+-85
+-83
+15
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+72
+92
+36
+-14
+-55
+-91
+-88
+10
+70
+90
+35
+-16
+-56
+-92
+-91
+8
+68
+87
+32
+-17
+-58
+-93
+-90
+8
+69
+88
+33
+-17
+-57
+-92
+-91
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-91
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-17
+-58
+-93
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+66
+86
+32
+-18
+-58
+-93
+-93
+6
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-58
+-53
+-6
+-37
+-74
+-106
+-37
+16
+-12
+-54
+-88
+-25
+26
+-6
+-48
+-83
+-19
+31
+-1
+-44
+-79
+-15
+35
+3
+-40
+-76
+-11
+38
+6
+-38
+-74
+-9
+41
+8
+-35
+-72
+-7
+42
+10
+-36
+-71
+-6
+44
+10
+-33
+-71
+-5
+44
+12
+-34
+-70
+-103
+-48
+46
+104
+123
+63
+9
+-35
+-74
+-64
+32
+91
+109
+51
+-1
+-44
+-81
+-76
+22
+82
+100
+44
+-7
+-49
+-86
+-83
+15
+74
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+91
+36
+-15
+-55
+-91
+-88
+11
+70
+90
+34
+-16
+-56
+-92
+-90
+9
+69
+88
+33
+-17
+-57
+-93
+-91
+9
+68
+88
+32
+-17
+-58
+-93
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+87
+31
+-18
+-59
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+65
+85
+30
+-19
+-59
+-94
+-91
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+6
+66
+85
+31
+-19
+-59
+-94
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+65
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-54
+-5
+-36
+-73
+-105
+-36
+16
+-13
+-54
+-88
+-26
+25
+-7
+-48
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+4
+-40
+-76
+-11
+37
+6
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+41
+10
+-36
+-71
+-7
+44
+10
+-34
+-71
+-4
+43
+13
+-33
+-70
+-102
+-48
+45
+104
+122
+63
+9
+-35
+-73
+-65
+32
+91
+109
+52
+-1
+-44
+-81
+-76
+22
+80
+100
+44
+-8
+-49
+-86
+-83
+15
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+92
+37
+-14
+-55
+-90
+-88
+10
+70
+89
+34
+-16
+-57
+-51
+-4
+-35
+-72
+-104
+-35
+18
+-11
+-53
+-86
+-24
+27
+-6
+-47
+-83
+-17
+31
+0
+-44
+-78
+-14
+36
+3
+-39
+-76
+-10
+38
+6
+-38
+-74
+-9
+41
+8
+-35
+-72
+-7
+42
+10
+-35
+-71
+-6
+44
+11
+-33
+-70
+-5
+44
+12
+-34
+-71
+-103
+-48
+46
+104
+123
+64
+9
+-35
+-73
+-64
+32
+91
+109
+51
+-1
+-44
+-81
+-75
+23
+82
+100
+44
+-8
+-49
+-86
+-83
+15
+75
+95
+39
+-12
+-53
+-89
+-86
+13
+72
+91
+36
+-14
+-55
+-91
+-88
+11
+70
+90
+35
+-15
+-56
+-92
+-90
+9
+69
+88
+32
+-17
+-57
+-93
+-91
+9
+68
+88
+33
+-17
+-58
+-93
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-91
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+85
+30
+-19
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-91
+8
+67
+88
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+6
+45
+-6
+-48
+-50
+-1
+8
+-36
+-74
+-66
+-5
+17
+-29
+-67
+-54
+6
+23
+-23
+-63
+-50
+8
+28
+-20
+-59
+-46
+13
+29
+-17
+-58
+-44
+14
+33
+-16
+-56
+-43
+17
+33
+-14
+-55
+-40
+17
+35
+-13
+-54
+-41
+18
+34
+-13
+-54
+-39
+18
+36
+-13
+-53
+-39
+20
+36
+-11
+-53
+-39
+18
+37
+-12
+-53
+-39
+20
+37
+-11
+-52
+-39
+19
+38
+-11
+-52
+-39
+19
+36
+-11
+-53
+-38
+20
+38
+-11
+-51
+-38
+20
+36
+-11
+-53
+-38
+20
+39
+-11
+-51
+-38
+21
+37
+-11
+-52
+-38
+19
+58
+73
+22
+-25
+-64
+-98
+-63
+36
+96
+116
+57
+3
+-40
+-78
+-73
+24
+83
+102
+45
+-7
+-49
+-85
+-81
+17
+76
+95
+39
+-12
+-53
+-89
+-85
+13
+72
+92
+37
+-14
+-54
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-89
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+66
+86
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-91
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+65
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-94
+-93
+7
+66
+85
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-54
+-5
+-36
+-73
+-105
+-37
+15
+-13
+-54
+-88
+-25
+26
+-6
+-48
+-83
+-18
+30
+0
+-44
+-79
+-15
+36
+3
+-40
+-76
+-11
+37
+6
+-38
+-74
+-9
+41
+7
+-36
+-73
+-8
+41
+10
+-35
+-71
+-6
+44
+10
+-34
+-71
+-5
+44
+12
+-33
+-69
+-5
+45
+11
+-33
+-70
+-4
+45
+13
+-33
+-69
+-4
+45
+12
+-33
+-70
+-3
+45
+13
+-33
+-69
+-3
+46
+13
+-32
+-69
+-3
+44
+12
+-33
+-69
+-3
+47
+13
+-32
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+12
+-32
+-69
+-3
+46
+15
+-31
+-67
+-3
+46
+12
+-32
+-70
+-4
+45
+14
+-32
+-68
+-3
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-68
+-3
+47
+13
+-31
+-68
+-3
+45
+13
+-33
+-69
+-4
+46
+13
+-32
+-69
+-3
+45
+14
+-32
+-68
+-4
+46
+13
+-31
+-69
+-3
+45
+14
+-32
+-69
+-102
+-47
+48
+106
+124
+64
+10
+-35
+-73
+-64
+33
+91
+110
+53
+0
+-43
+-80
+-76
+22
+82
+100
+44
+-8
+-50
+-86
+-82
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-91
+-88
+11
+71
+90
+34
+-16
+-56
+-92
+-91
+8
+68
+88
+33
+-17
+-57
+-92
+-91
+9
+69
+87
+32
+-18
+-58
+-93
+-91
+8
+67
+88
+32
+-17
+-58
+-93
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-54
+-5
+-36
+-73
+-105
+-37
+16
+-13
+-54
+-88
+-25
+25
+-7
+-49
+-84
+-19
+31
+0
+-44
+-79
+-15
+36
+4
+-39
+-76
+-11
+37
+6
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+41
+10
+-35
+-71
+-7
+43
+10
+-33
+-71
+-5
+44
+12
+-33
+-70
+-103
+-49
+46
+104
+122
+63
+9
+-35
+-74
+-64
+32
+90
+109
+52
+-1
+-44
+-81
+-76
+22
+81
+100
+44
+-8
+-49
+-86
+-83
+15
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-15
+-55
+-91
+-88
+11
+70
+90
+34
+-16
+-56
+-92
+-91
+8
+67
+88
+32
+-17
+-58
+-93
+-90
+9
+69
+87
+32
+-17
+-58
+-93
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+6
+65
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-58
+-94
+-94
+6
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+46
+-5
+-47
+-50
+-2
+7
+-37
+-75
+-67
+-5
+17
+-29
+-67
+-53
+6
+23
+-23
+-63
+-50
+8
+27
+-20
+-60
+-47
+13
+30
+-17
+-58
+-44
+14
+32
+-16
+-56
+-43
+17
+33
+-14
+-55
+-41
+17
+36
+-13
+-53
+-41
+18
+35
+-13
+-54
+-40
+18
+58
+73
+22
+-26
+-64
+-98
+-64
+35
+95
+114
+56
+2
+-41
+-78
+-74
+24
+83
+102
+45
+-7
+-49
+-85
+-81
+17
+76
+95
+40
+-11
+-53
+-88
+-86
+13
+72
+92
+36
+-14
+-55
+-91
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+10
+69
+88
+33
+-17
+-57
+-92
+-91
+8
+68
+88
+32
+-17
+-58
+-93
+-91
+8
+67
+87
+32
+-17
+-58
+-93
+-91
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-54
+-7
+-38
+-75
+-106
+-37
+16
+-12
+-54
+-87
+-24
+27
+-7
+-48
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-11
+37
+6
+-39
+-74
+-9
+42
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-34
+-71
+-5
+44
+12
+-33
+-70
+-103
+-48
+45
+104
+123
+64
+9
+-35
+-73
+-64
+33
+91
+109
+52
+-1
+-44
+-81
+-76
+22
+81
+100
+43
+-8
+-50
+-86
+-83
+16
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-91
+-88
+11
+70
+89
+33
+-16
+-57
+-92
+-90
+9
+69
+88
+33
+-17
+-57
+-93
+-91
+8
+67
+87
+32
+-18
+-58
+-93
+-91
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+66
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-17
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+65
+85
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-54
+-6
+-37
+-74
+-106
+-37
+15
+-12
+-54
+-87
+-25
+26
+-7
+-49
+-84
+-19
+30
+0
+-44
+-78
+-15
+36
+3
+-40
+-76
+-11
+37
+6
+-38
+-74
+-9
+41
+8
+-36
+-73
+-7
+41
+10
+-35
+-71
+-6
+45
+11
+-33
+-71
+-5
+44
+12
+-34
+-71
+-103
+-48
+45
+104
+123
+64
+9
+-35
+-73
+-65
+32
+91
+109
+51
+-1
+-44
+-81
+-75
+23
+81
+100
+44
+-8
+-49
+-86
+-83
+16
+75
+94
+38
+-13
+-53
+-89
+-86
+13
+72
+92
+36
+-14
+-55
+-91
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+10
+46
+-4
+-47
+-49
+0
+9
+-35
+-74
+-65
+-3
+18
+-28
+-67
+-53
+6
+23
+-22
+-63
+-49
+10
+28
+-19
+-59
+-46
+13
+29
+-17
+-58
+-44
+14
+33
+-16
+-55
+-42
+17
+34
+-13
+-55
+-41
+17
+36
+-13
+-53
+-41
+18
+36
+-12
+-54
+-38
+18
+57
+72
+21
+-26
+-64
+-98
+-64
+36
+96
+115
+56
+3
+-40
+-78
+-74
+24
+83
+101
+45
+-7
+-49
+-85
+-81
+17
+77
+96
+40
+-11
+-53
+-88
+-86
+13
+73
+92
+36
+-14
+-55
+-91
+-88
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+9
+69
+88
+33
+-17
+-57
+-93
+-91
+8
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-91
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+6
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+85
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+46
+-5
+-47
+-50
+-2
+7
+-36
+-75
+-67
+-5
+17
+-29
+-67
+-54
+5
+22
+-23
+-63
+-50
+8
+28
+-20
+-59
+-47
+12
+30
+-17
+-58
+-45
+13
+32
+-16
+-56
+-43
+17
+33
+-13
+-55
+-42
+16
+35
+-14
+-54
+-41
+18
+35
+-12
+-54
+-39
+18
+58
+73
+22
+-25
+-64
+-98
+-64
+35
+95
+115
+56
+3
+-40
+-78
+-74
+24
+83
+101
+45
+-7
+-49
+-85
+-81
+17
+76
+95
+40
+-11
+-52
+-88
+-87
+13
+72
+92
+36
+-14
+-55
+-91
+-88
+11
+71
+90
+34
+-16
+-56
+-91
+-90
+9
+69
+89
+33
+-17
+-57
+-52
+-4
+-35
+-72
+-104
+-36
+16
+-12
+-54
+-87
+-25
+27
+-6
+-47
+-83
+-18
+31
+0
+-44
+-79
+-15
+36
+4
+-39
+-76
+-10
+38
+7
+-38
+-74
+-10
+41
+8
+-36
+-73
+-7
+41
+10
+-35
+-71
+-6
+44
+10
+-34
+-71
+-5
+43
+13
+-33
+-69
+-6
+45
+11
+-33
+-70
+-4
+45
+12
+-33
+-69
+-4
+46
+12
+-32
+-69
+-3
+45
+13
+-32
+-68
+-4
+46
+13
+-31
+-69
+-3
+44
+13
+-33
+-69
+-4
+47
+13
+-32
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-69
+-101
+-47
+47
+105
+124
+64
+10
+-34
+-72
+-64
+33
+92
+109
+52
+-1
+-43
+-80
+-75
+23
+82
+101
+45
+-7
+-49
+-85
+-83
+16
+75
+94
+38
+-12
+-53
+-89
+-85
+13
+72
+92
+36
+-14
+-55
+-90
+-89
+10
+70
+90
+34
+-16
+-56
+-91
+-91
+8
+68
+87
+32
+-17
+-58
+-93
+-90
+9
+69
+88
+33
+-17
+-57
+-93
+-91
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+66
+86
+31
+-18
+-58
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+66
+86
+31
+-19
+-59
+-94
+-93
+6
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+32
+-18
+-58
+-93
+-94
+6
+65
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+87
+31
+-18
+-59
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-17
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+66
+85
+30
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+5
+66
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+85
+30
+-19
+-59
+-94
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-94
+6
+65
+85
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+5
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+66
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-92
+7
+67
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+46
+-5
+-47
+-50
+-2
+6
+-38
+-76
+-68
+-5
+17
+-29
+-67
+-54
+6
+23
+-23
+-63
+-50
+8
+27
+-20
+-59
+-48
+13
+30
+-17
+-58
+-44
+13
+33
+-16
+-56
+-43
+17
+33
+-14
+-55
+-42
+16
+35
+-13
+-53
+-40
+19
+35
+-12
+-53
+-40
+18
+58
+73
+22
+-26
+-64
+-98
+-63
+36
+95
+115
+57
+3
+-40
+-78
+-74
+24
+83
+101
+45
+-7
+-49
+-85
+-82
+17
+76
+95
+39
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+89
+33
+-16
+-57
+-92
+-90
+10
+69
+88
+33
+-16
+-57
+-92
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-91
+9
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+68
+87
+32
+-17
+-58
+-93
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+65
+85
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-54
+-6
+-37
+-74
+-106
+-37
+16
+-13
+-54
+-88
+-26
+25
+-7
+-48
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-40
+-76
+-11
+37
+6
+-38
+-74
+-9
+42
+8
+-36
+-73
+-7
+41
+9
+-36
+-72
+-7
+45
+10
+-34
+-71
+-4
+43
+12
+-33
+-70
+-103
+-48
+46
+104
+123
+64
+10
+-35
+-73
+-65
+32
+91
+109
+51
+-1
+-44
+-81
+-75
+23
+81
+101
+44
+-7
+-49
+-85
+-83
+16
+75
+94
+38
+-13
+-53
+-89
+-86
+14
+72
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+90
+34
+-16
+-56
+-91
+-90
+9
+69
+88
+32
+-17
+-58
+-93
+-91
+9
+68
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+65
+85
+31
+-19
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-55
+-6
+-37
+-74
+-106
+-37
+16
+-13
+-54
+-88
+-26
+26
+-8
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-12
+36
+5
+-39
+-74
+-10
+42
+8
+-35
+-72
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-34
+-71
+-5
+44
+13
+-33
+-69
+-5
+43
+10
+-34
+-71
+-4
+44
+13
+-33
+-69
+-4
+46
+12
+-32
+-69
+-4
+45
+13
+-33
+-69
+-4
+46
+13
+-31
+-69
+-4
+45
+13
+-33
+-69
+-4
+46
+12
+-32
+-69
+-3
+46
+14
+-32
+-68
+-4
+47
+12
+-32
+-69
+-3
+45
+15
+-31
+-69
+-101
+-47
+48
+106
+124
+65
+10
+-34
+-72
+-64
+34
+93
+111
+53
+0
+-43
+-80
+-76
+23
+82
+101
+44
+-8
+-49
+-85
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+89
+34
+-16
+-56
+-92
+-91
+8
+67
+88
+32
+-17
+-57
+-93
+-91
+9
+69
+88
+32
+-17
+-58
+-93
+-91
+9
+68
+88
+32
+-17
+-57
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-92
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-55
+-6
+-38
+-75
+-106
+-37
+16
+-13
+-54
+-88
+-25
+26
+-7
+-48
+-84
+-19
+29
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-11
+37
+5
+-39
+-74
+-10
+41
+7
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+43
+12
+-33
+-70
+-103
+-48
+46
+104
+123
+64
+9
+-35
+-73
+-65
+33
+92
+109
+52
+-1
+-43
+-80
+-76
+22
+81
+100
+44
+-8
+-49
+-86
+-83
+16
+76
+94
+38
+-13
+-53
+-89
+-86
+13
+72
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+9
+69
+88
+33
+-17
+-57
+-92
+-91
+9
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+85
+30
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+6
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-54
+-5
+-37
+-74
+-106
+-38
+15
+-13
+-55
+-88
+-25
+26
+-7
+-48
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-12
+37
+6
+-38
+-74
+-10
+41
+7
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-34
+-71
+-5
+43
+12
+-33
+-70
+-102
+-49
+46
+105
+123
+64
+10
+-35
+-73
+-65
+33
+91
+109
+52
+-1
+-43
+-80
+-76
+22
+82
+100
+44
+-8
+-49
+-86
+-84
+16
+76
+94
+39
+-12
+-53
+-89
+-87
+13
+72
+91
+35
+-15
+-55
+-91
+-89
+11
+71
+90
+34
+-16
+-56
+-52
+-5
+-36
+-73
+-105
+-35
+17
+-11
+-53
+-86
+-24
+27
+-6
+-47
+-83
+-18
+31
+0
+-43
+-78
+-14
+37
+4
+-39
+-76
+-10
+37
+6
+-38
+-74
+-10
+42
+8
+-35
+-72
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-33
+-71
+-4
+43
+12
+-33
+-70
+-102
+-48
+45
+104
+123
+63
+9
+-35
+-73
+-65
+33
+91
+109
+52
+-1
+-43
+-80
+-76
+23
+82
+101
+44
+-8
+-49
+-85
+-83
+16
+76
+94
+38
+-12
+-53
+-89
+-87
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-91
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+9
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+85
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+32
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+46
+-5
+-48
+-51
+-2
+7
+-36
+-75
+-68
+-5
+17
+-29
+-67
+-55
+5
+22
+-23
+-63
+-50
+8
+28
+-20
+-59
+-47
+12
+29
+-17
+-58
+-45
+14
+33
+-16
+-55
+-43
+16
+33
+-14
+-55
+-42
+17
+35
+-14
+-54
+-41
+19
+36
+-12
+-53
+-39
+18
+36
+-13
+-53
+-40
+19
+36
+-11
+-53
+-39
+19
+37
+-12
+-52
+-39
+20
+36
+-11
+-53
+-39
+20
+38
+-11
+-51
+-38
+20
+36
+-11
+-53
+-39
+19
+37
+-12
+-52
+-39
+21
+37
+-11
+-52
+-38
+20
+37
+-12
+-52
+-40
+20
+37
+-10
+-52
+-37
+20
+58
+74
+23
+-25
+-63
+-97
+-63
+37
+97
+116
+57
+4
+-39
+-77
+-74
+25
+83
+102
+45
+-7
+-48
+-85
+-81
+18
+78
+97
+40
+-11
+-52
+-88
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-88
+11
+71
+91
+35
+-15
+-56
+-91
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-91
+8
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+65
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-94
+5
+66
+85
+30
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+85
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-55
+-6
+-37
+-74
+-106
+-37
+16
+-13
+-55
+-88
+-25
+25
+-8
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-40
+-76
+-12
+37
+5
+-39
+-75
+-10
+42
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+43
+10
+-34
+-71
+-5
+44
+12
+-33
+-69
+-5
+45
+11
+-33
+-70
+-5
+45
+13
+-33
+-69
+-4
+46
+13
+-32
+-69
+-3
+45
+12
+-33
+-69
+-4
+46
+13
+-31
+-68
+-3
+45
+13
+-33
+-69
+-5
+46
+12
+-32
+-69
+-3
+45
+13
+-32
+-68
+-3
+47
+13
+-32
+-69
+-3
+45
+14
+-32
+-68
+-4
+46
+12
+-32
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-32
+-69
+-3
+46
+14
+-32
+-68
+-4
+47
+14
+-31
+-69
+-3
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-69
+-101
+-47
+48
+106
+125
+65
+10
+-34
+-72
+-64
+34
+92
+110
+53
+0
+-43
+-80
+-76
+23
+83
+101
+45
+-7
+-49
+-85
+-83
+16
+76
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+91
+35
+-14
+-55
+-91
+-89
+10
+70
+90
+35
+-15
+-56
+-91
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+88
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+85
+30
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-56
+-6
+-37
+-74
+-106
+-37
+16
+-14
+-55
+-88
+-26
+26
+-7
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-16
+36
+4
+-39
+-76
+-11
+37
+5
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+13
+-33
+-70
+-102
+-48
+47
+104
+123
+63
+9
+-35
+-73
+-65
+33
+92
+110
+52
+0
+-43
+-80
+-76
+22
+82
+100
+44
+-7
+-49
+-86
+-83
+16
+76
+95
+38
+-12
+-53
+-89
+-87
+13
+72
+92
+36
+-14
+-55
+-91
+-89
+11
+71
+89
+34
+-16
+-56
+-91
+-92
+8
+68
+88
+32
+-17
+-57
+-93
+-91
+9
+69
+88
+32
+-17
+-57
+-93
+-92
+9
+69
+88
+32
+-17
+-57
+-92
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+68
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+32
+-18
+-58
+-93
+-94
+7
+67
+85
+30
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-94
+6
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-93
+-94
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+46
+-4
+-47
+-51
+-3
+6
+-37
+-75
+-69
+-6
+16
+-30
+-68
+-55
+5
+23
+-22
+-63
+-51
+8
+27
+-20
+-59
+-48
+12
+30
+-17
+-57
+-45
+14
+33
+-16
+-55
+-44
+16
+33
+-14
+-55
+-42
+16
+35
+-13
+-53
+-41
+18
+35
+-12
+-53
+-40
+18
+58
+73
+22
+-25
+-64
+-97
+-63
+35
+96
+115
+57
+3
+-40
+-77
+-74
+24
+84
+102
+45
+-6
+-48
+-85
+-81
+18
+77
+96
+40
+-11
+-52
+-88
+-87
+13
+73
+92
+36
+-14
+-55
+-91
+-89
+11
+70
+90
+34
+-16
+-56
+-91
+-90
+10
+69
+89
+33
+-16
+-57
+-92
+-92
+8
+68
+87
+32
+-17
+-58
+-92
+-92
+8
+68
+88
+32
+-18
+-58
+-93
+-92
+9
+68
+87
+32
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+32
+-18
+-58
+-54
+-7
+-38
+-75
+-106
+-38
+16
+-13
+-54
+-88
+-25
+26
+-7
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-40
+-76
+-11
+38
+6
+-39
+-74
+-9
+41
+7
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-33
+-71
+-5
+43
+12
+-33
+-70
+-102
+-49
+47
+105
+123
+64
+10
+-35
+-73
+-65
+33
+91
+109
+52
+-1
+-43
+-80
+-77
+23
+83
+101
+44
+-7
+-49
+-85
+-84
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+90
+35
+-15
+-56
+-91
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+9
+69
+88
+32
+-17
+-57
+-92
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+30
+-19
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-55
+-7
+-39
+-75
+-107
+-38
+16
+-13
+-54
+-87
+-25
+26
+-8
+-49
+-84
+-20
+30
+0
+-44
+-79
+-15
+37
+3
+-39
+-76
+-12
+37
+5
+-39
+-75
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+43
+10
+-34
+-71
+-5
+44
+12
+-33
+-70
+-102
+-49
+46
+105
+123
+63
+9
+-35
+-73
+-64
+33
+92
+111
+53
+0
+-43
+-80
+-77
+22
+82
+100
+44
+-8
+-49
+-85
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+90
+34
+-16
+-56
+-92
+-91
+9
+47
+-4
+-46
+-50
+-1
+7
+-36
+-74
+-67
+-4
+18
+-28
+-66
+-54
+7
+23
+-22
+-62
+-50
+8
+28
+-20
+-59
+-47
+13
+30
+-17
+-58
+-44
+14
+33
+-15
+-55
+-43
+17
+33
+-14
+-55
+-41
+17
+36
+-13
+-53
+-41
+18
+35
+-13
+-54
+-39
+17
+57
+73
+22
+-26
+-64
+-97
+-63
+37
+96
+115
+57
+3
+-40
+-77
+-74
+25
+84
+102
+46
+-6
+-48
+-84
+-82
+18
+77
+95
+40
+-11
+-53
+-88
+-86
+13
+74
+93
+37
+-14
+-54
+-90
+-89
+11
+71
+89
+34
+-16
+-56
+-92
+-90
+10
+69
+88
+33
+-16
+-57
+-92
+-93
+8
+69
+88
+32
+-17
+-57
+-92
+-92
+9
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-95
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-94
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+46
+-5
+-47
+-51
+-3
+6
+-37
+-75
+-68
+-5
+16
+-29
+-67
+-54
+5
+23
+-23
+-63
+-51
+8
+27
+-21
+-60
+-48
+12
+30
+-17
+-58
+-44
+14
+32
+-16
+-56
+-44
+16
+33
+-14
+-55
+-41
+17
+35
+-13
+-53
+-42
+18
+35
+-12
+-54
+-40
+18
+57
+74
+23
+-25
+-64
+-97
+-64
+36
+96
+115
+56
+3
+-40
+-78
+-74
+25
+84
+102
+46
+-6
+-48
+-84
+-82
+17
+77
+96
+40
+-11
+-52
+-88
+-87
+14
+72
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+35
+-15
+-56
+-91
+-91
+10
+69
+88
+33
+-16
+-57
+-54
+-4
+-35
+-72
+-104
+-36
+17
+-12
+-54
+-87
+-25
+26
+-7
+-48
+-84
+-19
+31
+0
+-44
+-79
+-15
+36
+3
+-39
+-76
+-11
+37
+6
+-38
+-74
+-10
+42
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+13
+-33
+-69
+-6
+44
+10
+-34
+-71
+-4
+45
+13
+-33
+-69
+-4
+47
+12
+-32
+-69
+-5
+45
+13
+-33
+-69
+-3
+47
+13
+-31
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+46
+14
+-32
+-68
+-4
+46
+13
+-32
+-69
+-3
+46
+15
+-31
+-68
+-101
+-47
+48
+106
+123
+64
+9
+-34
+-73
+-64
+34
+93
+111
+54
+0
+-42
+-80
+-76
+23
+82
+101
+44
+-7
+-49
+-85
+-84
+16
+76
+95
+39
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+12
+71
+89
+34
+-16
+-56
+-92
+-92
+9
+68
+88
+33
+-17
+-57
+-92
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+9
+68
+88
+32
+-17
+-57
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+85
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-17
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+66
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-95
+6
+65
+85
+30
+-19
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+30
+-19
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-19
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+30
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+32
+-17
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-94
+8
+68
+86
+31
+-18
+-59
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+46
+-5
+-47
+-52
+-3
+6
+-37
+-75
+-68
+-5
+16
+-30
+-67
+-55
+5
+22
+-23
+-63
+-51
+8
+28
+-20
+-59
+-48
+13
+30
+-17
+-57
+-45
+14
+32
+-16
+-56
+-43
+16
+33
+-14
+-55
+-42
+16
+35
+-13
+-53
+-42
+18
+35
+-12
+-53
+-40
+18
+58
+74
+23
+-25
+-64
+-97
+-64
+35
+96
+116
+57
+3
+-40
+-77
+-73
+25
+84
+101
+45
+-7
+-49
+-85
+-82
+17
+77
+96
+40
+-11
+-52
+-88
+-87
+13
+73
+92
+36
+-14
+-55
+-90
+-88
+12
+71
+90
+35
+-15
+-56
+-91
+-91
+10
+70
+89
+33
+-17
+-57
+-92
+-92
+8
+67
+87
+32
+-17
+-58
+-93
+-93
+8
+68
+88
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-95
+6
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-95
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+87
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-55
+-7
+-39
+-76
+-107
+-38
+16
+-13
+-55
+-88
+-25
+26
+-7
+-49
+-84
+-20
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-12
+37
+5
+-39
+-74
+-10
+41
+8
+-35
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+12
+-33
+-70
+-102
+-48
+46
+105
+124
+64
+9
+-35
+-73
+-65
+34
+93
+111
+53
+0
+-43
+-80
+-76
+23
+82
+100
+43
+-8
+-49
+-86
+-84
+16
+76
+95
+39
+-12
+-53
+-89
+-87
+12
+73
+92
+37
+-14
+-54
+-90
+-90
+11
+71
+89
+33
+-16
+-56
+-92
+-91
+9
+69
+89
+33
+-16
+-56
+-92
+-92
+9
+69
+87
+31
+-18
+-58
+-93
+-92
+9
+68
+88
+32
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+32
+-17
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-19
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-94
+-94
+8
+68
+87
+31
+-18
+-59
+-94
+-94
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-55
+-6
+-37
+-74
+-106
+-37
+15
+-14
+-55
+-88
+-26
+26
+-7
+-48
+-84
+-20
+30
+-1
+-44
+-79
+-16
+36
+3
+-40
+-76
+-12
+38
+6
+-38
+-74
+-10
+40
+7
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-34
+-71
+-5
+44
+13
+-33
+-69
+-5
+45
+11
+-33
+-70
+-5
+45
+12
+-33
+-69
+-5
+46
+12
+-32
+-69
+-3
+45
+13
+-33
+-69
+-5
+46
+13
+-32
+-69
+-4
+45
+12
+-33
+-69
+-4
+47
+13
+-32
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+46
+14
+-32
+-69
+-101
+-46
+48
+106
+125
+65
+11
+-33
+-72
+-64
+34
+93
+111
+53
+0
+-43
+-80
+-76
+24
+82
+101
+45
+-7
+-49
+-85
+-84
+15
+75
+95
+38
+-12
+-53
+-89
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+35
+-15
+-56
+-91
+-92
+8
+68
+88
+33
+-17
+-57
+-93
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+9
+68
+88
+32
+-17
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-94
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-94
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-55
+-6
+-38
+-75
+-107
+-38
+16
+-13
+-55
+-88
+-26
+26
+-7
+-49
+-84
+-20
+30
+-1
+-44
+-79
+-15
+35
+2
+-40
+-77
+-11
+38
+5
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+45
+11
+-33
+-70
+-5
+44
+12
+-34
+-71
+-103
+-48
+47
+105
+124
+64
+10
+-34
+-72
+-65
+33
+92
+109
+52
+0
+-43
+-80
+-76
+23
+83
+101
+44
+-8
+-49
+-85
+-84
+16
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-90
+11
+71
+90
+34
+-16
+-56
+-92
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+9
+69
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+88
+32
+-18
+-58
+-93
+-92
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+6
+67
+86
+31
+-18
+-59
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+6
+66
+86
+31
+-18
+-59
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-95
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+88
+32
+-18
+-58
+-93
+-94
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-56
+-6
+-37
+-74
+-106
+-37
+16
+-14
+-55
+-89
+-26
+25
+-8
+-49
+-84
+-19
+31
+-1
+-44
+-79
+-16
+36
+3
+-40
+-76
+-12
+37
+6
+-38
+-74
+-10
+41
+8
+-36
+-73
+-8
+41
+9
+-35
+-71
+-7
+43
+10
+-33
+-71
+-5
+43
+12
+-34
+-71
+-103
+-49
+47
+106
+124
+64
+10
+-34
+-73
+-64
+33
+92
+110
+52
+0
+-43
+-80
+-76
+23
+83
+101
+44
+-7
+-49
+-85
+-84
+16
+75
+94
+38
+-12
+-53
+-89
+-87
+14
+74
+93
+37
+-14
+-54
+-90
+-89
+11
+70
+89
+34
+-16
+-56
+-52
+-5
+-37
+-73
+-105
+-37
+17
+-12
+-54
+-87
+-24
+27
+-6
+-47
+-83
+-19
+31
+0
+-44
+-78
+-15
+35
+3
+-40
+-76
+-10
+38
+6
+-38
+-74
+-9
+41
+8
+-35
+-72
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-33
+-71
+-5
+44
+12
+-33
+-70
+-103
+-48
+47
+106
+124
+64
+10
+-34
+-72
+-65
+33
+92
+109
+52
+-1
+-43
+-80
+-76
+23
+83
+101
+44
+-8
+-49
+-85
+-84
+16
+76
+95
+39
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-91
+-90
+11
+71
+90
+34
+-16
+-56
+-92
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+10
+69
+88
+32
+-17
+-57
+-93
+-93
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-94
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-94
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+46
+-6
+-47
+-52
+-3
+7
+-37
+-75
+-68
+-5
+17
+-29
+-67
+-55
+5
+22
+-23
+-63
+-51
+8
+27
+-20
+-59
+-47
+12
+29
+-17
+-58
+-45
+14
+32
+-16
+-56
+-44
+17
+33
+-14
+-55
+-41
+17
+36
+-13
+-54
+-42
+18
+35
+-12
+-54
+-39
+18
+37
+-12
+-53
+-40
+20
+37
+-11
+-53
+-39
+18
+37
+-12
+-52
+-40
+20
+37
+-10
+-52
+-39
+18
+37
+-12
+-52
+-39
+21
+37
+-11
+-52
+-38
+19
+38
+-11
+-51
+-40
+20
+37
+-10
+-52
+-38
+19
+38
+-11
+-51
+-39
+20
+36
+-11
+-53
+-38
+19
+59
+75
+23
+-24
+-63
+-97
+-63
+37
+97
+116
+57
+3
+-40
+-77
+-74
+25
+84
+103
+46
+-6
+-48
+-84
+-82
+18
+77
+96
+40
+-11
+-52
+-88
+-86
+14
+73
+93
+37
+-14
+-55
+-90
+-89
+12
+71
+90
+34
+-16
+-56
+-91
+-91
+10
+69
+89
+33
+-17
+-57
+-92
+-92
+8
+69
+88
+33
+-17
+-57
+-92
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+68
+88
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-94
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+8
+67
+87
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-94
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-56
+-6
+-37
+-74
+-106
+-38
+16
+-14
+-55
+-89
+-26
+25
+-7
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-16
+36
+3
+-40
+-76
+-11
+38
+6
+-38
+-74
+-10
+41
+7
+-36
+-73
+-7
+42
+9
+-36
+-71
+-6
+45
+10
+-33
+-71
+-5
+44
+13
+-33
+-69
+-6
+45
+11
+-33
+-70
+-4
+44
+12
+-33
+-69
+-5
+46
+12
+-32
+-70
+-4
+45
+14
+-32
+-68
+-4
+47
+13
+-31
+-69
+-4
+44
+12
+-33
+-69
+-4
+47
+12
+-32
+-69
+-3
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+46
+15
+-31
+-67
+-4
+46
+12
+-32
+-70
+-3
+45
+14
+-32
+-68
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-68
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+46
+14
+-32
+-68
+-4
+47
+12
+-32
+-69
+-3
+46
+14
+-32
+-69
+-101
+-46
+48
+106
+124
+65
+10
+-34
+-72
+-64
+34
+93
+111
+53
+0
+-43
+-80
+-75
+23
+82
+101
+44
+-7
+-49
+-85
+-83
+16
+77
+95
+39
+-11
+-53
+-88
+-86
+13
+73
+93
+36
+-14
+-54
+-90
+-89
+11
+71
+89
+34
+-16
+-56
+-92
+-92
+9
+68
+88
+33
+-17
+-57
+-92
+-92
+9
+69
+88
+32
+-17
+-58
+-93
+-92
+9
+69
+88
+33
+-17
+-57
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-94
+-93
+9
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-95
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-94
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-55
+-6
+-37
+-74
+-106
+-37
+15
+-13
+-55
+-88
+-26
+25
+-8
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-16
+36
+2
+-40
+-77
+-11
+37
+6
+-38
+-74
+-9
+42
+7
+-36
+-73
+-8
+41
+9
+-36
+-71
+-6
+44
+10
+-34
+-71
+-5
+43
+12
+-33
+-70
+-102
+-48
+47
+105
+124
+64
+9
+-35
+-73
+-65
+33
+92
+109
+52
+-1
+-43
+-80
+-76
+22
+82
+101
+45
+-7
+-49
+-85
+-84
+16
+75
+94
+38
+-12
+-53
+-89
+-86
+14
+73
+92
+37
+-14
+-54
+-90
+-90
+11
+71
+90
+34
+-16
+-56
+-91
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+9
+68
+88
+32
+-17
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+87
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-94
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-17
+-58
+-93
+-94
+6
+66
+86
+30
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+30
+-19
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+45
+-5
+-47
+-52
+-3
+6
+-38
+-76
+-68
+-5
+16
+-29
+-67
+-56
+5
+23
+-23
+-63
+-51
+8
+27
+-20
+-60
+-48
+13
+30
+-17
+-58
+-45
+14
+32
+-16
+-56
+-44
+17
+34
+-13
+-55
+-41
+17
+35
+-14
+-54
+-42
+18
+35
+-13
+-54
+-40
+18
+58
+74
+23
+-25
+-64
+-97
+-64
+36
+96
+115
+57
+3
+-40
+-78
+-73
+25
+84
+102
+45
+-6
+-48
+-85
+-82
+18
+77
+95
+40
+-11
+-52
+-88
+-87
+14
+73
+92
+36
+-14
+-55
+-91
+-89
+11
+71
+91
+35
+-15
+-56
+-91
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+88
+32
+-18
+-58
+-93
+-93
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-56
+-8
+-39
+-75
+-107
+-38
+16
+-13
+-54
+-87
+-25
+26
+-7
+-48
+-84
+-20
+31
+-1
+-44
+-79
+-15
+36
+3
+-40
+-76
+-11
+38
+6
+-39
+-74
+-10
+41
+8
+-35
+-72
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+12
+-33
+-70
+-102
+-48
+47
+105
+124
+64
+9
+-35
+-73
+-65
+34
+92
+109
+52
+-1
+-43
+-80
+-76
+23
+82
+101
+44
+-8
+-49
+-85
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-87
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+90
+34
+-16
+-56
+-92
+-91
+9
+69
+89
+33
+-17
+-57
+-92
+-92
+9
+68
+88
+32
+-17
+-58
+-93
+-92
+9
+69
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-94
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+85
+30
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-56
+-7
+-38
+-75
+-107
+-38
+16
+-13
+-55
+-88
+-25
+26
+-7
+-48
+-83
+-19
+31
+-1
+-44
+-79
+-16
+35
+3
+-40
+-77
+-11
+38
+6
+-38
+-74
+-10
+41
+8
+-36
+-73
+-7
+41
+9
+-36
+-72
+-7
+45
+11
+-33
+-71
+-5
+43
+12
+-33
+-70
+-103
+-48
+47
+105
+123
+64
+10
+-35
+-73
+-65
+33
+91
+109
+52
+-1
+-44
+-81
+-76
+23
+82
+101
+44
+-8
+-49
+-85
+-83
+16
+76
+95
+39
+-12
+-53
+-88
+-87
+14
+73
+91
+35
+-15
+-55
+-91
+-89
+11
+71
+90
+35
+-16
+-56
+-91
+-92
+9
+47
+-4
+-46
+-50
+0
+8
+-35
+-74
+-66
+-4
+18
+-28
+-66
+-54
+6
+23
+-22
+-62
+-50
+9
+29
+-19
+-59
+-46
+12
+29
+-17
+-58
+-45
+14
+33
+-16
+-55
+-42
+17
+34
+-13
+-54
+-42
+16
+35
+-13
+-54
+-41
+18
+36
+-11
+-53
+-39
+18
+57
+72
+21
+-26
+-64
+-98
+-64
+36
+97
+116
+57
+3
+-40
+-77
+-74
+24
+83
+101
+45
+-7
+-49
+-85
+-81
+17
+77
+96
+40
+-11
+-52
+-88
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-88
+12
+71
+91
+35
+-15
+-56
+-91
+-91
+10
+69
+89
+33
+-16
+-57
+-92
+-92
+8
+69
+88
+32
+-17
+-58
+-93
+-91
+9
+68
+88
+32
+-17
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+68
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+46
+-5
+-47
+-51
+-2
+6
+-37
+-75
+-67
+-5
+17
+-29
+-67
+-55
+6
+23
+-23
+-63
+-50
+8
+27
+-20
+-59
+-48
+13
+29
+-17
+-58
+-45
+13
+32
+-16
+-56
+-43
+17
+33
+-14
+-55
+-42
+16
+35
+-13
+-53
+-41
+19
+36
+-12
+-53
+-40
+18
+58
+74
+22
+-25
+-64
+-97
+-64
+36
+96
+115
+57
+4
+-40
+-78
+-74
+25
+83
+102
+45
+-6
+-48
+-85
+-82
+18
+78
+95
+39
+-12
+-53
+-88
+-87
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+35
+-15
+-56
+-92
+-90
+10
+70
+89
+34
+-16
+-56
+-54
+-4
+-36
+-73
+-104
+-37
+16
+-12
+-54
+-87
+-24
+27
+-6
+-48
+-83
+-20
+31
+-1
+-44
+-79
+-15
+36
+4
+-39
+-76
+-11
+38
+6
+-38
+-74
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+43
+10
+-34
+-71
+-5
+43
+12
+-33
+-70
+-5
+45
+11
+-33
+-70
+-4
+45
+13
+-33
+-69
+-5
+46
+12
+-32
+-70
+-3
+45
+13
+-33
+-69
+-4
+46
+13
+-32
+-69
+-4
+45
+13
+-33
+-69
+-4
+46
+12
+-32
+-69
+-4
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-32
+-69
+-102
+-47
+48
+106
+124
+65
+10
+-34
+-72
+-64
+33
+92
+111
+53
+0
+-43
+-80
+-75
+23
+83
+101
+45
+-7
+-49
+-85
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+35
+-15
+-56
+-91
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+68
+88
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-94
+8
+67
+86
+31
+-18
+-59
+-93
+-94
+6
+66
+86
+30
+-19
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+66
+85
+30
+-19
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-95
+6
+65
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+46
+-5
+-47
+-52
+-3
+6
+-37
+-76
+-68
+-5
+16
+-29
+-67
+-55
+6
+23
+-22
+-63
+-50
+8
+27
+-20
+-59
+-48
+13
+30
+-17
+-57
+-44
+13
+32
+-16
+-56
+-44
+16
+33
+-14
+-55
+-41
+17
+36
+-13
+-53
+-42
+18
+35
+-12
+-54
+-40
+18
+58
+74
+22
+-25
+-64
+-97
+-64
+36
+96
+115
+56
+3
+-40
+-78
+-74
+25
+84
+102
+46
+-6
+-48
+-84
+-82
+17
+76
+94
+38
+-12
+-53
+-89
+-87
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+10
+70
+89
+33
+-16
+-57
+-92
+-92
+8
+68
+88
+32
+-17
+-57
+-92
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-92
+8
+68
+88
+33
+-17
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+6
+65
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+31
+-18
+-59
+-93
+-93
+7
+67
+85
+30
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-94
+7
+66
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-54
+-7
+-38
+-75
+-106
+-37
+16
+-12
+-54
+-88
+-24
+26
+-7
+-48
+-83
+-19
+31
+-1
+-44
+-79
+-16
+35
+2
+-40
+-76
+-11
+38
+5
+-39
+-74
+-10
+41
+7
+-36
+-73
+-7
+42
+9
+-36
+-72
+-7
+44
+10
+-33
+-71
+-5
+44
+11
+-34
+-71
+-103
+-48
+47
+104
+123
+64
+9
+-35
+-73
+-65
+32
+91
+109
+52
+-1
+-44
+-80
+-76
+23
+82
+100
+44
+-8
+-49
+-85
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+35
+-14
+-55
+-91
+-89
+11
+71
+90
+35
+-15
+-56
+-91
+-91
+9
+69
+88
+33
+-17
+-57
+-93
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+65
+85
+31
+-19
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-56
+-6
+-37
+-74
+-106
+-37
+16
+-13
+-55
+-88
+-26
+25
+-7
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-16
+35
+3
+-39
+-76
+-11
+36
+5
+-39
+-74
+-10
+42
+8
+-36
+-72
+-7
+41
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+43
+13
+-33
+-69
+-6
+45
+11
+-33
+-71
+-4
+45
+13
+-32
+-69
+-4
+47
+12
+-32
+-70
+-4
+45
+13
+-32
+-69
+-4
+47
+13
+-32
+-69
+-4
+45
+13
+-33
+-69
+-4
+47
+13
+-32
+-69
+-3
+45
+14
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+46
+14
+-32
+-69
+-101
+-46
+48
+106
+124
+65
+10
+-34
+-72
+-64
+34
+93
+109
+52
+-1
+-43
+-80
+-76
+23
+82
+101
+44
+-7
+-49
+-85
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+37
+-14
+-54
+-90
+-89
+11
+70
+89
+34
+-16
+-56
+-92
+-91
+8
+67
+88
+33
+-17
+-58
+-92
+-91
+8
+69
+88
+33
+-17
+-57
+-93
+-92
+9
+68
+87
+32
+-17
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-55
+-7
+-38
+-75
+-106
+-37
+16
+-12
+-54
+-87
+-25
+26
+-7
+-48
+-84
+-20
+31
+0
+-44
+-79
+-15
+36
+3
+-39
+-76
+-11
+37
+5
+-39
+-75
+-10
+41
+8
+-35
+-72
+-7
+42
+10
+-35
+-71
+-7
+43
+10
+-34
+-71
+-5
+44
+12
+-33
+-70
+-102
+-48
+46
+104
+123
+64
+9
+-35
+-73
+-64
+33
+91
+109
+52
+-1
+-43
+-80
+-76
+22
+81
+100
+43
+-8
+-50
+-86
+-83
+16
+75
+95
+39
+-12
+-53
+-88
+-87
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+89
+34
+-16
+-56
+-92
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-91
+9
+68
+88
+32
+-17
+-57
+-92
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+68
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+87
+31
+-18
+-59
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-94
+7
+66
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-95
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-55
+-6
+-37
+-74
+-106
+-38
+16
+-13
+-55
+-88
+-25
+26
+-7
+-48
+-84
+-20
+30
+-1
+-44
+-79
+-16
+36
+3
+-40
+-76
+-11
+37
+6
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+43
+13
+-33
+-70
+-102
+-48
+47
+105
+123
+63
+9
+-35
+-73
+-65
+33
+92
+109
+52
+-1
+-43
+-80
+-76
+22
+81
+100
+44
+-7
+-49
+-85
+-84
+16
+76
+95
+38
+-12
+-53
+-89
+-87
+13
+72
+92
+36
+-14
+-55
+-91
+-89
+11
+71
+90
+34
+-16
+-56
+-52
+-5
+-36
+-73
+-105
+-36
+18
+-11
+-53
+-86
+-24
+27
+-6
+-47
+-83
+-19
+31
+0
+-44
+-78
+-14
+37
+4
+-39
+-76
+-10
+38
+5
+-39
+-74
+-9
+41
+8
+-35
+-72
+-6
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-4
+44
+12
+-33
+-70
+-103
+-48
+46
+104
+123
+64
+9
+-35
+-73
+-65
+33
+92
+109
+52
+-1
+-43
+-80
+-75
+23
+82
+100
+43
+-8
+-50
+-86
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+70
+90
+34
+-16
+-56
+-92
+-91
+10
+69
+88
+33
+-17
+-57
+-92
+-91
+9
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-17
+-58
+-93
+-95
+6
+66
+86
+30
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+45
+-5
+-47
+-51
+-2
+6
+-37
+-75
+-67
+-6
+16
+-30
+-67
+-54
+6
+23
+-23
+-63
+-50
+8
+27
+-20
+-59
+-47
+12
+29
+-18
+-58
+-44
+14
+33
+-15
+-55
+-43
+16
+33
+-14
+-55
+-42
+16
+36
+-13
+-53
+-40
+19
+35
+-12
+-54
+-39
+18
+36
+-13
+-53
+-40
+20
+37
+-11
+-53
+-39
+19
+37
+-12
+-53
+-40
+19
+36
+-11
+-53
+-38
+20
+38
+-11
+-51
+-38
+20
+36
+-12
+-53
+-39
+19
+38
+-11
+-52
+-38
+21
+37
+-10
+-52
+-39
+19
+38
+-11
+-52
+-39
+20
+37
+-10
+-52
+-38
+19
+59
+73
+22
+-26
+-64
+-98
+-63
+37
+97
+116
+58
+4
+-39
+-77
+-74
+25
+84
+102
+45
+-7
+-49
+-85
+-81
+18
+77
+96
+40
+-11
+-52
+-88
+-86
+14
+74
+93
+37
+-14
+-55
+-90
+-88
+12
+71
+90
+35
+-15
+-56
+-91
+-90
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+8
+68
+87
+32
+-17
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+65
+86
+30
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-55
+-6
+-37
+-74
+-106
+-37
+15
+-13
+-55
+-88
+-26
+25
+-8
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-12
+37
+5
+-39
+-74
+-10
+42
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+44
+10
+-33
+-71
+-5
+44
+13
+-33
+-69
+-5
+45
+10
+-33
+-71
+-4
+45
+13
+-33
+-69
+-4
+47
+12
+-32
+-70
+-4
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-68
+-4
+46
+12
+-32
+-69
+-3
+45
+15
+-31
+-68
+-3
+46
+12
+-32
+-69
+-3
+45
+14
+-32
+-69
+-3
+47
+13
+-32
+-69
+-3
+45
+14
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-69
+-102
+-46
+48
+107
+125
+65
+11
+-34
+-72
+-64
+33
+92
+110
+52
+-1
+-43
+-80
+-75
+23
+82
+101
+45
+-7
+-49
+-85
+-83
+16
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+35
+-15
+-56
+-92
+-91
+8
+67
+87
+32
+-17
+-58
+-93
+-91
+9
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+87
+32
+-17
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+87
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-55
+-7
+-37
+-74
+-106
+-37
+16
+-13
+-55
+-88
+-25
+25
+-8
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+4
+-39
+-76
+-12
+37
+6
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+13
+-33
+-70
+-102
+-48
+47
+105
+123
+64
+10
+-35
+-73
+-65
+33
+91
+109
+52
+-1
+-44
+-81
+-76
+22
+81
+100
+44
+-8
+-49
+-86
+-83
+16
+75
+94
+38
+-12
+-53
+-89
+-86
+13
+73
+92
+37
+-14
+-55
+-90
+-89
+11
+70
+89
+34
+-16
+-56
+-92
+-91
+8
+68
+88
+33
+-17
+-57
+-92
+-91
+9
+68
+87
+32
+-17
+-58
+-93
+-91
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+85
+30
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+85
+30
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+30
+-19
+-59
+-94
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+46
+-4
+-47
+-51
+-2
+6
+-37
+-75
+-68
+-6
+16
+-29
+-67
+-54
+6
+23
+-23
+-63
+-51
+8
+27
+-20
+-60
+-48
+13
+30
+-17
+-58
+-45
+14
+33
+-16
+-56
+-43
+16
+33
+-14
+-55
+-41
+17
+36
+-13
+-53
+-41
+18
+35
+-12
+-53
+-40
+18
+58
+74
+22
+-25
+-64
+-97
+-64
+36
+96
+115
+56
+3
+-40
+-78
+-74
+24
+83
+102
+45
+-7
+-48
+-85
+-82
+18
+77
+95
+39
+-12
+-53
+-88
+-86
+13
+73
+93
+37
+-14
+-55
+-90
+-89
+11
+70
+89
+34
+-16
+-56
+-92
+-90
+10
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-91
+8
+67
+88
+32
+-17
+-58
+-93
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-54
+-6
+-39
+-75
+-107
+-38
+16
+-13
+-54
+-88
+-24
+26
+-7
+-48
+-83
+-20
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-11
+37
+5
+-39
+-74
+-10
+41
+8
+-35
+-72
+-7
+41
+10
+-35
+-71
+-6
+45
+10
+-34
+-71
+-5
+43
+12
+-34
+-70
+-103
+-48
+47
+105
+124
+64
+9
+-35
+-73
+-65
+33
+91
+109
+51
+-1
+-44
+-81
+-75
+22
+82
+100
+44
+-8
+-49
+-85
+-84
+16
+76
+95
+39
+-12
+-53
+-89
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-91
+9
+68
+88
+32
+-17
+-57
+-92
+-91
+9
+69
+88
+32
+-17
+-57
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-19
+-59
+-55
+-7
+-38
+-74
+-106
+-37
+16
+-12
+-54
+-87
+-25
+25
+-8
+-49
+-84
+-19
+30
+-1
+-44
+-79
+-15
+36
+3
+-40
+-76
+-11
+37
+5
+-39
+-74
+-10
+42
+9
+-35
+-72
+-6
+41
+10
+-35
+-71
+-7
+44
+9
+-34
+-71
+-5
+44
+12
+-33
+-70
+-102
+-48
+45
+104
+123
+63
+9
+-35
+-73
+-65
+33
+91
+109
+52
+-1
+-43
+-80
+-76
+22
+82
+100
+44
+-8
+-49
+-85
+-83
+16
+76
+94
+38
+-12
+-53
+-89
+-86
+14
+73
+93
+37
+-13
+-54
+-90
+-89
+11
+71
+89
+33
+-16
+-56
+-92
+-91
+9
+47
+-4
+-46
+-49
+-1
+8
+-35
+-74
+-66
+-4
+17
+-28
+-67
+-53
+7
+24
+-22
+-62
+-50
+9
+27
+-20
+-59
+-46
+13
+30
+-17
+-58
+-44
+14
+33
+-15
+-55
+-43
+16
+33
+-14
+-55
+-40
+17
+36
+-13
+-53
+-41
+19
+35
+-12
+-53
+-39
+18
+57
+73
+22
+-25
+-64
+-97
+-63
+36
+96
+115
+57
+3
+-40
+-78
+-73
+25
+83
+102
+45
+-6
+-48
+-85
+-82
+17
+76
+95
+39
+-12
+-53
+-88
+-86
+13
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+9
+69
+88
+32
+-17
+-58
+-93
+-91
+8
+69
+88
+33
+-17
+-57
+-92
+-92
+8
+68
+86
+31
+-18
+-58
+-93
+-92
+8
+68
+87
+32
+-17
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-92
+7
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+6
+65
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+46
+-5
+-47
+-51
+-2
+5
+-38
+-76
+-68
+-5
+17
+-29
+-67
+-54
+6
+23
+-23
+-63
+-51
+8
+27
+-20
+-59
+-47
+13
+30
+-17
+-57
+-44
+13
+32
+-16
+-56
+-43
+16
+33
+-14
+-55
+-41
+17
+36
+-13
+-53
+-41
+18
+35
+-13
+-54
+-40
+18
+58
+73
+22
+-25
+-64
+-97
+-64
+34
+95
+115
+56
+2
+-41
+-78
+-74
+25
+84
+102
+45
+-7
+-48
+-85
+-82
+17
+76
+96
+40
+-11
+-52
+-88
+-87
+13
+73
+92
+36
+-14
+-55
+-90
+-88
+12
+71
+90
+35
+-15
+-56
+-91
+-90
+10
+69
+89
+33
+-17
+-57
+-53
+-4
+-35
+-72
+-104
+-36
+17
+-12
+-54
+-87
+-25
+26
+-6
+-48
+-83
+-19
+31
+0
+-43
+-78
+-15
+36
+3
+-39
+-76
+-11
+38
+6
+-39
+-74
+-9
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+12
+-33
+-69
+-6
+45
+11
+-33
+-71
+-4
+45
+14
+-32
+-69
+-4
+47
+12
+-32
+-70
+-3
+45
+13
+-33
+-69
+-4
+47
+14
+-31
+-69
+-3
+45
+13
+-33
+-69
+-4
+47
+13
+-31
+-69
+-3
+45
+13
+-32
+-68
+-4
+47
+13
+-31
+-69
+-3
+45
+14
+-31
+-69
+-101
+-47
+47
+105
+124
+64
+9
+-35
+-73
+-64
+34
+93
+110
+52
+-1
+-43
+-80
+-76
+22
+81
+101
+45
+-7
+-49
+-85
+-83
+16
+76
+94
+38
+-12
+-53
+-89
+-86
+14
+73
+93
+37
+-14
+-54
+-90
+-89
+11
+70
+89
+34
+-16
+-56
+-92
+-92
+8
+68
+88
+32
+-17
+-57
+-93
+-91
+9
+68
+88
+33
+-17
+-57
+-93
+-92
+9
+68
+87
+32
+-17
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+32
+-18
+-58
+-93
+-94
+6
+66
+85
+30
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+87
+32
+-17
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+8
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+66
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+5
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+87
+31
+-18
+-58
+-93
+-94
+7
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+45
+-5
+-47
+-51
+-2
+6
+-38
+-76
+-67
+-5
+17
+-29
+-67
+-54
+6
+23
+-23
+-63
+-51
+8
+28
+-20
+-59
+-47
+13
+30
+-17
+-58
+-45
+13
+32
+-16
+-56
+-43
+17
+34
+-13
+-54
+-42
+16
+35
+-14
+-54
+-41
+19
+35
+-12
+-53
+-40
+18
+58
+73
+22
+-25
+-64
+-98
+-64
+35
+95
+115
+56
+3
+-40
+-78
+-73
+24
+83
+102
+45
+-7
+-49
+-85
+-81
+18
+77
+96
+40
+-11
+-52
+-88
+-87
+13
+72
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+90
+34
+-16
+-56
+-92
+-90
+10
+69
+89
+33
+-16
+-57
+-92
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+9
+68
+88
+32
+-17
+-58
+-93
+-92
+7
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+6
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-92
+8
+67
+87
+32
+-17
+-58
+-93
+-94
+7
+66
+86
+30
+-19
+-59
+-94
+-92
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-92
+8
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+68
+87
+31
+-18
+-58
+-93
+-94
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+6
+66
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-94
+6
+67
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-55
+-7
+-38
+-74
+-106
+-37
+16
+-12
+-54
+-87
+-25
+26
+-7
+-49
+-84
+-19
+29
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-11
+37
+5
+-39
+-74
+-10
+42
+8
+-35
+-72
+-7
+41
+10
+-35
+-71
+-7
+44
+10
+-34
+-71
+-5
+44
+13
+-33
+-70
+-102
+-48
+46
+104
+123
+63
+9
+-35
+-73
+-64
+33
+92
+109
+52
+-1
+-43
+-80
+-76
+23
+81
+100
+44
+-8
+-49
+-86
+-83
+16
+75
+95
+39
+-12
+-53
+-89
+-86
+14
+73
+92
+36
+-14
+-55
+-90
+-89
+11
+71
+89
+34
+-16
+-56
+-92
+-91
+9
+69
+88
+32
+-17
+-57
+-93
+-91
+8
+68
+88
+33
+-17
+-57
+-93
+-92
+8
+68
+87
+32
+-18
+-58
+-93
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+87
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+31
+-19
+-59
+-94
+-93
+6
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+32
+-18
+-58
+-93
+-94
+6
+66
+86
+31
+-19
+-59
+-94
+-92
+8
+67
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-94
+6
+65
+86
+31
+-19
+-59
+-94
+-92
+8
+68
+88
+32
+-17
+-58
+-93
+-93
+8
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+8
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+87
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+87
+32
+-18
+-58
+-93
+-93
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-93
+8
+68
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-59
+-93
+-93
+7
+67
+86
+31
+-19
+-59
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-94
+-93
+7
+67
+86
+31
+-18
+-58
+-93
+-94
+7
+66
+86
+31
+-18
+-59
+-94
+-92
+7
+67
+86
+31
+-18
+-59
+-94
+-93
+8
+67
+86
+32
+-18
+-58
+-55
+-6
+-37
+-74
+-106
+-37
+16
+-13
+-54
+-88
+-25
+26
+-7
+-48
+-84
+-20
+30
+-1
+-44
+-79
+-15
+36
+3
+-39
+-76
+-12
+37
+6
+-39
+-74
+-10
+41
+8
+-36
+-73
+-7
+42
+10
+-35
+-71
+-6
+43
+10
+-34
+-71
+-5
+43
+13
+-33
+-69
+-5
+45
+11
+-33
+-70
+-5
+44
+12
+-33
+-69
+-5
+46
+12
+-32
+-69
+-3
+45
+13
+-32
+-69
+-4
+47
+13
+-31
+-68
+-4
+45
+13
+-33
+-69
+-4
+46
+13
+-32
+-69
+-3
+45
+14
+-32
+-68
+-3
+47
+13
+-31
+-69
+-3
+45
+14
+-32
+-69
+-101
+-47
+48
+106
+124
+65
+10
+-34
+-72
+-64
+34
+92
+109
+52
+-1
diff --git a/traces/modulation-fsk2-50.pm3 b/traces/modulation-fsk2-50.pm3
new file mode 100644 (file)
index 0000000..667ab67
--- /dev/null
@@ -0,0 +1,20000 @@
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-87
+81
+70
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-74
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+75
+61
+32
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+68
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+40
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+11
+-17
+-38
+-57
+-72
+79
+65
+37
+7
+-19
+-40
+-59
+-73
+77
+63
+34
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+2
+-23
+-44
+-62
+-77
+-89
+79
+64
+38
+30
+1
+-25
+-45
+-63
+-77
+-89
+81
+67
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+41
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+43
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+63
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+41
+33
+3
+-22
+-44
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+11
+-16
+-37
+-56
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+75
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-76
+74
+59
+31
+2
+-23
+-43
+-62
+-76
+73
+58
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-24
+-44
+-63
+-76
+72
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+78
+64
+38
+30
+1
+-25
+-45
+-63
+-77
+-89
+80
+66
+39
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+41
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+34
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+42
+34
+5
+-22
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+77
+64
+37
+7
+-19
+-41
+-59
+-74
+77
+62
+34
+4
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+31
+2
+-24
+-44
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-59
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+36
+4
+-20
+-43
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+70
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+42
+36
+4
+-20
+-42
+-59
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+36
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+11
+-16
+-37
+-57
+-71
+80
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-74
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+61
+33
+3
+-22
+-43
+-61
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+27
+-3
+-27
+-48
+-65
+-80
+-90
+76
+65
+36
+31
+0
+-24
+-45
+-62
+-77
+-89
+79
+67
+39
+32
+2
+-22
+-44
+-61
+-77
+-88
+79
+69
+40
+33
+3
+-22
+-44
+-61
+-76
+-87
+81
+69
+41
+34
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+11
+-16
+-37
+-57
+-71
+80
+66
+38
+8
+-19
+-40
+-59
+-73
+77
+62
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+33
+3
+-22
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+-89
+79
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-44
+-62
+-76
+-88
+82
+68
+41
+33
+4
+-22
+-43
+-61
+-76
+-88
+83
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+62
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+79
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+81
+67
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+42
+33
+4
+-22
+-43
+-61
+-75
+-88
+81
+68
+42
+34
+5
+-22
+-42
+-61
+-75
+-88
+83
+68
+43
+34
+4
+-22
+-42
+-61
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+61
+34
+5
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+2
+-23
+-43
+-62
+-76
+73
+59
+32
+2
+-23
+-44
+-62
+-76
+73
+59
+32
+26
+-4
+-28
+-49
+-65
+-80
+-91
+76
+65
+37
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+40
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+70
+42
+11
+-16
+-37
+-57
+-71
+80
+66
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+6
+-21
+-41
+-60
+-75
+76
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+65
+36
+31
+0
+-24
+-46
+-63
+-78
+-88
+78
+67
+39
+33
+3
+-22
+-44
+-61
+-76
+-88
+79
+69
+40
+34
+3
+-22
+-44
+-61
+-76
+-87
+80
+69
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+42
+11
+-16
+-37
+-57
+-72
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+62
+35
+5
+-21
+-42
+-61
+-75
+76
+61
+34
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+32
+2
+-23
+-44
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+65
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+42
+33
+3
+-22
+-43
+-61
+-76
+-88
+82
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+4
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-61
+-75
+-87
+83
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+77
+62
+34
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+3
+-22
+-43
+-61
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+2
+-23
+-43
+-62
+-76
+73
+59
+32
+2
+-24
+-44
+-62
+-76
+73
+59
+32
+26
+-4
+-27
+-48
+-65
+-80
+-90
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-22
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+11
+-16
+-37
+-57
+-72
+79
+65
+38
+8
+-19
+-40
+-59
+-73
+77
+62
+35
+5
+-21
+-42
+-60
+-75
+76
+61
+33
+4
+-22
+-43
+-61
+-76
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+31
+2
+-23
+-44
+-62
+-76
+74
+60
+32
+27
+-3
+-27
+-48
+-65
+-80
+-91
+76
+65
+37
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+68
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+41
+33
+3
+-22
+-44
+-61
+-76
+-87
+80
+70
+41
+35
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+34
+3
+-21
+-43
+-61
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+71
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-41
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-23
+-44
+-62
+-77
+-89
+78
+63
+37
+30
+1
+-25
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-44
+-62
+-76
+-88
+82
+68
+42
+33
+3
+-22
+-43
+-61
+-76
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+33
+4
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+77
+64
+36
+7
+-20
+-40
+-60
+-74
+77
+62
+34
+5
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+31
+26
+-4
+-28
+-48
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+68
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+72
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+83
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-59
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+5
+-20
+-42
+-59
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+11
+-16
+-37
+-57
+-72
+80
+65
+37
+8
+-19
+-40
+-59
+-73
+77
+62
+35
+5
+-21
+-42
+-60
+-75
+76
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+26
+-3
+-27
+-48
+-65
+-80
+-90
+76
+65
+36
+31
+0
+-24
+-45
+-62
+-78
+-89
+78
+67
+39
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-22
+-43
+-61
+-76
+-87
+81
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+80
+70
+41
+11
+-16
+-37
+-57
+-72
+80
+65
+37
+7
+-19
+-40
+-60
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+61
+33
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+67
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+42
+33
+4
+-22
+-43
+-61
+-76
+-88
+82
+69
+43
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+77
+63
+36
+6
+-20
+-41
+-60
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-62
+-76
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+2
+-23
+-43
+-62
+-76
+74
+59
+32
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-24
+-44
+-63
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+58
+31
+26
+-4
+-27
+-49
+-65
+-80
+-91
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-22
+-44
+-61
+-76
+-87
+80
+70
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+82
+71
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+11
+-16
+-37
+-57
+-72
+79
+65
+37
+7
+-19
+-40
+-59
+-73
+76
+63
+35
+6
+-21
+-41
+-60
+-74
+75
+61
+33
+3
+-22
+-43
+-62
+-76
+75
+60
+33
+3
+-22
+-43
+-61
+-76
+74
+60
+31
+2
+-23
+-44
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+3
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+1
+-24
+-45
+-63
+-77
+72
+59
+31
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-24
+-44
+-63
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-23
+-44
+-62
+-77
+-89
+78
+63
+37
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+31
+2
+-23
+-44
+-62
+-76
+-88
+81
+68
+42
+33
+3
+-23
+-43
+-61
+-75
+-88
+82
+68
+42
+34
+4
+-22
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+44
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+77
+64
+37
+7
+-20
+-41
+-59
+-74
+77
+62
+34
+4
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+32
+1
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-22
+-44
+-61
+-76
+-87
+80
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+81
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+71
+42
+11
+-16
+-37
+-56
+-71
+79
+65
+38
+8
+-19
+-40
+-59
+-73
+76
+63
+35
+6
+-21
+-42
+-60
+-74
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+26
+-3
+-27
+-48
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-22
+-43
+-61
+-76
+-87
+81
+70
+41
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+80
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+12
+-16
+-37
+-56
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-73
+77
+63
+35
+6
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+61
+33
+3
+-22
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+32
+2
+-23
+-44
+-62
+-76
+-89
+79
+64
+37
+30
+1
+-24
+-45
+-63
+-77
+-89
+81
+67
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+34
+4
+-22
+-42
+-61
+-75
+-87
+82
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-74
+77
+64
+36
+7
+-19
+-40
+-59
+-74
+77
+62
+34
+5
+-22
+-42
+-61
+-75
+74
+61
+33
+4
+-22
+-43
+-61
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-44
+-62
+-76
+-88
+81
+68
+42
+33
+3
+-22
+-43
+-61
+-76
+-88
+82
+69
+43
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+43
+33
+4
+-22
+-42
+-61
+-75
+77
+63
+36
+7
+-20
+-41
+-60
+-74
+77
+63
+34
+5
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+31
+26
+-3
+-27
+-48
+-65
+-80
+-90
+75
+64
+36
+31
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+40
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+69
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+8
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+32
+27
+-3
+-27
+-48
+-65
+-80
+-90
+75
+65
+37
+30
+0
+-24
+-45
+-63
+-78
+-89
+78
+67
+39
+32
+1
+-23
+-44
+-62
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+34
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+11
+-16
+-37
+-57
+-71
+78
+64
+37
+7
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-22
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+-89
+78
+63
+38
+29
+1
+-25
+-45
+-63
+-77
+-89
+80
+66
+40
+31
+2
+-24
+-44
+-62
+-77
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+82
+69
+43
+34
+5
+-22
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+6
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+77
+64
+37
+7
+-20
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+60
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+26
+-3
+-27
+-48
+-65
+-80
+-90
+75
+64
+36
+31
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-22
+-44
+-61
+-76
+-87
+81
+69
+40
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+72
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+5
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+81
+70
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+75
+61
+32
+3
+-22
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+26
+-3
+-27
+-48
+-65
+-80
+-90
+77
+65
+36
+30
+0
+-24
+-45
+-63
+-78
+-89
+79
+68
+38
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-22
+-44
+-61
+-76
+-87
+81
+70
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-76
+-86
+81
+70
+41
+11
+-16
+-37
+-57
+-72
+79
+66
+38
+8
+-19
+-40
+-59
+-73
+77
+63
+34
+5
+-21
+-42
+-60
+-75
+76
+61
+34
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-24
+-44
+-63
+-77
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+65
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+67
+41
+33
+4
+-22
+-43
+-61
+-76
+-88
+82
+68
+42
+33
+5
+-22
+-42
+-61
+-75
+-88
+83
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-74
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+61
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+27
+-3
+-27
+-48
+-65
+-80
+-90
+76
+64
+36
+30
+0
+-24
+-45
+-63
+-78
+-89
+78
+67
+38
+32
+1
+-23
+-44
+-62
+-77
+-88
+80
+69
+40
+33
+2
+-22
+-44
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+69
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-41
+-60
+-75
+75
+61
+34
+4
+-22
+-42
+-61
+-75
+74
+61
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-90
+75
+65
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+33
+2
+-22
+-44
+-61
+-76
+-87
+79
+69
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+3
+-21
+-43
+-60
+-76
+-87
+80
+70
+41
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+62
+34
+5
+-21
+-42
+-60
+-75
+76
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-87
+82
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+33
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+77
+64
+36
+7
+-20
+-40
+-59
+-74
+77
+63
+34
+4
+-22
+-42
+-61
+-75
+75
+61
+34
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-63
+-76
+73
+58
+31
+2
+-24
+-44
+-62
+-77
+74
+59
+31
+25
+-4
+-28
+-48
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+38
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-22
+-44
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+41
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+5
+-20
+-43
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-75
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+8
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+61
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+72
+59
+31
+2
+-24
+-44
+-63
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+58
+31
+2
+-23
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+3
+-23
+-44
+-62
+-76
+-89
+78
+64
+37
+29
+1
+-25
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+42
+33
+4
+-22
+-43
+-61
+-75
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-74
+77
+64
+36
+7
+-20
+-41
+-60
+-74
+76
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+3
+-22
+-43
+-61
+-76
+74
+60
+33
+3
+-22
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-77
+74
+60
+32
+2
+-23
+-43
+-62
+-76
+73
+59
+32
+26
+-3
+-27
+-48
+-65
+-80
+-90
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+32
+2
+-23
+-44
+-62
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+5
+-20
+-42
+-60
+-75
+-86
+81
+69
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+34
+3
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-41
+-60
+-74
+75
+60
+33
+3
+-22
+-43
+-61
+-76
+75
+61
+33
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+2
+-23
+-43
+-62
+-76
+73
+60
+32
+25
+-4
+-28
+-49
+-65
+-80
+-91
+76
+65
+37
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+68
+39
+33
+2
+-22
+-44
+-61
+-77
+-87
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+41
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+11
+-16
+-38
+-57
+-71
+79
+65
+38
+8
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-41
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+61
+33
+4
+-22
+-43
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+79
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+42
+33
+4
+-22
+-43
+-61
+-75
+-88
+82
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+33
+5
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+4
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+77
+64
+36
+7
+-20
+-41
+-59
+-74
+76
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+2
+-23
+-44
+-62
+-76
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+81
+67
+41
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+41
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-88
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+61
+34
+5
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-76
+74
+60
+32
+2
+-23
+-44
+-62
+-76
+73
+58
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+64
+37
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-22
+-43
+-61
+-76
+-87
+80
+69
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-59
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-43
+-60
+-75
+-86
+81
+69
+42
+11
+-16
+-37
+-57
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+75
+61
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+26
+-3
+-27
+-48
+-65
+-80
+-90
+76
+65
+36
+31
+0
+-24
+-46
+-63
+-78
+-89
+79
+68
+39
+33
+2
+-22
+-44
+-61
+-76
+-88
+80
+69
+40
+34
+3
+-22
+-43
+-61
+-76
+-87
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+40
+10
+-17
+-38
+-57
+-72
+79
+65
+38
+8
+-19
+-40
+-59
+-73
+77
+63
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+78
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+41
+33
+4
+-22
+-43
+-61
+-75
+-88
+82
+68
+42
+34
+5
+-22
+-42
+-61
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-20
+-41
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-88
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-61
+-75
+-88
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+75
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+65
+37
+31
+0
+-24
+-45
+-63
+-78
+-88
+78
+67
+39
+32
+2
+-23
+-44
+-62
+-77
+-88
+80
+69
+40
+34
+3
+-22
+-43
+-61
+-76
+-87
+80
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+80
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+34
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+4
+-20
+-43
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+69
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-59
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+11
+-16
+-37
+-57
+-72
+80
+66
+37
+8
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+76
+62
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+31
+27
+-3
+-27
+-48
+-65
+-79
+-90
+76
+65
+36
+31
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+69
+41
+34
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-20
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-76
+-87
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+69
+41
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+11
+-16
+-37
+-56
+-71
+80
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-41
+-60
+-74
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+3
+-23
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+58
+31
+2
+-24
+-44
+-62
+-77
+74
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+78
+64
+38
+29
+0
+-25
+-45
+-63
+-77
+-89
+79
+66
+40
+31
+2
+-23
+-44
+-62
+-76
+-88
+81
+68
+42
+33
+4
+-22
+-43
+-61
+-76
+-88
+82
+69
+42
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+77
+64
+36
+7
+-19
+-41
+-60
+-74
+76
+62
+34
+5
+-22
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+25
+-4
+-28
+-49
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-25
+-46
+-63
+-78
+-89
+79
+68
+39
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-42
+-60
+-75
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-20
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+41
+11
+-16
+-38
+-57
+-72
+80
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+75
+61
+33
+3
+-22
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-44
+-62
+-76
+74
+60
+32
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+65
+37
+31
+1
+-24
+-45
+-62
+-77
+-89
+79
+67
+39
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+11
+-16
+-38
+-57
+-72
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-76
+75
+61
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-44
+-62
+-77
+-89
+79
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+67
+41
+33
+4
+-22
+-43
+-61
+-76
+-88
+83
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+84
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-74
+78
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-63
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+58
+31
+26
+-4
+-28
+-48
+-65
+-80
+-91
+75
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-87
+80
+68
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+35
+3
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+83
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+36
+4
+-21
+-43
+-60
+-75
+-86
+81
+70
+42
+12
+-16
+-37
+-56
+-71
+80
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+6
+-21
+-42
+-60
+-74
+75
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+33
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+58
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+58
+31
+1
+-24
+-44
+-63
+-77
+-89
+78
+64
+37
+30
+1
+-24
+-45
+-63
+-77
+-89
+81
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+41
+33
+4
+-22
+-43
+-61
+-75
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+77
+63
+36
+7
+-20
+-41
+-60
+-74
+76
+63
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+2
+-23
+-44
+-62
+-76
+73
+60
+32
+3
+-23
+-44
+-62
+-76
+74
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+64
+36
+30
+0
+-24
+-45
+-63
+-78
+-89
+79
+67
+38
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+68
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+40
+34
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+42
+36
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+34
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+12
+-16
+-37
+-57
+-71
+80
+65
+37
+7
+-19
+-40
+-59
+-73
+77
+62
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+34
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+31
+26
+-3
+-27
+-48
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-24
+-46
+-62
+-78
+-89
+79
+67
+39
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+69
+41
+35
+4
+-20
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+70
+42
+11
+-16
+-37
+-56
+-71
+79
+65
+37
+8
+-19
+-40
+-59
+-74
+77
+62
+34
+5
+-21
+-42
+-61
+-75
+76
+62
+34
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+-89
+79
+64
+38
+30
+1
+-24
+-45
+-63
+-77
+-89
+81
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+42
+33
+4
+-22
+-43
+-61
+-75
+-88
+82
+68
+42
+34
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+77
+63
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+4
+-22
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+-89
+78
+64
+38
+30
+1
+-24
+-44
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+41
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+34
+5
+-21
+-42
+-60
+-75
+77
+63
+35
+6
+-20
+-41
+-60
+-74
+76
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+74
+59
+31
+25
+-4
+-28
+-49
+-65
+-80
+-91
+76
+65
+36
+30
+0
+-24
+-46
+-63
+-78
+-88
+78
+67
+39
+33
+2
+-22
+-44
+-61
+-76
+-88
+80
+69
+40
+34
+3
+-22
+-44
+-61
+-76
+-87
+80
+69
+41
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+4
+-20
+-42
+-59
+-75
+-86
+82
+69
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-59
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-76
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+11
+-16
+-37
+-57
+-72
+80
+66
+38
+8
+-19
+-40
+-59
+-73
+76
+63
+35
+5
+-21
+-41
+-60
+-74
+75
+61
+33
+4
+-22
+-43
+-62
+-76
+74
+61
+33
+3
+-23
+-43
+-61
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+32
+27
+-3
+-27
+-48
+-65
+-80
+-91
+76
+65
+36
+31
+0
+-24
+-45
+-63
+-78
+-89
+78
+67
+38
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-44
+-61
+-76
+-87
+81
+70
+41
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+11
+-16
+-37
+-57
+-72
+79
+65
+37
+7
+-20
+-40
+-59
+-74
+77
+62
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+72
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+72
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+58
+31
+1
+-24
+-44
+-63
+-77
+72
+59
+31
+3
+-23
+-44
+-62
+-76
+-89
+77
+63
+37
+30
+1
+-24
+-45
+-63
+-77
+-89
+80
+66
+40
+32
+3
+-23
+-43
+-62
+-76
+-88
+81
+68
+41
+33
+4
+-22
+-43
+-61
+-75
+-88
+82
+69
+42
+34
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+42
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-41
+-60
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+4
+-22
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+4
+-22
+-42
+-61
+-75
+-88
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+6
+-20
+-41
+-60
+-74
+-87
+82
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+42
+34
+5
+-21
+-42
+-61
+-75
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+76
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+32
+3
+-23
+-44
+-62
+-76
+73
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-90
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+38
+32
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+41
+34
+3
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+3
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-76
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+69
+41
+35
+4
+-20
+-42
+-60
+-76
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-87
+82
+71
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+12
+-16
+-37
+-56
+-71
+79
+65
+37
+7
+-19
+-40
+-59
+-74
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+75
+61
+33
+4
+-22
+-43
+-61
+-75
+74
+61
+33
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+72
+59
+32
+26
+-4
+-27
+-48
+-65
+-80
+-91
+76
+65
+37
+30
+0
+-24
+-46
+-63
+-78
+-89
+78
+67
+39
+33
+2
+-22
+-44
+-61
+-77
+-88
+80
+69
+40
+33
+3
+-22
+-43
+-61
+-76
+-87
+80
+69
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-20
+-43
+-60
+-75
+-86
+81
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+72
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+11
+-16
+-37
+-57
+-72
+80
+65
+37
+8
+-19
+-40
+-59
+-73
+77
+63
+35
+5
+-21
+-42
+-60
+-75
+76
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+33
+3
+-22
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+32
+3
+-23
+-43
+-62
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-77
+73
+59
+32
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-77
+72
+58
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-77
+-89
+78
+64
+38
+29
+0
+-25
+-45
+-63
+-77
+-89
+80
+67
+41
+32
+3
+-23
+-43
+-62
+-76
+-88
+82
+68
+41
+33
+4
+-22
+-42
+-61
+-75
+-88
+82
+68
+42
+33
+4
+-22
+-42
+-61
+-75
+-88
+83
+69
+42
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+68
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+82
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-74
+77
+64
+36
+6
+-20
+-41
+-60
+-74
+77
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+60
+33
+4
+-22
+-43
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-23
+-44
+-62
+-76
+74
+59
+31
+26
+-3
+-27
+-48
+-65
+-80
+-91
+76
+65
+36
+31
+0
+-24
+-45
+-62
+-78
+-89
+78
+67
+38
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+68
+40
+33
+3
+-21
+-44
+-61
+-76
+-87
+80
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+81
+70
+41
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+70
+42
+36
+5
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+36
+4
+-20
+-42
+-60
+-75
+-86
+82
+70
+42
+35
+4
+-20
+-43
+-60
+-75
+-86
+82
+70
+41
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-42
+-60
+-75
+-87
+81
+70
+41
+36
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-86
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-20
+-42
+-60
+-75
+-87
+82
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+81
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
+82
+71
+42
+12
+-16
+-37
+-56
+-71
+80
+65
+36
+7
+-20
+-40
+-59
+-74
+77
+63
+35
+6
+-20
+-41
+-60
+-74
+76
+61
+33
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+32
+26
+-3
+-27
+-48
+-65
+-80
+-91
+76
+64
+36
+30
+0
+-24
+-46
+-63
+-78
+-89
+79
+67
+39
+32
+2
+-23
+-44
+-61
+-77
+-88
+80
+69
+40
+34
+3
+-21
+-43
+-61
+-76
+-87
+80
+69
+41
+35
+4
+-21
+-43
+-60
+-76
+-87
+80
+69
+41
+11
+-16
+-37
+-57
+-72
+79
+65
+37
+7
+-19
+-40
+-59
+-73
+77
+62
+34
+5
+-21
+-42
+-61
+-75
+75
+61
+34
+4
+-22
+-42
+-61
+-75
+74
+60
+32
+3
+-23
+-43
+-62
+-76
+73
+60
+32
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-24
+-44
+-62
+-77
+-89
+79
+64
+38
+29
+1
+-25
+-45
+-63
+-77
+-89
+80
+67
+40
+31
+2
+-23
+-44
+-62
+-76
+-88
+82
+68
+42
+33
+4
+-22
+-43
+-61
+-76
+-88
+82
+69
+42
+33
+4
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-22
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+42
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+42
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+35
+5
+-21
+-41
+-60
+-74
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+68
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+-87
+83
+70
+43
+35
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+70
+43
+34
+5
+-21
+-42
+-60
+-75
+-87
+83
+69
+43
+34
+5
+-21
+-42
+-61
+-75
+77
+65
+37
+7
+-19
+-40
+-59
+-74
+76
+62
+35
+5
+-21
+-42
+-61
+-75
+75
+61
+33
+3
+-22
+-43
+-61
+-76
+73
+60
+33
+3
+-23
+-43
+-62
+-76
+74
+59
+31
+2
+-23
+-44
+-62
+-76
+73
+59
+32
+3
+-23
+-43
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-76
+72
+59
+31
+2
+-24
+-44
+-62
+-76
+73
+59
+31
+2
+-24
+-44
+-63
+-76
+73
+59
+31
+26
+-4
+-27
+-48
+-65
+-80
+-91
+75
+64
+36
+30
+0
+-24
+-45
+-63
+-78
+-89
+78
+67
+38
+32
+1
+-23
+-45
+-62
+-77
+-88
+80
+69
+40
+34
+3
+-22
+-44
+-61
+-76
+-87
+81
+70
+41
+34
+3
+-21
+-43
+-61
+-76
+-87
+81
+71
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+41
+35
+4
+-21
+-42
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-87
+82
+71
+41
+35
+4
+-20
+-42
+-60
+-75
+-86
+82
+71
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+82
+70
+41
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+70
+41
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+41
+35
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+36
+5
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-21
+-42
+-60
+-76
+-87
+82
+71
+42
+35
+4
+-20
+-42
+-60
+-75
+-86
+81
+70
+42
+35
+4
+-21
+-43
+-60
+-75
+-86
diff --git a/traces/modulation-fsk2a-40.pm3 b/traces/modulation-fsk2a-40.pm3
new file mode 100644 (file)
index 0000000..aa83bac
--- /dev/null
@@ -0,0 +1,20000 @@
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-72
+86
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-64
+-76
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-26
+-47
+-65
+-77
+81
+59
+31
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+63
+36
+26
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+83
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-84
+84
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+79
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-64
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-65
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-64
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+65
+37
+5
+-20
+-43
+-61
+-73
+86
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+85
+61
+32
+22
+-6
+-31
+-50
+-68
+-82
+-91
+78
+65
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-86
+83
+70
+42
+32
+3
+-23
+-45
+-63
+-77
+-85
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-73
+87
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-26
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+36
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+83
+69
+42
+32
+3
+-24
+-45
+-63
+-78
+-85
+84
+70
+42
+32
+3
+-23
+-44
+-63
+-77
+-86
+83
+71
+43
+33
+4
+-23
+-44
+-63
+-77
+-84
+84
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+84
+71
+44
+11
+-15
+-39
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+4
+-21
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+31
+1
+-24
+-46
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+71
+43
+33
+4
+-23
+-44
+-63
+-77
+-85
+84
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-44
+-62
+-77
+-83
+85
+71
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+72
+45
+33
+4
+-22
+-43
+-62
+-77
+-84
+84
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-85
+84
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+64
+35
+4
+-22
+-44
+-61
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+85
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+61
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+29
+0
+-26
+-46
+-65
+-79
+-87
+83
+70
+42
+32
+3
+-24
+-45
+-63
+-77
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+1
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+84
+60
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+36
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+32
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-6
+-31
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-86
+84
+71
+42
+10
+-17
+-40
+-58
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-73
+87
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+59
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+78
+65
+37
+28
+-1
+-27
+-47
+-66
+-80
+-88
+81
+68
+41
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+67
+38
+6
+-19
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+83
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+63
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-72
+86
+62
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+31
+1
+-24
+-46
+-63
+-75
+84
+61
+32
+22
+-6
+-31
+-51
+-69
+-82
+-91
+78
+64
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+81
+68
+41
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+83
+72
+43
+33
+4
+-23
+-44
+-63
+-77
+-85
+84
+72
+44
+33
+3
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-44
+-62
+-77
+-84
+85
+72
+45
+11
+-15
+-38
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+64
+35
+4
+-22
+-44
+-61
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+57
+30
+-1
+-26
+-48
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-28
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+32
+2
+-24
+-45
+-63
+-78
+-86
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-61
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-64
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-69
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+84
+60
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-26
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-32
+-52
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+83
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+85
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+71
+43
+33
+3
+-23
+-44
+-63
+-77
+-84
+85
+71
+43
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+33
+4
+-23
+-44
+-63
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+89
+67
+38
+6
+-20
+-42
+-60
+-72
+87
+64
+35
+4
+-21
+-44
+-61
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+32
+0
+-24
+-46
+-63
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-26
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+32
+3
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+29
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+36
+26
+-2
+-28
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+42
+10
+-16
+-39
+-58
+-70
+89
+67
+38
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+31
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+77
+65
+38
+27
+-2
+-27
+-47
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+1
+-24
+-45
+-64
+-78
+-85
+84
+70
+43
+10
+-16
+-39
+-57
+-69
+89
+66
+37
+6
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-92
+77
+65
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-64
+-78
+-85
+83
+71
+43
+32
+3
+-24
+-44
+-63
+-77
+-86
+84
+72
+44
+33
+3
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+64
+35
+4
+-21
+-44
+-62
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+30
+-1
+-25
+-47
+-64
+-76
+80
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+80
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-31
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+32
+2
+-24
+-45
+-63
+-77
+-85
+84
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+72
+43
+33
+4
+-23
+-43
+-63
+-77
+-84
+85
+71
+43
+33
+4
+-22
+-44
+-63
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+85
+71
+44
+33
+4
+-22
+-43
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+85
+71
+44
+33
+4
+-22
+-43
+-62
+-77
+-85
+84
+72
+45
+34
+4
+-22
+-43
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-39
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-23
+-46
+-63
+-75
+83
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+29
+0
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+3
+-24
+-45
+-63
+-77
+-85
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-45
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+42
+10
+-16
+-39
+-58
+-70
+89
+67
+37
+5
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+83
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+65
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-72
+85
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+1
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+31
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-76
+80
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-31
+-51
+-69
+-82
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+29
+0
+-26
+-46
+-64
+-79
+-87
+82
+70
+43
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-69
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+78
+65
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+83
+70
+42
+32
+3
+-23
+-44
+-63
+-77
+-85
+84
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-42
+-61
+-73
+87
+64
+35
+3
+-22
+-44
+-62
+-74
+84
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+31
+1
+-24
+-46
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+76
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+29
+0
+-25
+-46
+-65
+-79
+-87
+83
+70
+42
+32
+3
+-24
+-45
+-63
+-77
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+86
+64
+35
+4
+-22
+-44
+-61
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+77
+64
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+72
+43
+33
+4
+-22
+-44
+-63
+-77
+-84
+84
+71
+44
+33
+4
+-22
+-43
+-62
+-77
+-85
+83
+71
+44
+33
+4
+-23
+-43
+-62
+-77
+-85
+84
+71
+44
+11
+-15
+-39
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+20
+-7
+-32
+-52
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+83
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+42
+10
+-16
+-39
+-58
+-70
+89
+66
+38
+5
+-20
+-42
+-60
+-73
+86
+64
+35
+4
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+80
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-31
+-51
+-69
+-82
+-91
+77
+64
+36
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+32
+3
+-23
+-44
+-63
+-77
+-85
+83
+70
+42
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+87
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-1
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+32
+3
+-24
+-44
+-63
+-77
+-86
+84
+71
+43
+33
+3
+-23
+-43
+-63
+-77
+-85
+84
+71
+44
+33
+4
+-22
+-43
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-23
+-43
+-62
+-77
+-84
+84
+72
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+64
+35
+4
+-21
+-44
+-62
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-28
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+0
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-46
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+21
+-7
+-32
+-52
+-69
+-83
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+83
+70
+42
+32
+3
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-61
+-73
+86
+63
+35
+4
+-22
+-44
+-62
+-74
+85
+62
+33
+1
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+85
+60
+31
+22
+-5
+-31
+-50
+-68
+-82
+-91
+77
+64
+37
+28
+-1
+-27
+-47
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+83
+70
+42
+32
+3
+-24
+-44
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+88
+66
+37
+6
+-20
+-42
+-60
+-72
+87
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+29
+-1
+-26
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+29
+-1
+-26
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+60
+30
+21
+-7
+-31
+-51
+-69
+-83
+-91
+77
+63
+36
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+32
+3
+-24
+-45
+-63
+-78
+-85
+84
+70
+42
+32
+3
+-23
+-44
+-63
+-77
+-86
+83
+71
+43
+33
+4
+-23
+-44
+-63
+-77
+-85
+84
+71
+43
+33
+4
+-22
+-43
+-62
+-77
+-85
+84
+71
+44
+33
+4
+-23
+-43
+-62
+-77
+-84
+85
+71
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-46
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+32
+3
+-23
+-44
+-63
+-78
+-86
+84
+71
+43
+33
+4
+-23
+-44
+-62
+-77
+-84
+84
+71
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-84
+85
+72
+44
+33
+4
+-23
+-43
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+84
+72
+44
+33
+4
+-23
+-43
+-62
+-77
+-85
+84
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+36
+4
+-21
+-44
+-61
+-74
+85
+62
+33
+2
+-23
+-45
+-62
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+85
+61
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+63
+36
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-61
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+21
+-7
+-32
+-51
+-69
+-82
+-91
+77
+65
+37
+26
+-3
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+83
+70
+42
+31
+3
+-24
+-45
+-63
+-77
+-85
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-61
+-73
+86
+64
+35
+4
+-22
+-44
+-62
+-74
+85
+62
+33
+1
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-23
+-46
+-63
+-75
+84
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+84
+59
+30
+21
+-6
+-31
+-51
+-69
+-82
+-91
+77
+64
+36
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-77
+-86
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+67
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-76
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+78
+64
+37
+27
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+41
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+42
+10
+-16
+-40
+-58
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-72
+87
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+77
+65
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+10
+-16
+-39
+-58
+-70
+90
+67
+38
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+83
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-76
+84
+61
+32
+22
+-6
+-31
+-51
+-69
+-82
+-91
+77
+65
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+85
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+72
+44
+33
+4
+-22
+-44
+-62
+-77
+-85
+85
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+64
+35
+4
+-21
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-26
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-26
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+67
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+21
+-7
+-31
+-51
+-69
+-83
+-91
+77
+63
+37
+27
+-1
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-61
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+85
+61
+32
+1
+-24
+-46
+-63
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+20
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-84
+84
+72
+44
+33
+4
+-23
+-44
+-63
+-77
+-85
+85
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-39
+-57
+-69
+89
+66
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+4
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+32
+1
+-24
+-46
+-64
+-76
+81
+59
+31
+0
+-25
+-46
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-82
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+29
+1
+-26
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+1
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+57
+29
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-86
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+67
+38
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+85
+60
+31
+22
+-6
+-31
+-51
+-69
+-82
+-91
+77
+65
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-26
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+21
+-6
+-31
+-51
+-69
+-83
+-91
+77
+63
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-86
+83
+71
+43
+32
+3
+-24
+-44
+-63
+-77
+-86
+83
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-84
+84
+72
+44
+32
+3
+-23
+-44
+-63
+-77
+-85
+84
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+4
+-21
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+85
+61
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+83
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+20
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+83
+70
+42
+31
+2
+-24
+-45
+-63
+-77
+-85
+84
+70
+43
+33
+3
+-23
+-44
+-63
+-77
+-85
+84
+71
+43
+33
+3
+-23
+-44
+-63
+-77
+-84
+84
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-85
+85
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+86
+72
+43
+33
+4
+-23
+-44
+-63
+-77
+-85
+84
+72
+43
+33
+4
+-23
+-43
+-62
+-77
+-84
+85
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+34
+4
+-22
+-43
+-62
+-77
+-84
+85
+72
+43
+10
+-16
+-39
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+4
+-21
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+83
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+36
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+86
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+81
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-31
+-51
+-69
+-83
+-91
+77
+64
+36
+27
+-1
+-27
+-47
+-66
+-80
+-88
+80
+67
+39
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-6
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+29
+0
+-26
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-64
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-31
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+67
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+32
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-73
+86
+63
+35
+4
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+21
+-6
+-31
+-51
+-69
+-82
+-91
+78
+65
+37
+27
+-1
+-27
+-47
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+83
+70
+42
+32
+3
+-24
+-45
+-63
+-77
+-85
+84
+71
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+32
+1
+-24
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+31
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+20
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+41
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+43
+31
+2
+-24
+-44
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+22
+-6
+-31
+-51
+-69
+-82
+-91
+78
+65
+37
+27
+-2
+-27
+-47
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+42
+32
+3
+-23
+-44
+-63
+-77
+-86
+83
+71
+43
+33
+4
+-23
+-44
+-63
+-77
+-85
+84
+71
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+71
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+11
+-15
+-39
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+80
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+29
+-1
+-26
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+20
+-7
+-32
+-51
+-69
+-83
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+83
+70
+42
+31
+2
+-24
+-45
+-63
+-77
+-86
+84
+71
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-61
+-73
+87
+64
+35
+4
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-82
+-91
+77
+64
+36
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-77
+-86
+84
+71
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-43
+-60
+-73
+86
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-31
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-77
+-85
+83
+70
+43
+32
+3
+-24
+-44
+-63
+-77
+-86
+84
+71
+43
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+71
+44
+33
+4
+-23
+-43
+-62
+-77
+-85
+83
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+89
+67
+39
+6
+-19
+-42
+-60
+-72
+86
+63
+35
+4
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+58
+30
+21
+-6
+-31
+-51
+-69
+-82
+-91
+76
+63
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-86
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+87
+63
+35
+3
+-22
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+37
+26
+-3
+-28
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-69
+89
+66
+37
+5
+-20
+-42
+-61
+-73
+86
+63
+35
+4
+-22
+-44
+-62
+-74
+86
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+85
+60
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+78
+65
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+32
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+86
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+33
+1
+-24
+-45
+-63
+-75
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-82
+-91
+77
+64
+36
+26
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+72
+43
+33
+3
+-23
+-44
+-63
+-77
+-85
+84
+72
+43
+33
+4
+-22
+-43
+-62
+-77
+-85
+84
+72
+43
+33
+4
+-22
+-43
+-62
+-77
+-84
+85
+71
+43
+10
+-16
+-39
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+60
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-6
+-31
+-51
+-69
+-83
+-91
+77
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+80
+67
+39
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+83
+71
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+71
+44
+33
+3
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-84
+85
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-84
+85
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+84
+72
+44
+33
+4
+-22
+-44
+-62
+-77
+-84
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+90
+67
+38
+6
+-20
+-42
+-60
+-72
+87
+64
+35
+4
+-21
+-44
+-61
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-23
+-46
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+21
+-6
+-31
+-51
+-69
+-82
+-91
+76
+63
+37
+27
+-2
+-28
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+0
+-25
+-46
+-64
+-79
+-87
+82
+70
+43
+31
+2
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-61
+-73
+86
+64
+35
+4
+-22
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-76
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-6
+-31
+-51
+-69
+-82
+-91
+76
+64
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+79
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+81
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-86
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+35
+4
+-22
+-44
+-61
+-74
+85
+62
+33
+1
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+77
+64
+36
+27
+-1
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+32
+3
+-24
+-44
+-63
+-77
+-85
+83
+70
+42
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+5
+-20
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-24
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+57
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-7
+-32
+-51
+-69
+-82
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+69
+42
+31
+3
+-24
+-45
+-63
+-77
+-86
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+22
+-5
+-31
+-50
+-68
+-82
+-91
+77
+65
+37
+27
+-2
+-27
+-47
+-66
+-80
+-88
+81
+67
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+69
+42
+32
+2
+-24
+-45
+-63
+-78
+-85
+83
+70
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+83
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+80
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+21
+-6
+-31
+-51
+-69
+-82
+-91
+77
+64
+37
+27
+-2
+-27
+-47
+-66
+-80
+-88
+80
+67
+40
+30
+0
+-25
+-46
+-64
+-79
+-87
+82
+69
+42
+32
+3
+-24
+-45
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+67
+38
+5
+-20
+-42
+-60
+-73
+86
+64
+35
+4
+-22
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+83
+60
+31
+22
+-6
+-31
+-51
+-68
+-82
+-91
+77
+65
+37
+27
+-2
+-27
+-48
+-66
+-80
+-88
+81
+68
+40
+30
+1
+-25
+-45
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+33
+3
+-23
+-44
+-63
+-77
+-86
+83
+71
+43
+33
+4
+-23
+-44
+-63
+-77
+-85
+84
+71
+43
+33
+3
+-23
+-44
+-63
+-77
+-85
+84
+72
+45
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+11
+-15
+-38
+-57
+-69
+89
+67
+38
+6
+-19
+-42
+-60
+-72
+86
+64
+35
+4
+-21
+-44
+-61
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-63
+-75
+85
+61
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+60
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+58
+31
+0
+-25
+-47
+-64
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+31
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+30
+21
+-6
+-31
+-51
+-69
+-82
+-91
+77
+64
+36
+26
+-2
+-28
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-86
+84
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+67
+38
+6
+-20
+-42
+-60
+-72
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-75
+84
+60
+31
+1
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+30
+0
+-25
+-47
+-64
+-77
+80
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-82
+-92
+77
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+80
+68
+40
+30
+1
+-25
+-46
+-64
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-44
+-63
+-78
+-85
+83
+71
+43
+10
+-16
+-39
+-57
+-70
+89
+66
+37
+5
+-20
+-43
+-61
+-73
+86
+63
+35
+3
+-22
+-44
+-62
+-74
+84
+62
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-24
+-46
+-63
+-75
+83
+60
+32
+1
+-24
+-46
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+58
+30
+0
+-25
+-47
+-64
+-76
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+58
+30
+-1
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+59
+30
+-1
+-25
+-47
+-65
+-76
+83
+59
+31
+21
+-7
+-32
+-51
+-69
+-83
+-91
+76
+64
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+80
+68
+40
+29
+0
+-25
+-46
+-65
+-79
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+71
+43
+32
+3
+-23
+-44
+-63
+-77
+-86
+84
+72
+44
+33
+3
+-23
+-44
+-63
+-77
+-84
+85
+72
+44
+33
+4
+-23
+-44
+-62
+-77
+-85
+85
+72
+44
+33
+4
+-22
+-43
+-62
+-77
+-85
+85
+72
+43
+10
+-16
+-39
+-57
+-69
+90
+67
+38
+6
+-19
+-42
+-60
+-72
+87
+64
+35
+4
+-21
+-44
+-61
+-74
+84
+61
+33
+2
+-23
+-45
+-63
+-75
+84
+61
+32
+1
+-24
+-46
+-63
+-75
+84
+60
+31
+0
+-24
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-46
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+58
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-76
+83
+60
+30
+20
+-7
+-32
+-51
+-69
+-83
+-91
+77
+65
+37
+26
+-2
+-28
+-48
+-66
+-80
+-88
+81
+68
+41
+30
+1
+-25
+-46
+-64
+-78
+-87
+82
+70
+42
+31
+2
+-24
+-45
+-63
+-78
+-85
+84
+70
+43
+10
+-16
+-39
+-58
+-70
+89
+66
+37
+6
+-20
+-42
+-60
+-73
+86
+63
+34
+3
+-22
+-44
+-62
+-74
+85
+61
+33
+2
+-23
+-45
+-63
+-75
+83
+61
+32
+1
+-23
+-45
+-63
+-75
+84
+60
+31
+0
+-25
+-46
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+82
+58
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+-1
+-25
+-47
+-64
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-76
+83
+59
+30
+-1
+-25
+-47
+-64
+-76
+81
+59
+31
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-76
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+-1
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-77
+82
+59
+30
+-1
+-25
+-47
+-65
+-77
+81
+58
+30
+-1
+-25
+-47
+-64
+-76
+83
+59
+30
+0
+-25
+-47
+-64
+-77
+82
+59
+30
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
+-47
+-65
+-76
+82
+59
+31
+0
+-25
+-47
+-64
+-77
+81
+58
+30
+-1
+-25
diff --git a/traces/modulation-fsk2a-50.pm3 b/traces/modulation-fsk2a-50.pm3
new file mode 100644 (file)
index 0000000..3fd2d18
--- /dev/null
@@ -0,0 +1,20000 @@
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+71
+64
+38
+29
+-1
+-26
+-46
+-65
+-78
+-91
+75
+68
+42
+30
+1
+-25
+-45
+-63
+-78
+-90
+78
+70
+43
+32
+3
+-23
+-44
+-63
+-77
+-89
+79
+71
+44
+34
+5
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+12
+-15
+-38
+-56
+-72
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-77
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+76
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-25
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+75
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+44
+11
+-15
+-38
+-57
+-72
+85
+66
+38
+6
+-19
+-41
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-79
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+75
+69
+40
+32
+1
+-23
+-45
+-62
+-78
+-89
+77
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+42
+35
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-60
+-75
+81
+62
+35
+4
+-21
+-44
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+60
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+80
+60
+31
+1
+-24
+-46
+-63
+-78
+76
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-79
+-90
+72
+66
+37
+30
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+2
+-23
+-45
+-62
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-43
+-61
+-76
+84
+66
+37
+5
+-20
+-42
+-60
+-75
+81
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+79
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+-90
+72
+67
+38
+29
+-1
+-25
+-47
+-64
+-79
+-90
+75
+70
+41
+32
+1
+-23
+-45
+-62
+-78
+-89
+77
+72
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+81
+62
+35
+4
+-21
+-44
+-61
+-76
+80
+62
+34
+2
+-22
+-44
+-62
+-77
+81
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+80
+60
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+80
+60
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+71
+64
+38
+28
+-1
+-26
+-46
+-65
+-78
+-91
+75
+67
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+69
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+11
+-15
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+1
+-23
+-45
+-62
+-77
+78
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+59
+32
+24
+-5
+-30
+-49
+-67
+-81
+-93
+73
+65
+38
+29
+0
+-26
+-46
+-64
+-78
+-91
+76
+68
+41
+32
+2
+-24
+-44
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+78
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+71
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-22
+-43
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-71
+85
+67
+39
+7
+-19
+-41
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+80
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+76
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+22
+-5
+-30
+-50
+-68
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-47
+-65
+-79
+-91
+76
+68
+41
+31
+2
+-24
+-44
+-63
+-77
+-90
+77
+69
+43
+33
+4
+-23
+-43
+-62
+-76
+-89
+78
+70
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+45
+11
+-15
+-38
+-56
+-72
+84
+66
+39
+7
+-19
+-41
+-59
+-74
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+60
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-24
+-45
+-63
+-77
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+70
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+77
+71
+41
+33
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-60
+-75
+81
+62
+35
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+2
+-22
+-44
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+57
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-47
+-65
+-79
+-91
+76
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+4
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+78
+71
+44
+34
+5
+-22
+-43
+-61
+-76
+-88
+79
+72
+45
+33
+4
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-43
+-61
+-76
+-88
+80
+72
+46
+35
+5
+-21
+-42
+-61
+-75
+-88
+80
+72
+45
+34
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-72
+86
+67
+39
+7
+-18
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+2
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-64
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+75
+70
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+77
+72
+42
+33
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+34
+3
+-22
+-44
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+81
+62
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+64
+38
+29
+-1
+-26
+-46
+-65
+-78
+-91
+76
+69
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+69
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+78
+71
+44
+33
+3
+-23
+-43
+-62
+-76
+-89
+79
+72
+45
+11
+-15
+-38
+-56
+-72
+85
+66
+39
+6
+-19
+-42
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+-90
+72
+67
+38
+30
+-1
+-25
+-47
+-64
+-79
+-90
+75
+70
+40
+33
+2
+-23
+-45
+-62
+-77
+-89
+77
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+43
+35
+4
+-21
+-44
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+81
+62
+35
+3
+-21
+-44
+-61
+-76
+79
+61
+34
+2
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+79
+60
+32
+1
+-24
+-45
+-63
+-77
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+-90
+71
+66
+37
+29
+-1
+-26
+-47
+-64
+-79
+-90
+74
+70
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+44
+35
+3
+-21
+-44
+-61
+-77
+-88
+78
+74
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+79
+73
+44
+36
+5
+-20
+-43
+-61
+-76
+-87
+77
+73
+44
+36
+4
+-21
+-43
+-61
+-76
+-88
+78
+74
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+79
+74
+44
+36
+4
+-21
+-43
+-61
+-75
+83
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-44
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-76
+82
+61
+32
+1
+-23
+-45
+-63
+-78
+79
+60
+33
+1
+-23
+-45
+-63
+-78
+78
+60
+32
+1
+-24
+-45
+-63
+-77
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+65
+38
+27
+-1
+-27
+-47
+-65
+-79
+-91
+76
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+4
+-23
+-43
+-62
+-76
+-89
+79
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+45
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+34
+4
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+4
+-22
+-43
+-61
+-76
+-88
+79
+73
+46
+34
+5
+-22
+-43
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+46
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-72
+85
+67
+39
+6
+-19
+-42
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+64
+38
+29
+0
+-26
+-46
+-65
+-79
+-91
+75
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+4
+-22
+-43
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+70
+44
+11
+-15
+-38
+-56
+-72
+86
+66
+39
+6
+-19
+-41
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+59
+32
+1
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+63
+38
+28
+0
+-26
+-46
+-65
+-78
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+45
+11
+-15
+-38
+-56
+-72
+85
+67
+39
+7
+-19
+-41
+-59
+-74
+81
+63
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-62
+-77
+78
+60
+33
+2
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-79
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+2
+-23
+-45
+-62
+-77
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-89
+77
+72
+43
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+44
+35
+4
+-21
+-44
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+81
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+2
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+-90
+72
+66
+38
+30
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-75
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+33
+2
+-23
+-44
+-62
+-77
+81
+60
+33
+1
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+80
+60
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+63
+38
+28
+-1
+-26
+-47
+-65
+-79
+-91
+75
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+4
+-23
+-43
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-88
+78
+71
+45
+11
+-15
+-38
+-56
+-72
+85
+66
+39
+6
+-19
+-41
+-59
+-74
+81
+63
+36
+4
+-21
+-43
+-61
+-76
+82
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+24
+-4
+-30
+-49
+-67
+-81
+-93
+72
+65
+39
+29
+0
+-26
+-46
+-64
+-78
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+4
+-23
+-43
+-62
+-76
+-89
+78
+70
+44
+34
+5
+-22
+-43
+-61
+-76
+-88
+79
+71
+45
+34
+5
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-43
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-43
+-61
+-75
+-88
+79
+72
+46
+12
+-14
+-37
+-56
+-71
+86
+67
+39
+7
+-18
+-41
+-59
+-74
+81
+63
+36
+5
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-23
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-25
+-46
+-64
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+58
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+75
+68
+41
+31
+2
+-24
+-44
+-63
+-77
+-90
+77
+70
+43
+32
+3
+-23
+-44
+-62
+-77
+-89
+78
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+45
+11
+-15
+-38
+-56
+-72
+86
+67
+38
+6
+-19
+-42
+-59
+-75
+81
+62
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+2
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-24
+-45
+-63
+-77
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-25
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+65
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-43
+-61
+-75
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+23
+-5
+-31
+-50
+-68
+-81
+-93
+73
+65
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+75
+68
+42
+32
+3
+-24
+-44
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+78
+71
+43
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+34
+5
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-22
+-43
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-22
+-42
+-61
+-75
+-88
+80
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-72
+85
+67
+39
+7
+-19
+-41
+-59
+-74
+82
+64
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+-90
+71
+65
+37
+30
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-62
+-77
+-89
+76
+70
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+83
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+33
+2
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+76
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+-1
+-26
+-46
+-65
+-78
+-91
+76
+68
+41
+31
+1
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+79
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+45
+11
+-15
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+62
+33
+2
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+-90
+72
+67
+38
+30
+-1
+-25
+-46
+-64
+-79
+-90
+74
+69
+40
+32
+2
+-23
+-45
+-62
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-75
+84
+65
+37
+6
+-19
+-42
+-60
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+33
+2
+-23
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-62
+-77
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-79
+-90
+72
+67
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+2
+-23
+-45
+-62
+-77
+-89
+75
+70
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-76
+-88
+78
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+36
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+36
+4
+-21
+-43
+-60
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-60
+-75
+85
+66
+38
+6
+-20
+-42
+-60
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+80
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+58
+32
+1
+-24
+-45
+-63
+-78
+80
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+57
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+65
+38
+29
+0
+-26
+-46
+-65
+-78
+-91
+75
+68
+41
+31
+2
+-24
+-44
+-63
+-77
+-90
+77
+69
+42
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+34
+5
+-22
+-43
+-62
+-76
+-89
+78
+71
+45
+34
+4
+-22
+-43
+-61
+-76
+-88
+79
+71
+45
+34
+5
+-22
+-43
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+71
+45
+34
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+46
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-71
+86
+67
+39
+6
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-23
+-45
+-63
+-77
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+45
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+12
+-14
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+36
+5
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-63
+-78
+80
+60
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+64
+38
+29
+0
+-26
+-46
+-65
+-78
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+32
+3
+-23
+-44
+-62
+-76
+-89
+79
+72
+45
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+11
+-15
+-38
+-56
+-72
+85
+66
+39
+7
+-19
+-42
+-59
+-74
+82
+64
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+-90
+71
+66
+37
+29
+-1
+-26
+-47
+-64
+-79
+-90
+75
+70
+41
+32
+1
+-23
+-45
+-63
+-78
+-89
+77
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-44
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+67
+38
+29
+-1
+-26
+-47
+-64
+-79
+-90
+74
+70
+41
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+73
+43
+34
+3
+-21
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-75
+83
+66
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+35
+4
+-21
+-44
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+-90
+72
+67
+38
+30
+-1
+-25
+-47
+-64
+-79
+-90
+75
+70
+41
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+3
+-21
+-44
+-61
+-77
+-88
+77
+73
+44
+35
+4
+-21
+-44
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-76
+81
+61
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+79
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+22
+-5
+-30
+-50
+-68
+-81
+-94
+72
+65
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+79
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+45
+11
+-15
+-38
+-56
+-72
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+83
+64
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+24
+-5
+-30
+-49
+-67
+-81
+-93
+72
+65
+39
+29
+0
+-26
+-46
+-65
+-78
+-91
+76
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+71
+44
+33
+3
+-23
+-44
+-62
+-76
+-89
+79
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-76
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-71
+85
+66
+39
+6
+-19
+-41
+-59
+-75
+82
+64
+36
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+76
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+57
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-46
+-65
+-78
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+79
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+11
+-15
+-38
+-56
+-72
+85
+66
+39
+7
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+82
+62
+35
+3
+-22
+-44
+-62
+-77
+78
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-26
+-47
+-64
+-79
+-90
+75
+69
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-76
+-88
+77
+74
+44
+35
+3
+-21
+-44
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+3
+-22
+-45
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+-1
+-26
+-47
+-65
+-78
+-91
+75
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+79
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+34
+4
+-22
+-43
+-61
+-76
+-89
+79
+72
+44
+34
+5
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+35
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+71
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+71
+45
+12
+-14
+-38
+-56
+-72
+86
+67
+39
+7
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+60
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-2
+-26
+-48
+-65
+-80
+-91
+75
+70
+41
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+33
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+43
+35
+3
+-22
+-44
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+2
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+60
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-64
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+76
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-43
+-62
+-77
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+45
+11
+-15
+-38
+-56
+-72
+85
+67
+39
+6
+-19
+-41
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+79
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+1
+-23
+-45
+-63
+-77
+78
+60
+33
+1
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+-90
+72
+67
+38
+29
+-1
+-26
+-47
+-64
+-79
+-90
+75
+70
+41
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+72
+43
+34
+3
+-22
+-44
+-61
+-77
+-88
+76
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+44
+35
+3
+-22
+-44
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+2
+-22
+-45
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+59
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+-90
+71
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+3
+-21
+-44
+-61
+-76
+-88
+77
+72
+43
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+36
+4
+-21
+-43
+-61
+-76
+-88
+77
+74
+45
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+74
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+78
+74
+44
+35
+4
+-21
+-43
+-61
+-75
+85
+66
+39
+6
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+33
+2
+-22
+-44
+-62
+-77
+81
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+80
+60
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+76
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+78
+72
+45
+34
+4
+-22
+-43
+-61
+-76
+-88
+79
+72
+45
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+72
+46
+35
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+46
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+46
+34
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+46
+35
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+46
+35
+5
+-21
+-42
+-61
+-75
+-88
+80
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+80
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+80
+73
+45
+12
+-14
+-37
+-56
+-72
+85
+66
+39
+6
+-19
+-41
+-59
+-75
+83
+64
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+35
+3
+-22
+-44
+-62
+-76
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+22
+-6
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+-1
+-26
+-47
+-65
+-79
+-91
+76
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+44
+11
+-15
+-38
+-56
+-72
+85
+66
+39
+6
+-19
+-42
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+33
+2
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+22
+-5
+-30
+-50
+-68
+-81
+-93
+72
+64
+37
+28
+0
+-26
+-46
+-65
+-79
+-91
+76
+68
+41
+31
+2
+-24
+-44
+-63
+-77
+-90
+77
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+70
+43
+33
+4
+-22
+-43
+-62
+-76
+-88
+78
+71
+44
+11
+-15
+-38
+-56
+-72
+85
+66
+39
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+82
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+79
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-79
+-90
+72
+66
+37
+30
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-62
+-78
+-89
+76
+70
+41
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+62
+35
+4
+-21
+-44
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-25
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+2
+-23
+-45
+-62
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-61
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-76
+84
+66
+38
+6
+-19
+-42
+-60
+-75
+82
+62
+35
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+2
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+-90
+72
+67
+37
+30
+-1
+-25
+-47
+-64
+-79
+-90
+75
+69
+40
+32
+2
+-23
+-45
+-62
+-77
+-89
+77
+71
+42
+33
+3
+-22
+-44
+-62
+-77
+-89
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+43
+35
+4
+-21
+-43
+-61
+-75
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+35
+4
+-21
+-44
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+80
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+71
+63
+38
+28
+-1
+-26
+-47
+-65
+-79
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+4
+-22
+-43
+-62
+-76
+-89
+78
+70
+44
+34
+4
+-22
+-43
+-62
+-76
+-88
+78
+70
+44
+11
+-15
+-38
+-56
+-72
+85
+67
+39
+7
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-22
+-45
+-62
+-77
+78
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+60
+32
+24
+-5
+-30
+-49
+-67
+-81
+-93
+73
+65
+38
+29
+0
+-26
+-46
+-64
+-78
+-91
+76
+68
+41
+31
+2
+-24
+-44
+-63
+-77
+-90
+77
+69
+43
+33
+4
+-22
+-43
+-62
+-76
+-89
+78
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+78
+71
+45
+34
+5
+-22
+-43
+-61
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+71
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+12
+-14
+-38
+-56
+-72
+86
+67
+39
+6
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+79
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-25
+-46
+-64
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+57
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+81
+59
+31
+22
+-6
+-31
+-50
+-68
+-81
+-94
+72
+64
+38
+29
+0
+-26
+-46
+-65
+-78
+-91
+75
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+78
+70
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+79
+71
+44
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+44
+11
+-15
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+64
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+75
+69
+40
+32
+1
+-23
+-45
+-62
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+72
+43
+35
+4
+-21
+-43
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+81
+62
+35
+4
+-21
+-44
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+1
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-25
+-46
+-64
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-64
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+76
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+80
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+-1
+-26
+-47
+-65
+-79
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+45
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+35
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+12
+-14
+-37
+-56
+-71
+85
+66
+39
+7
+-19
+-41
+-59
+-74
+82
+64
+36
+4
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-61
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-77
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+-90
+72
+66
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-62
+-77
+-89
+76
+71
+41
+33
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+84
+65
+37
+6
+-19
+-42
+-60
+-75
+82
+62
+35
+4
+-21
+-44
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+76
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-45
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-25
+-46
+-64
+-78
+78
+59
+32
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+65
+38
+28
+0
+-26
+-46
+-65
+-78
+-91
+75
+68
+41
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+70
+43
+33
+3
+-23
+-43
+-62
+-76
+-89
+78
+71
+44
+33
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+12
+-14
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-59
+-75
+81
+63
+36
+4
+-21
+-43
+-61
+-76
+79
+61
+34
+3
+-22
+-44
+-62
+-77
+79
+61
+33
+1
+-23
+-45
+-62
+-77
+78
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+-90
+72
+67
+38
+30
+-1
+-25
+-47
+-64
+-79
+-90
+74
+70
+40
+33
+2
+-23
+-45
+-62
+-77
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+73
+44
+36
+4
+-21
+-43
+-61
+-75
+84
+65
+37
+6
+-19
+-42
+-60
+-75
+81
+62
+35
+3
+-21
+-44
+-61
+-76
+79
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+32
+1
+-23
+-45
+-63
+-78
+79
+60
+33
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+60
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+-90
+71
+66
+37
+29
+-1
+-26
+-47
+-64
+-79
+-90
+74
+70
+41
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+72
+42
+33
+2
+-22
+-44
+-62
+-77
+-88
+77
+72
+43
+35
+3
+-22
+-44
+-61
+-77
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-44
+-61
+-76
+-88
+77
+74
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+79
+74
+44
+35
+4
+-21
+-43
+-61
+-76
+-88
+78
+73
+44
+36
+5
+-20
+-43
+-60
+-75
+84
+66
+38
+6
+-19
+-42
+-60
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+81
+61
+32
+1
+-23
+-45
+-63
+-78
+78
+60
+32
+2
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+79
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+22
+-5
+-30
+-50
+-68
+-81
+-93
+73
+65
+38
+28
+0
+-26
+-46
+-65
+-79
+-91
+76
+68
+41
+31
+2
+-24
+-44
+-63
+-77
+-90
+77
+69
+43
+33
+3
+-23
+-44
+-62
+-76
+-89
+78
+71
+44
+33
+3
+-23
+-44
+-62
+-76
+-89
+79
+72
+45
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+72
+45
+34
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-22
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+34
+5
+-22
+-42
+-61
+-76
+-88
+79
+72
+45
+35
+5
+-21
+-42
+-61
+-75
+-88
+79
+72
+45
+12
+-14
+-38
+-56
+-72
+86
+67
+39
+7
+-19
+-41
+-59
+-74
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+34
+3
+-22
+-44
+-62
+-77
+80
+61
+33
+2
+-23
+-45
+-62
+-77
+78
+59
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-64
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+23
+-5
+-30
+-50
+-67
+-81
+-93
+72
+64
+38
+29
+0
+-26
+-46
+-65
+-78
+-91
+75
+68
+42
+31
+2
+-24
+-45
+-63
+-77
+-90
+77
+69
+43
+32
+3
+-23
+-44
+-62
+-77
+-89
+78
+70
+44
+34
+4
+-22
+-43
+-62
+-76
+-89
+79
+72
+45
+12
+-14
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+35
+4
+-21
+-43
+-61
+-76
+80
+62
+34
+3
+-22
+-44
+-61
+-77
+79
+60
+33
+2
+-23
+-45
+-63
+-77
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-23
+-45
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-25
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+79
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+0
+-24
+-46
+-63
+-78
+80
+59
+31
+23
+-5
+-30
+-50
+-68
+-81
+-93
+72
+64
+38
+28
+-1
+-26
+-46
+-65
+-79
+-91
+75
+68
+41
+31
+1
+-24
+-45
+-63
+-77
+-90
+77
+69
+43
+33
+3
+-23
+-44
+-62
+-77
+-89
+78
+70
+44
+34
+4
+-22
+-43
+-62
+-76
+-88
+79
+71
+45
+12
+-15
+-38
+-56
+-72
+85
+66
+38
+6
+-19
+-42
+-59
+-75
+82
+63
+36
+4
+-21
+-43
+-61
+-76
+81
+62
+34
+3
+-22
+-44
+-62
+-77
+79
+60
+33
+2
+-23
+-45
+-62
+-77
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-45
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+-90
+72
+65
+37
+29
+-1
+-25
+-47
+-64
+-79
+-90
+74
+69
+40
+32
+1
+-23
+-45
+-63
+-78
+-89
+76
+71
+42
+34
+3
+-22
+-44
+-62
+-77
+-88
+77
+73
+43
+35
+3
+-21
+-43
+-61
+-76
+-88
+77
+73
+44
+35
+4
+-21
+-43
+-61
+-76
+84
+65
+38
+6
+-19
+-42
+-60
+-75
+81
+63
+36
+4
+-21
+-43
+-61
+-76
+80
+61
+33
+2
+-22
+-45
+-62
+-77
+79
+61
+33
+2
+-23
+-45
+-62
+-77
+79
+60
+32
+1
+-24
+-46
+-63
+-78
+78
+60
+32
+1
+-23
+-45
+-63
+-77
+79
+59
+32
+1
+-24
+-46
+-63
+-78
+78
+58
+31
+1
+-24
+-46
+-63
+-78
+78
+59
+31
+1
+-24
+-46
+-63
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-64
+-78
+79
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+79
+59
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+31
+0
+-24
+-46
+-63
+-78
+78
+59
+32
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
+-63
+-78
+77
+58
+31
+0
+-24
+-46
+-63
+-78
+77
+58
+31
+1
+-24
+-46
diff --git a/traces/modulation-psk1-32-4.pm3 b/traces/modulation-psk1-32-4.pm3
new file mode 100644 (file)
index 0000000..504c305
--- /dev/null
@@ -0,0 +1,20000 @@
+8
+52
+65
+26
+-13
+-46
+-6
+17
+-20
+-52
+1
+14
+-23
+-54
+3
+17
+-20
+-52
+5
+19
+-18
+-50
+5
+20
+-18
+-50
+6
+21
+-16
+-49
+8
+22
+-16
+-49
+-75
+-98
+55
+101
+51
+7
+11
+11
+-25
+-57
+5
+24
+-14
+-47
+6
+21
+-16
+-49
+7
+21
+-17
+-49
+8
+22
+-16
+-48
+8
+22
+-16
+-48
+8
+22
+-16
+-48
+8
+21
+-16
+-49
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+22
+-15
+-48
+8
+23
+-14
+-47
+9
+23
+-15
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+8
+23
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+25
+-14
+-46
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-47
+9
+23
+-14
+-47
+10
+24
+-14
+-47
+10
+53
+67
+28
+-10
+-44
+-4
+18
+-19
+-51
+3
+15
+-22
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-50
+6
+21
+-17
+-49
+7
+21
+-16
+-49
+7
+22
+-16
+-48
+8
+23
+-15
+-48
+8
+22
+-15
+-48
+9
+23
+-15
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-48
+-74
+-98
+56
+102
+52
+8
+12
+12
+-24
+-56
+6
+25
+-14
+-47
+8
+22
+-16
+-48
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+9
+22
+-16
+-48
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+22
+-16
+-48
+9
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-15
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+8
+23
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+25
+-14
+-46
+10
+23
+-15
+-47
+9
+23
+-15
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+23
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+54
+67
+28
+-10
+-44
+-5
+18
+-19
+-51
+2
+15
+-21
+-53
+4
+18
+-19
+-51
+5
+19
+-18
+-50
+5
+20
+-17
+-50
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+7
+22
+-15
+-48
+8
+22
+-15
+-48
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+23
+-14
+-47
+8
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+-74
+-97
+55
+102
+52
+8
+12
+13
+-23
+-55
+6
+25
+-13
+-46
+8
+22
+-16
+-49
+8
+21
+-16
+-49
+7
+22
+-16
+-48
+8
+22
+-15
+-48
+9
+23
+-15
+-48
+9
+21
+-17
+-49
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+8
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+23
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-47
+9
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+53
+67
+29
+-10
+-44
+-4
+18
+-19
+-51
+2
+15
+-22
+-53
+3
+18
+-19
+-51
+5
+19
+-18
+-50
+6
+20
+-17
+-50
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+-75
+-98
+54
+100
+50
+6
+11
+12
+-25
+-56
+5
+25
+-14
+-47
+8
+22
+-16
+-49
+7
+21
+-17
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+8
+22
+-16
+-48
+8
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-13
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+25
+-13
+-46
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+25
+-13
+-47
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+54
+67
+28
+-10
+-44
+-4
+18
+-19
+-51
+3
+16
+-21
+-53
+3
+18
+-19
+-51
+5
+20
+-18
+-50
+5
+20
+-17
+-50
+7
+22
+-16
+-49
+7
+22
+-16
+-48
+-75
+-99
+54
+101
+51
+7
+11
+11
+-25
+-57
+5
+24
+-14
+-47
+7
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+22
+-16
+-48
+8
+22
+-15
+-48
+8
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+9
+53
+67
+29
+-10
+-44
+-5
+17
+-20
+-52
+1
+15
+-22
+-54
+3
+19
+-19
+-51
+5
+20
+-17
+-50
+5
+20
+-17
+-50
+7
+21
+-17
+-49
+8
+22
+-16
+-49
+-75
+-99
+53
+100
+51
+6
+11
+12
+-25
+-56
+5
+24
+-14
+-47
+7
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+22
+-16
+-48
+8
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-13
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+53
+67
+29
+-10
+-44
+-5
+18
+-19
+-51
+2
+16
+-21
+-53
+3
+19
+-19
+-51
+5
+20
+-17
+-50
+5
+20
+-17
+-50
+7
+22
+-16
+-49
+8
+22
+-16
+-48
+-75
+-99
+53
+101
+51
+7
+11
+12
+-24
+-56
+5
+24
+-14
+-47
+6
+21
+-16
+-49
+7
+21
+-17
+-49
+8
+22
+-15
+-48
+8
+22
+-16
+-49
+8
+52
+65
+27
+-12
+-46
+-6
+16
+-21
+-53
+1
+14
+-23
+-54
+2
+17
+-20
+-52
+4
+19
+-18
+-51
+5
+20
+-18
+-50
+7
+20
+-17
+-50
+6
+21
+-17
+-49
+-76
+-99
+53
+100
+51
+6
+11
+12
+-24
+-56
+5
+24
+-14
+-47
+7
+22
+-16
+-49
+7
+21
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+8
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+25
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+54
+67
+28
+-11
+-44
+-5
+18
+-19
+-52
+2
+16
+-21
+-53
+4
+19
+-19
+-51
+5
+20
+-17
+-50
+6
+20
+-18
+-50
+6
+21
+-16
+-49
+7
+22
+-15
+-48
+-75
+-99
+53
+101
+51
+7
+11
+12
+-24
+-56
+5
+24
+-14
+-47
+7
+22
+-17
+-49
+7
+21
+-17
+-49
+8
+22
+-16
+-48
+9
+23
+-15
+-48
+9
+52
+65
+27
+-12
+-46
+-6
+17
+-20
+-52
+1
+14
+-23
+-55
+1
+17
+-20
+-52
+4
+19
+-19
+-51
+5
+20
+-18
+-50
+7
+21
+-17
+-50
+7
+22
+-16
+-49
+7
+23
+-15
+-48
+8
+22
+-15
+-48
+8
+23
+-15
+-48
+8
+22
+-15
+-48
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+-74
+-98
+54
+101
+51
+7
+13
+13
+-24
+-55
+6
+24
+-14
+-47
+8
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+22
+-16
+-48
+9
+23
+-15
+-48
+8
+22
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+8
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-15
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+25
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-47
+9
+24
+-14
+-47
+10
+25
+-13
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-13
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+25
+-13
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-13
+-46
+10
+23
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+54
+68
+29
+-10
+-44
+-5
+18
+-20
+-52
+2
+16
+-21
+-54
+3
+19
+-19
+-51
+6
+20
+-18
+-50
+6
+20
+-17
+-50
+7
+21
+-17
+-49
+7
+22
+-16
+-49
+-75
+-99
+52
+100
+50
+6
+11
+13
+-24
+-56
+5
+25
+-14
+-47
+8
+22
+-16
+-49
+7
+21
+-17
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-15
+-48
+8
+21
+-17
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+23
+-15
+-48
+9
+24
+-15
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-13
+-46
+10
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+25
+-13
+-46
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-13
+-46
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+54
+67
+29
+-10
+-44
+-5
+17
+-20
+-52
+2
+16
+-21
+-53
+4
+19
+-18
+-51
+5
+19
+-18
+-50
+4
+20
+-18
+-50
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+-75
+-99
+51
+100
+50
+6
+12
+13
+-24
+-56
+5
+25
+-14
+-47
+7
+22
+-17
+-49
+7
+21
+-17
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+9
+23
+-15
+-48
+9
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+25
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+8
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+54
+68
+30
+-10
+-44
+-5
+17
+-20
+-52
+2
+16
+-21
+-53
+4
+19
+-19
+-51
+5
+20
+-18
+-50
+5
+20
+-18
+-50
+7
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+-75
+-98
+53
+101
+51
+7
+13
+13
+-24
+-56
+5
+25
+-13
+-47
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-48
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+8
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-13
+-47
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+54
+68
+30
+-10
+-44
+-5
+17
+-20
+-52
+1
+16
+-21
+-53
+4
+19
+-18
+-51
+6
+20
+-17
+-50
+5
+20
+-18
+-50
+6
+22
+-16
+-49
+8
+22
+-15
+-48
+-75
+-99
+51
+100
+50
+6
+12
+13
+-24
+-56
+5
+25
+-14
+-47
+7
+21
+-17
+-49
+7
+21
+-17
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+8
+21
+-17
+-49
+7
+22
+-16
+-49
+7
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+25
+-13
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+53
+68
+30
+-9
+-44
+-5
+17
+-20
+-52
+2
+15
+-22
+-54
+3
+19
+-19
+-51
+5
+20
+-17
+-50
+6
+20
+-17
+-50
+7
+21
+-17
+-50
+7
+22
+-16
+-49
+-76
+-99
+51
+100
+50
+6
+11
+12
+-24
+-56
+5
+25
+-13
+-47
+7
+22
+-16
+-49
+7
+22
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+52
+66
+28
+-11
+-45
+-7
+16
+-21
+-53
+1
+14
+-22
+-54
+2
+18
+-20
+-52
+4
+19
+-19
+-51
+5
+20
+-18
+-50
+6
+21
+-17
+-49
+7
+22
+-16
+-49
+-76
+-99
+51
+100
+50
+6
+13
+12
+-24
+-56
+4
+24
+-15
+-48
+7
+22
+-17
+-49
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+9
+23
+-16
+-48
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+22
+-16
+-49
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+8
+22
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+10
+53
+68
+30
+-9
+-44
+-5
+17
+-20
+-53
+2
+15
+-22
+-54
+3
+19
+-19
+-51
+5
+21
+-17
+-50
+6
+20
+-17
+-50
+7
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+-75
+-98
+51
+101
+51
+6
+14
+14
+-23
+-55
+5
+25
+-14
+-47
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+9
+23
+-16
+-49
+8
+22
+-16
+-48
+7
+23
+-16
+-48
+9
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+23
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+53
+68
+30
+-9
+-44
+-5
+18
+-20
+-52
+2
+15
+-22
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-51
+6
+20
+-18
+-50
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+7
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-16
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+-75
+-98
+51
+101
+51
+6
+13
+14
+-23
+-55
+5
+25
+-14
+-47
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+8
+22
+-16
+-49
+7
+22
+-16
+-49
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+53
+68
+30
+-9
+-43
+-6
+17
+-20
+-53
+3
+16
+-22
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-50
+6
+20
+-17
+-50
+7
+21
+-17
+-49
+8
+22
+-16
+-49
+-76
+-100
+50
+99
+49
+5
+12
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+9
+24
+-15
+-48
+8
+23
+-15
+-48
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-48
+8
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+25
+-14
+-47
+10
+25
+-13
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+23
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+54
+67
+30
+-9
+-44
+-6
+17
+-21
+-53
+2
+16
+-21
+-53
+4
+18
+-19
+-51
+4
+20
+-18
+-50
+5
+21
+-17
+-50
+8
+22
+-16
+-49
+8
+21
+-17
+-50
+-76
+-100
+49
+100
+50
+5
+13
+13
+-24
+-56
+4
+24
+-14
+-48
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-48
+9
+24
+-15
+-48
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+52
+67
+30
+-9
+-44
+-6
+17
+-20
+-53
+2
+16
+-21
+-53
+2
+18
+-19
+-52
+5
+20
+-18
+-50
+5
+20
+-17
+-50
+7
+21
+-17
+-49
+8
+22
+-17
+-50
+-76
+-100
+50
+100
+50
+5
+13
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+22
+-17
+-49
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+54
+67
+31
+-9
+-44
+-6
+17
+-21
+-53
+3
+16
+-21
+-54
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-17
+-50
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+-76
+-100
+50
+100
+50
+5
+13
+13
+-24
+-56
+4
+24
+-14
+-48
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+51
+66
+29
+-11
+-45
+-7
+16
+-22
+-54
+1
+14
+-23
+-55
+1
+18
+-20
+-52
+5
+19
+-18
+-51
+5
+20
+-18
+-50
+6
+21
+-17
+-50
+7
+22
+-16
+-49
+-76
+-100
+49
+99
+49
+5
+12
+13
+-24
+-56
+5
+25
+-14
+-47
+7
+22
+-16
+-49
+7
+22
+-17
+-49
+8
+22
+-17
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+22
+-16
+-49
+8
+22
+-16
+-49
+7
+23
+-16
+-49
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+23
+-16
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+25
+-13
+-47
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+54
+68
+31
+-9
+-43
+-7
+17
+-21
+-53
+2
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+-76
+-99
+49
+99
+49
+5
+13
+13
+-24
+-56
+4
+24
+-14
+-48
+8
+21
+-17
+-50
+8
+22
+-17
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+52
+66
+29
+-10
+-44
+-7
+16
+-21
+-54
+1
+14
+-23
+-55
+2
+18
+-20
+-52
+4
+19
+-18
+-51
+5
+20
+-18
+-50
+6
+21
+-17
+-50
+8
+22
+-17
+-49
+8
+23
+-16
+-49
+7
+22
+-16
+-49
+9
+23
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+-75
+-99
+50
+101
+51
+6
+15
+14
+-23
+-56
+5
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+23
+-15
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+9
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+9
+24
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+53
+69
+31
+-9
+-43
+-7
+16
+-21
+-54
+2
+16
+-21
+-54
+4
+20
+-18
+-51
+5
+20
+-18
+-51
+6
+20
+-17
+-50
+6
+21
+-17
+-49
+7
+22
+-16
+-49
+-76
+-100
+48
+100
+49
+5
+14
+14
+-23
+-56
+4
+24
+-14
+-48
+8
+22
+-17
+-49
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+22
+-16
+-49
+7
+21
+-17
+-49
+7
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+9
+24
+-14
+-47
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+53
+69
+31
+-9
+-43
+-7
+16
+-21
+-53
+2
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+-76
+-100
+48
+99
+49
+5
+13
+13
+-24
+-56
+5
+25
+-14
+-48
+8
+22
+-16
+-49
+6
+22
+-17
+-50
+8
+23
+-15
+-49
+9
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-48
+8
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+53
+68
+31
+-8
+-43
+-6
+16
+-21
+-53
+2
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-50
+5
+20
+-18
+-50
+7
+21
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+-75
+-99
+50
+100
+50
+6
+14
+14
+-23
+-55
+5
+25
+-13
+-47
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-15
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-16
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+52
+68
+31
+-8
+-43
+-7
+16
+-21
+-54
+2
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-50
+6
+20
+-18
+-50
+7
+22
+-17
+-49
+8
+22
+-17
+-50
+-76
+-100
+47
+99
+49
+5
+14
+13
+-24
+-56
+5
+25
+-14
+-48
+8
+23
+-16
+-49
+7
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+8
+22
+-17
+-49
+7
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+22
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-47
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+53
+68
+32
+-8
+-43
+-7
+16
+-22
+-54
+3
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+21
+-17
+-50
+7
+22
+-17
+-50
+-77
+-100
+47
+99
+49
+4
+14
+14
+-23
+-56
+4
+24
+-14
+-48
+8
+23
+-16
+-49
+7
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+52
+66
+30
+-10
+-44
+-8
+15
+-22
+-54
+1
+15
+-22
+-55
+2
+18
+-20
+-53
+4
+19
+-19
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+-77
+-100
+47
+99
+49
+4
+14
+14
+-24
+-56
+4
+25
+-14
+-48
+7
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-48
+8
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+23
+-16
+-48
+9
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+52
+68
+32
+-8
+-43
+-7
+16
+-21
+-54
+3
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-51
+6
+21
+-18
+-50
+7
+21
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+-75
+-99
+48
+100
+50
+5
+15
+14
+-24
+-56
+5
+26
+-13
+-47
+9
+23
+-15
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+23
+-15
+-48
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+53
+68
+32
+-8
+-43
+-7
+16
+-21
+-54
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-17
+-50
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+7
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+8
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+8
+23
+-15
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-14
+-48
+-75
+-99
+48
+100
+49
+5
+15
+15
+-23
+-55
+5
+26
+-13
+-47
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-17
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+53
+68
+33
+-8
+-42
+-7
+16
+-21
+-54
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+20
+-17
+-50
+7
+22
+-17
+-50
+8
+22
+-16
+-49
+-76
+-100
+47
+99
+49
+4
+14
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-49
+8
+22
+-17
+-50
+8
+22
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-47
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+23
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+53
+68
+32
+-8
+-43
+-7
+16
+-21
+-54
+2
+16
+-21
+-54
+3
+18
+-20
+-52
+5
+20
+-18
+-50
+5
+21
+-17
+-51
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+-76
+-100
+47
+99
+48
+4
+14
+13
+-24
+-57
+4
+25
+-14
+-48
+7
+22
+-16
+-49
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+52
+68
+33
+-8
+-43
+-7
+15
+-23
+-55
+2
+16
+-22
+-54
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-18
+-51
+7
+22
+-16
+-49
+7
+21
+-17
+-50
+-77
+-101
+46
+99
+48
+4
+15
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-49
+7
+22
+-17
+-50
+8
+22
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+53
+68
+32
+-8
+-43
+-7
+16
+-22
+-54
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+-76
+-100
+46
+99
+48
+4
+14
+13
+-24
+-56
+5
+24
+-15
+-48
+8
+22
+-16
+-49
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+8
+51
+67
+30
+-10
+-44
+-8
+14
+-23
+-55
+1
+15
+-22
+-55
+1
+18
+-20
+-53
+4
+20
+-18
+-51
+5
+20
+-18
+-51
+6
+21
+-17
+-50
+6
+22
+-17
+-50
+-77
+-101
+46
+98
+48
+4
+14
+14
+-24
+-56
+3
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-17
+-49
+8
+23
+-15
+-48
+9
+23
+-15
+-49
+9
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-15
+-49
+8
+24
+-15
+-48
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+8
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+25
+-14
+-47
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+53
+69
+32
+-8
+-43
+-7
+16
+-22
+-54
+2
+16
+-21
+-54
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+6
+22
+-16
+-49
+7
+23
+-16
+-49
+-77
+-100
+46
+98
+48
+4
+15
+14
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-49
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+51
+67
+30
+-10
+-44
+-8
+15
+-23
+-55
+1
+15
+-23
+-55
+1
+18
+-20
+-53
+4
+20
+-19
+-51
+5
+20
+-18
+-51
+7
+21
+-17
+-51
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+7
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+-76
+-100
+47
+100
+49
+5
+16
+15
+-23
+-55
+5
+26
+-14
+-48
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+23
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-15
+-49
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-47
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+52
+69
+33
+-7
+-42
+-7
+15
+-22
+-55
+1
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+21
+-17
+-50
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+23
+-16
+-50
+-77
+-100
+45
+98
+48
+4
+15
+14
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+53
+69
+33
+-8
+-43
+-8
+15
+-22
+-54
+3
+17
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+20
+-18
+-51
+7
+22
+-17
+-50
+7
+23
+-16
+-50
+-77
+-101
+45
+98
+48
+4
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+22
+-17
+-50
+8
+22
+-17
+-50
+7
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+8
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+53
+69
+33
+-8
+-43
+-8
+15
+-22
+-55
+2
+17
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+21
+-18
+-51
+7
+22
+-17
+-50
+6
+22
+-17
+-50
+8
+23
+-15
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+-76
+-100
+46
+99
+48
+4
+16
+14
+-23
+-56
+4
+26
+-13
+-47
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+53
+69
+33
+-7
+-42
+-8
+15
+-23
+-55
+2
+16
+-21
+-54
+4
+20
+-18
+-51
+6
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+-77
+-101
+45
+98
+48
+3
+15
+14
+-23
+-56
+4
+26
+-14
+-48
+8
+23
+-16
+-49
+8
+22
+-17
+-50
+7
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+23
+-16
+-49
+9
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-49
+9
+53
+69
+33
+-7
+-42
+-7
+15
+-23
+-55
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+6
+21
+-18
+-51
+6
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+23
+-16
+-50
+-77
+-101
+44
+97
+47
+3
+15
+14
+-24
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+52
+67
+31
+-9
+-44
+-9
+15
+-23
+-55
+1
+15
+-23
+-55
+2
+18
+-20
+-53
+5
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-101
+44
+98
+47
+3
+15
+14
+-24
+-56
+4
+24
+-15
+-48
+8
+22
+-16
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-14
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+52
+69
+33
+-7
+-42
+-7
+15
+-23
+-55
+2
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+21
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+7
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+-76
+-100
+45
+99
+49
+4
+17
+15
+-22
+-55
+4
+25
+-14
+-48
+8
+23
+-15
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+52
+69
+34
+-7
+-42
+-7
+15
+-22
+-55
+2
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+21
+-18
+-51
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-49
+9
+23
+-16
+-49
+7
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+23
+-15
+-49
+8
+23
+-16
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+25
+-15
+-48
+-76
+-100
+45
+99
+49
+4
+16
+15
+-22
+-55
+5
+26
+-13
+-47
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-49
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+52
+68
+33
+-7
+-42
+-8
+15
+-23
+-55
+3
+16
+-22
+-54
+3
+19
+-20
+-52
+5
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+21
+-17
+-50
+7
+22
+-17
+-50
+-77
+-101
+44
+98
+47
+3
+16
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+26
+-14
+-48
+9
+24
+-16
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+52
+68
+33
+-7
+-43
+-8
+15
+-23
+-55
+3
+17
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+-77
+-102
+44
+97
+47
+3
+16
+14
+-23
+-56
+4
+24
+-15
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-50
+8
+24
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+24
+-16
+-49
+9
+24
+-15
+-48
+8
+23
+-15
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+51
+68
+33
+-7
+-43
+-8
+14
+-23
+-55
+2
+16
+-22
+-55
+3
+19
+-20
+-52
+5
+21
+-18
+-51
+6
+21
+-17
+-51
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-102
+44
+97
+47
+3
+15
+14
+-24
+-56
+3
+25
+-14
+-48
+9
+23
+-16
+-49
+8
+22
+-17
+-50
+8
+22
+-17
+-50
+9
+24
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-47
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+53
+68
+33
+-8
+-43
+-8
+15
+-23
+-55
+3
+17
+-21
+-54
+4
+18
+-20
+-53
+5
+20
+-18
+-51
+5
+21
+-17
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-50
+-77
+-101
+43
+98
+47
+3
+16
+14
+-23
+-56
+4
+25
+-15
+-48
+8
+23
+-16
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+51
+67
+32
+-9
+-44
+-9
+14
+-24
+-56
+1
+15
+-23
+-55
+2
+18
+-20
+-53
+5
+20
+-19
+-52
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-102
+43
+96
+46
+2
+16
+14
+-23
+-56
+3
+25
+-14
+-48
+8
+22
+-16
+-50
+8
+23
+-16
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-50
+7
+23
+-16
+-49
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-16
+-49
+9
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+52
+69
+33
+-7
+-43
+-8
+15
+-23
+-55
+2
+17
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+7
+23
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+16
+14
+-24
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-50
+8
+23
+-16
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+51
+67
+32
+-8
+-43
+-9
+14
+-24
+-56
+1
+14
+-23
+-56
+2
+18
+-21
+-53
+4
+20
+-19
+-52
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+7
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+8
+23
+-16
+-49
+9
+25
+-15
+-48
+9
+24
+-15
+-49
+-76
+-100
+45
+99
+48
+4
+17
+15
+-22
+-55
+4
+25
+-14
+-48
+8
+24
+-15
+-49
+9
+23
+-16
+-49
+9
+24
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+22
+-17
+-50
+7
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+23
+-16
+-49
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+10
+25
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+9
+52
+69
+34
+-7
+-43
+-8
+14
+-23
+-56
+2
+17
+-21
+-54
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-101
+43
+97
+47
+3
+16
+14
+-23
+-56
+3
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+22
+-17
+-50
+8
+23
+-16
+-50
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+24
+-15
+-49
+10
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+24
+-15
+-49
+9
+25
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+10
+24
+-15
+-49
+9
+53
+69
+34
+-7
+-42
+-9
+14
+-23
+-55
+2
+16
+-21
+-54
+4
+19
+-19
+-52
+6
+21
+-18
+-51
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+8
+23
+-16
+-50
+-77
+-101
+42
+97
+47
+2
+16
+15
+-23
+-56
+4
+25
+-14
+-48
+8
+22
+-17
+-50
+7
+22
+-17
+-50
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+23
+-16
+-49
+10
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+25
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+10
+24
+-15
+-49
+10
+25
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+52
+69
+34
+-7
+-42
+-8
+14
+-24
+-56
+2
+16
+-22
+-54
+3
+20
+-19
+-52
+6
+21
+-18
+-51
+5
+20
+-19
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+7
+22
+-17
+-50
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+10
+25
+-15
+-48
+9
+24
+-15
+-49
+-76
+-100
+45
+99
+48
+4
+17
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+24
+-15
+-49
+9
+23
+-16
+-49
+9
+24
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+8
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-16
+-49
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+9
+52
+69
+33
+-7
+-42
+-8
+14
+-23
+-56
+2
+17
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+22
+-17
+-50
+-77
+-102
+43
+97
+47
+3
+16
+14
+-23
+-56
+4
+25
+-14
+-48
+9
+23
+-16
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+22
+-17
+-50
+7
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+52
+68
+34
+-7
+-42
+-8
+14
+-24
+-56
+2
+16
+-22
+-54
+3
+19
+-20
+-53
+5
+20
+-18
+-51
+6
+21
+-18
+-50
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-102
+43
+97
+47
+3
+16
+14
+-23
+-56
+3
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+22
+-17
+-50
+8
+22
+-16
+-50
+9
+24
+-15
+-49
+9
+52
+67
+32
+-8
+-43
+-10
+14
+-24
+-56
+1
+15
+-22
+-55
+2
+18
+-20
+-53
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+22
+-17
+-50
+-78
+-102
+43
+97
+47
+3
+16
+14
+-23
+-56
+3
+25
+-15
+-48
+8
+22
+-17
+-50
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-16
+-49
+8
+23
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+25
+-15
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+52
+68
+33
+-7
+-42
+-8
+14
+-23
+-55
+3
+16
+-22
+-54
+3
+19
+-20
+-52
+5
+20
+-18
+-51
+6
+21
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+-76
+-101
+44
+99
+48
+4
+17
+15
+-23
+-55
+5
+26
+-14
+-48
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-16
+-49
+9
+24
+-16
+-49
+8
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-15
+-48
+9
+24
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+52
+69
+34
+-7
+-42
+-8
+15
+-23
+-55
+2
+17
+-21
+-54
+3
+18
+-20
+-53
+4
+20
+-19
+-52
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+7
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-16
+-49
+9
+25
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+-76
+-100
+45
+99
+48
+4
+17
+15
+-22
+-55
+5
+26
+-14
+-48
+9
+24
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+24
+-16
+-49
+9
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+8
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+53
+69
+34
+-6
+-42
+-8
+14
+-23
+-56
+2
+16
+-22
+-55
+3
+19
+-20
+-52
+5
+20
+-18
+-51
+6
+21
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+16
+14
+-24
+-56
+3
+25
+-15
+-48
+8
+22
+-16
+-50
+8
+23
+-16
+-50
+9
+23
+-16
+-50
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-16
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+8
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+53
+69
+34
+-7
+-42
+-8
+15
+-23
+-56
+2
+16
+-22
+-54
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+16
+14
+-23
+-56
+4
+24
+-15
+-48
+8
+22
+-16
+-50
+8
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-16
+-49
+8
+22
+-17
+-50
+8
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+52
+69
+33
+-7
+-42
+-9
+14
+-23
+-56
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+4
+20
+-18
+-52
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+-77
+-102
+43
+97
+47
+3
+16
+13
+-24
+-56
+3
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+22
+-16
+-50
+9
+22
+-17
+-50
+8
+23
+-16
+-50
+8
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+22
+-17
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+10
+25
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+10
+53
+69
+34
+-7
+-42
+-8
+15
+-23
+-56
+2
+17
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-19
+-52
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+8
+23
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+16
+14
+-23
+-56
+4
+24
+-15
+-49
+8
+22
+-16
+-50
+7
+22
+-16
+-50
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+8
+51
+67
+32
+-9
+-44
+-8
+14
+-24
+-56
+1
+15
+-22
+-55
+2
+18
+-20
+-53
+4
+20
+-19
+-51
+5
+20
+-18
+-51
+7
+21
+-17
+-50
+7
+22
+-17
+-51
+-78
+-102
+43
+97
+47
+3
+16
+13
+-24
+-57
+3
+24
+-15
+-48
+8
+23
+-16
+-49
+7
+22
+-17
+-50
+8
+22
+-17
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-16
+-49
+10
+24
+-15
+-48
+9
+53
+69
+33
+-7
+-42
+-8
+14
+-23
+-55
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+6
+21
+-18
+-51
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+8
+23
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+16
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+51
+67
+32
+-9
+-44
+-9
+14
+-23
+-56
+1
+15
+-22
+-55
+2
+18
+-20
+-53
+4
+20
+-19
+-51
+4
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+22
+-17
+-50
+8
+22
+-16
+-49
+7
+22
+-17
+-50
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+-76
+-100
+44
+98
+48
+4
+17
+15
+-23
+-56
+5
+25
+-14
+-48
+8
+23
+-16
+-50
+8
+23
+-16
+-50
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-49
+10
+25
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+52
+69
+34
+-7
+-42
+-8
+14
+-23
+-55
+1
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+21
+-18
+-51
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+23
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-50
+7
+22
+-17
+-50
+7
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+22
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+8
+23
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+52
+68
+33
+-7
+-43
+-8
+15
+-23
+-55
+1
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+21
+-18
+-51
+6
+20
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+9
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+22
+-17
+-50
+7
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+9
+24
+-16
+-49
+9
+25
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+52
+69
+33
+-7
+-42
+-8
+15
+-23
+-55
+2
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+8
+24
+-15
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+-76
+-100
+45
+99
+48
+4
+16
+14
+-23
+-56
+4
+25
+-14
+-48
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+23
+-15
+-49
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-16
+-49
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+23
+-16
+-49
+9
+52
+69
+34
+-7
+-42
+-8
+15
+-23
+-55
+1
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-101
+44
+98
+47
+3
+16
+15
+-23
+-56
+4
+25
+-14
+-48
+8
+23
+-17
+-50
+8
+22
+-16
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-16
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-49
+10
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+52
+69
+34
+-7
+-42
+-8
+14
+-23
+-55
+2
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+-77
+-101
+44
+97
+47
+3
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+51
+67
+31
+-9
+-44
+-9
+14
+-23
+-55
+1
+15
+-23
+-55
+2
+18
+-20
+-53
+5
+19
+-19
+-52
+4
+20
+-19
+-52
+6
+22
+-17
+-50
+8
+23
+-16
+-50
+-77
+-101
+43
+97
+47
+3
+15
+13
+-24
+-57
+4
+24
+-15
+-49
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-17
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-15
+-48
+10
+52
+69
+33
+-7
+-42
+-8
+15
+-23
+-55
+2
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-17
+-50
+7
+23
+-16
+-49
+7
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+-76
+-100
+45
+99
+49
+4
+17
+15
+-23
+-55
+4
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-50
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-15
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-49
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+52
+68
+33
+-7
+-42
+-8
+15
+-22
+-55
+2
+16
+-21
+-54
+3
+18
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+7
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-49
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+-76
+-100
+45
+99
+49
+4
+16
+15
+-22
+-55
+5
+26
+-13
+-47
+9
+23
+-16
+-50
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+22
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-15
+-48
+10
+25
+-14
+-48
+9
+52
+69
+33
+-8
+-43
+-8
+15
+-22
+-55
+3
+16
+-21
+-54
+2
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-17
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-50
+-77
+-101
+45
+99
+48
+4
+15
+13
+-24
+-57
+3
+24
+-15
+-48
+7
+23
+-16
+-49
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-15
+-49
+8
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-49
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+52
+68
+33
+-7
+-43
+-8
+15
+-22
+-55
+2
+16
+-22
+-54
+3
+18
+-20
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+8
+22
+-16
+-50
+-77
+-101
+44
+98
+48
+4
+15
+14
+-24
+-56
+4
+24
+-15
+-48
+7
+22
+-16
+-50
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-49
+8
+22
+-16
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+52
+68
+33
+-7
+-43
+-8
+15
+-22
+-54
+2
+15
+-22
+-54
+3
+18
+-20
+-52
+4
+20
+-18
+-51
+6
+21
+-18
+-51
+7
+21
+-17
+-50
+8
+22
+-17
+-50
+-77
+-101
+45
+97
+47
+3
+15
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-15
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+53
+68
+32
+-8
+-43
+-8
+16
+-22
+-55
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+22
+-16
+-50
+-77
+-101
+44
+98
+48
+3
+15
+14
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-17
+-50
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+52
+67
+31
+-9
+-44
+-8
+14
+-23
+-56
+1
+15
+-23
+-55
+2
+18
+-20
+-53
+4
+19
+-19
+-51
+4
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+21
+-17
+-50
+-77
+-101
+45
+97
+47
+3
+15
+14
+-23
+-56
+3
+24
+-14
+-48
+8
+23
+-16
+-50
+8
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+24
+-15
+-48
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+8
+23
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+52
+68
+32
+-8
+-43
+-8
+15
+-22
+-55
+1
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-50
+-77
+-101
+44
+98
+48
+4
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+52
+67
+31
+-9
+-44
+-9
+14
+-23
+-55
+1
+15
+-23
+-55
+2
+17
+-21
+-53
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+8
+21
+-17
+-50
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+-76
+-100
+46
+100
+49
+5
+15
+15
+-23
+-55
+4
+25
+-14
+-48
+9
+23
+-16
+-49
+7
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+8
+22
+-17
+-50
+7
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-47
+9
+23
+-15
+-48
+9
+24
+-15
+-49
+9
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+25
+-14
+-48
+9
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-16
+-49
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+52
+69
+32
+-8
+-43
+-7
+15
+-22
+-54
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+21
+-18
+-50
+7
+21
+-17
+-50
+8
+22
+-16
+-50
+-77
+-101
+46
+98
+48
+4
+14
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-49
+7
+21
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-15
+-49
+9
+24
+-15
+-49
+9
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-49
+8
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+53
+69
+32
+-8
+-43
+-8
+15
+-22
+-55
+1
+16
+-21
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+19
+-19
+-51
+6
+22
+-17
+-50
+8
+22
+-16
+-50
+-77
+-101
+45
+98
+48
+4
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-50
+7
+22
+-17
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-49
+9
+22
+-17
+-49
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-16
+-49
+9
+23
+-15
+-49
+8
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-49
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+23
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+10
+52
+69
+33
+-7
+-43
+-7
+15
+-22
+-54
+1
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+5
+19
+-19
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+-76
+-100
+47
+100
+50
+5
+15
+14
+-23
+-56
+4
+25
+-14
+-48
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-17
+-49
+9
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+53
+69
+32
+-8
+-43
+-7
+15
+-22
+-54
+1
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+21
+-18
+-51
+6
+20
+-18
+-51
+7
+22
+-17
+-50
+7
+22
+-16
+-50
+-77
+-100
+46
+98
+48
+4
+14
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-17
+-50
+8
+22
+-17
+-50
+8
+23
+-16
+-49
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+8
+22
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+23
+-16
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+8
+23
+-16
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+52
+68
+32
+-8
+-43
+-7
+16
+-21
+-54
+2
+16
+-22
+-54
+3
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+21
+-17
+-50
+6
+22
+-17
+-50
+-77
+-101
+47
+99
+49
+4
+14
+13
+-24
+-56
+4
+25
+-14
+-48
+8
+22
+-16
+-49
+7
+22
+-17
+-50
+7
+22
+-17
+-50
+9
+23
+-15
+-49
+9
+52
+67
+30
+-10
+-45
+-9
+14
+-23
+-55
+1
+15
+-22
+-54
+2
+18
+-20
+-52
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+22
+-17
+-50
+-77
+-101
+46
+99
+49
+4
+14
+13
+-24
+-56
+4
+24
+-15
+-49
+7
+22
+-17
+-50
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-17
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+52
+68
+31
+-9
+-43
+-7
+16
+-22
+-54
+2
+15
+-22
+-54
+3
+18
+-19
+-52
+5
+20
+-18
+-51
+6
+20
+-18
+-51
+7
+21
+-17
+-50
+7
+21
+-17
+-50
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+8
+23
+-15
+-49
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+-75
+-99
+47
+99
+49
+4
+15
+15
+-23
+-55
+5
+25
+-14
+-48
+8
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+23
+-15
+-49
+9
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-15
+-49
+9
+24
+-15
+-48
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+23
+-15
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+8
+24
+-15
+-48
+10
+25
+-14
+-48
+10
+53
+68
+31
+-8
+-43
+-7
+16
+-21
+-54
+2
+16
+-21
+-54
+3
+18
+-20
+-52
+5
+20
+-18
+-51
+6
+21
+-18
+-50
+7
+22
+-17
+-50
+7
+21
+-17
+-50
+8
+23
+-16
+-49
+7
+23
+-16
+-49
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+8
+22
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+-75
+-100
+48
+100
+50
+5
+15
+14
+-23
+-56
+4
+25
+-14
+-47
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+9
+23
+-16
+-49
+7
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+8
+22
+-17
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+53
+69
+32
+-8
+-43
+-7
+16
+-21
+-54
+2
+15
+-22
+-54
+3
+19
+-19
+-51
+4
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-49
+8
+22
+-17
+-50
+-77
+-101
+47
+99
+49
+4
+14
+13
+-24
+-56
+3
+24
+-14
+-48
+7
+22
+-16
+-49
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-15
+-48
+9
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+24
+-15
+-48
+8
+23
+-15
+-48
+8
+23
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-49
+8
+24
+-15
+-48
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+23
+-16
+-49
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-14
+-48
+9
+23
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-47
+10
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+23
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-47
+10
+24
+-15
+-48
+8
+24
+-15
+-48
+10
+24
+-14
+-48
+10
+54
+68
+32
+-8
+-43
+-7
+16
+-21
+-54
+2
+16
+-22
+-54
+4
+18
+-19
+-52
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+-76
+-100
+47
+99
+49
+4
+14
+13
+-24
+-56
+4
+24
+-14
+-48
+7
+22
+-16
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+7
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+53
+68
+31
+-9
+-43
+-7
+16
+-22
+-54
+2
+16
+-21
+-54
+3
+19
+-19
+-52
+4
+20
+-18
+-51
+5
+20
+-18
+-51
+7
+22
+-17
+-49
+8
+22
+-17
+-50
+-77
+-100
+47
+99
+49
+5
+14
+12
+-25
+-57
+3
+24
+-14
+-48
+7
+22
+-16
+-50
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+22
+-16
+-49
+7
+22
+-16
+-49
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-16
+-48
+9
+23
+-15
+-48
+10
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+10
+25
+-14
+-47
+9
+23
+-15
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+53
+69
+32
+-8
+-43
+-8
+16
+-22
+-54
+1
+16
+-22
+-54
+4
+19
+-19
+-52
+5
+20
+-18
+-51
+4
+20
+-18
+-51
+7
+22
+-17
+-49
+8
+22
+-16
+-49
+-76
+-100
+47
+99
+49
+4
+14
+13
+-24
+-56
+5
+24
+-15
+-48
+7
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+23
+-16
+-49
+8
+51
+66
+30
+-10
+-45
+-8
+15
+-22
+-54
+1
+15
+-23
+-55
+2
+17
+-21
+-53
+4
+19
+-19
+-51
+5
+20
+-18
+-51
+6
+21
+-17
+-50
+7
+21
+-17
+-50
+-77
+-101
+47
+98
+48
+4
+13
+12
+-25
+-57
+4
+25
+-14
+-48
+8
+22
+-16
+-49
+7
+21
+-17
+-50
+8
+22
+-17
+-49
+8
+23
+-15
+-49
+8
+23
+-15
+-48
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+22
+-16
+-49
+8
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+23
+-15
+-48
+8
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+25
+-14
+-47
+10
+23
+-16
+-49
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+10
+24
+-14
+-48
+10
+24
+-15
+-48
+9
+24
+-15
+-48
+10
+24
+-14
+-48
+9
+25
+-14
+-48
+9
+24
+-15
+-48
+9
+24
+-14
+-48
+9
+24
+-15
+-48
+9
+25
+-14
+-48
+10
+24
+-15
+-48
+9
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+53
+68
+31
+-9
+-43
+-7
+16
+-21
+-54
+1
+16
+-21
+-54
+3
+19
+-19
+-51
+5
+20
+-18
+-51
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+8
+22
+-16
+-49
+-76
+-100
+47
+99
+49
+4
+13
+13
+-24
+-56
+5
+25
+-14
+-48
+8
+22
+-17
+-50
+7
+22
+-17
+-50
+8
+22
+-16
+-49
+8
+23
+-16
+-49
+8
+52
+65
+29
+-10
+-45
+-8
+15
+-22
+-54
+1
+15
+-22
+-54
+2
+17
+-21
+-53
+4
+19
+-19
+-51
+5
+20
+-18
+-51
+6
+22
+-17
+-50
+7
+22
+-16
+-49
+8
+23
+-16
+-49
+6
+22
+-17
+-49
+8
+23
+-15
+-48
+9
+24
+-15
+-48
+9
+24
+-15
+-48
+7
+23
+-15
+-49
+9
+24
+-14
+-48
+9
+24
diff --git a/traces/modulation-psk1-64-8.pm3 b/traces/modulation-psk1-64-8.pm3
new file mode 100644 (file)
index 0000000..f30b8fe
--- /dev/null
@@ -0,0 +1,20000 @@
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+41
+8
+-19
+-43
+-61
+-77
+84
+72
+39
+5
+-21
+-44
+-63
+-79
+82
+68
+35
+3
+-23
+-46
+-65
+-80
+81
+68
+35
+2
+-23
+-46
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+78
+67
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+76
+64
+32
+0
+-26
+-48
+-67
+-82
+77
+64
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+59
+23
+-5
+-31
+-51
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-74
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+83
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-46
+-64
+-80
+80
+67
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+15
+14
+-15
+-39
+-59
+-75
+-89
+75
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+59
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+12
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-45
+-64
+-80
+80
+67
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+15
+17
+16
+15
+-15
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+93
+80
+47
+12
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-78
+81
+69
+36
+4
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+14
+15
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+59
+23
+-6
+-31
+-52
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-46
+-65
+-80
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-67
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-18
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+3
+-22
+-45
+-64
+-80
+80
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+13
+16
+15
+14
+-15
+-39
+-59
+-76
+-89
+75
+63
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+60
+23
+-6
+-31
+-51
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+78
+67
+33
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+15
+15
+15
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+75
+41
+8
+-19
+-42
+-61
+-77
+83
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-22
+-46
+-64
+-80
+80
+67
+34
+2
+-24
+-47
+-65
+-81
+80
+68
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-47
+-65
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+79
+68
+35
+2
+-24
+-46
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+14
+-15
+-39
+-59
+-75
+-89
+75
+64
+31
+0
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+64
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+94
+95
+60
+23
+-6
+-31
+-52
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+36
+4
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+78
+67
+33
+15
+17
+16
+15
+-14
+-37
+-58
+-75
+-89
+75
+63
+31
+-1
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+64
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+94
+81
+47
+12
+-15
+-39
+-58
+-75
+87
+76
+42
+8
+-18
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-23
+-47
+-65
+-80
+79
+66
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-25
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+15
+15
+15
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-94
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+41
+7
+-19
+-43
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-23
+-47
+-65
+-80
+79
+68
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+14
+16
+16
+15
+-14
+-37
+-58
+-75
+-88
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+94
+81
+47
+12
+-15
+-39
+-58
+-75
+87
+76
+42
+8
+-18
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+81
+69
+36
+4
+-22
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+67
+33
+1
+-25
+-47
+-65
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+15
+15
+14
+-15
+-38
+-59
+-75
+-89
+76
+65
+32
+-1
+-26
+-49
+-67
+-82
+77
+64
+31
+0
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+82
+47
+13
+-14
+-39
+-58
+-74
+88
+75
+41
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+70
+37
+4
+-22
+-46
+-64
+-80
+80
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+68
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+67
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-24
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+15
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+59
+23
+-6
+-31
+-52
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+83
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-81
+80
+67
+34
+2
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+0
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+60
+23
+-6
+-31
+-52
+-69
+94
+82
+47
+13
+-14
+-39
+-58
+-74
+87
+75
+41
+8
+-19
+-43
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+68
+36
+3
+-23
+-46
+-65
+-80
+81
+68
+35
+3
+-23
+-46
+-65
+-80
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+67
+34
+1
+-25
+-47
+-65
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+15
+-14
+-38
+-59
+-75
+-89
+76
+64
+32
+0
+-26
+-49
+-67
+-82
+77
+64
+31
+-1
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+59
+23
+-6
+-31
+-52
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-74
+87
+75
+42
+8
+-18
+-42
+-61
+-77
+83
+72
+38
+5
+-21
+-45
+-63
+-79
+83
+70
+36
+4
+-22
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-80
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+15
+14
+-15
+-39
+-59
+-75
+-89
+75
+64
+32
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-18
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+37
+4
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-80
+79
+66
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+15
+17
+16
+15
+-15
+-38
+-59
+-75
+-89
+75
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-65
+-80
+81
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+66
+33
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+63
+31
+-1
+-27
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-52
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-46
+-64
+-80
+80
+68
+35
+2
+-23
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+16
+15
+15
+-15
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+64
+31
+-1
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-52
+-69
+93
+81
+47
+12
+-15
+-39
+-58
+-75
+88
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+36
+4
+-23
+-45
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-25
+-47
+-66
+-81
+79
+67
+33
+1
+-25
+-48
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-94
+-106
+-98
+-102
+93
+94
+59
+23
+-6
+-31
+-52
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-75
+88
+75
+41
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+79
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+67
+33
+1
+-24
+-47
+-66
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+83
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-25
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+93
+94
+59
+23
+-6
+-31
+-51
+-69
+93
+82
+47
+12
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-43
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+3
+-23
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+15
+14
+-16
+-39
+-59
+-76
+-89
+75
+64
+31
+0
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-68
+93
+81
+47
+13
+-15
+-39
+-58
+-74
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+15
+17
+16
+15
+-14
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+94
+81
+47
+12
+-15
+-39
+-59
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-23
+-47
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+76
+65
+31
+-1
+-26
+-49
+-67
+-82
+77
+64
+31
+0
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+59
+23
+-6
+-31
+-52
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-44
+-63
+-79
+83
+70
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+3
+-24
+-47
+-65
+-80
+80
+67
+34
+2
+-24
+-47
+-65
+-81
+78
+66
+33
+15
+16
+16
+15
+-14
+-37
+-58
+-74
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+67
+33
+1
+-25
+-48
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+65
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+32
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+76
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+59
+22
+-6
+-31
+-52
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-45
+-64
+-80
+80
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+15
+15
+15
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+32
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+59
+23
+-6
+-31
+-52
+-69
+93
+82
+47
+12
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-18
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+14
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-48
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+64
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-80
+80
+67
+34
+2
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+67
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+16
+15
+15
+-14
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+64
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+59
+23
+-6
+-31
+-52
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-18
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-45
+-64
+-80
+80
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+64
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-51
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+76
+42
+8
+-18
+-42
+-61
+-77
+84
+72
+38
+5
+-22
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+15
+17
+16
+15
+-14
+-38
+-59
+-75
+-89
+76
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-74
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+39
+6
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+66
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-25
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+24
+-5
+-31
+-51
+-69
+94
+81
+47
+13
+-15
+-39
+-58
+-74
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-22
+-45
+-64
+-80
+80
+68
+35
+2
+-23
+-46
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-24
+-47
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+67
+34
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+16
+15
+15
+-15
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+64
+32
+0
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+94
+95
+60
+23
+-5
+-31
+-51
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-74
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-46
+-65
+-80
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-24
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+15
+16
+15
+-14
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-103
+93
+94
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+87
+74
+41
+8
+-19
+-43
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+14
+14
+-15
+-38
+-59
+-75
+-89
+75
+65
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+59
+23
+-6
+-31
+-52
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+81
+69
+36
+3
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-24
+-47
+-66
+-81
+79
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+67
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+14
+16
+15
+15
+-15
+-38
+-59
+-75
+-89
+75
+63
+31
+-1
+-27
+-49
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+59
+23
+-5
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+87
+74
+41
+8
+-19
+-43
+-61
+-77
+83
+72
+39
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-65
+-80
+79
+68
+35
+2
+-23
+-47
+-65
+-80
+80
+67
+33
+1
+-24
+-47
+-66
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+14
+16
+15
+14
+-16
+-39
+-60
+-76
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+64
+32
+0
+-26
+-49
+-67
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-52
+-69
+93
+81
+47
+12
+-15
+-39
+-58
+-75
+88
+75
+42
+8
+-18
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+3
+-23
+-46
+-65
+-80
+79
+66
+33
+1
+-24
+-47
+-66
+-81
+79
+66
+33
+14
+17
+16
+15
+-15
+-38
+-59
+-75
+-89
+75
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+94
+95
+59
+23
+-6
+-31
+-52
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-74
+87
+75
+42
+8
+-19
+-43
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-65
+-80
+80
+68
+35
+2
+-24
+-46
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+59
+23
+-6
+-31
+-52
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-75
+88
+75
+42
+8
+-19
+-42
+-61
+-77
+83
+71
+38
+5
+-21
+-44
+-63
+-79
+82
+70
+36
+3
+-23
+-46
+-64
+-80
+79
+67
+35
+2
+-24
+-47
+-65
+-81
+80
+67
+33
+1
+-24
+-47
+-65
+-81
+79
+66
+34
+15
+16
+16
+15
+-14
+-37
+-59
+-75
+-89
+76
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+94
+81
+47
+12
+-15
+-39
+-58
+-75
+87
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-24
+-48
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+14
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+94
+59
+23
+-6
+-31
+-52
+-69
+93
+81
+47
+12
+-15
+-39
+-58
+-75
+88
+76
+41
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+36
+4
+-22
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-25
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+15
+15
+15
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+94
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+81
+47
+13
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+83
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-80
+79
+67
+34
+2
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-47
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+65
+33
+0
+-25
+-48
+-66
+-81
+77
+65
+33
+0
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+64
+32
+0
+-26
+-49
+-67
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-99
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+93
+82
+47
+13
+-15
+-39
+-58
+-74
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+83
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+36
+3
+-22
+-46
+-64
+-80
+80
+68
+34
+2
+-24
+-47
+-65
+-81
+80
+68
+34
+2
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+79
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+14
+16
+15
+15
+-14
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+93
+80
+47
+12
+-15
+-39
+-59
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+70
+37
+4
+-23
+-46
+-64
+-80
+80
+68
+35
+2
+-23
+-46
+-65
+-80
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+33
+1
+-24
+-47
+-65
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-26
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+14
+17
+15
+14
+-15
+-39
+-59
+-75
+-89
+75
+64
+31
+0
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-5
+-31
+-51
+-69
+94
+81
+47
+12
+-15
+-39
+-59
+-75
+87
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+15
+17
+16
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+93
+95
+60
+23
+-6
+-31
+-51
+-69
+94
+82
+47
+13
+-15
+-39
+-58
+-75
+87
+75
+42
+8
+-19
+-42
+-61
+-77
+84
+72
+38
+5
+-21
+-44
+-63
+-79
+82
+69
+36
+3
+-23
+-46
+-64
+-80
+81
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+78
+67
+34
+1
+-24
+-47
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+79
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-81
+78
+65
+33
+1
+-25
+-48
+-66
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-81
+78
+65
+32
+1
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+14
+16
+16
+14
+-15
+-38
+-59
+-75
+-89
+75
+64
+31
+-1
+-26
+-49
+-67
+-82
+77
+65
+32
+0
+-26
+-48
+-66
+-82
+78
+65
+32
+0
+-26
+-48
+-66
+-82
+77
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-82
+78
+66
+32
+0
+-25
+-48
+-66
+-82
+78
+65
+33
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+78
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+65
+32
+0
+-25
+-48
+-66
+-82
+-95
+-106
+-98
+-102
+94
+95
+60
+23
+-6
+-31
+-52
+-69
+94
+81
+47
+12
+-15
+-39
+-58
+-75
+88
+76
+42
+8
+-19
+-42
+-61
+-77
+84
+71
+38
+5
+-21
+-45
+-63
+-79
+82
+69
+36
+4
+-22
+-45
+-64
+-80
+80
+68
+35
+2
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+67
+34
+1
+-24
+-47
+-65
+-81
+79
+66
+33
+1
+-25
+-48
+-66
+-81
+78
+66
+33
+1
+-24
+-47
+-66
+-81
+78
+65
+33
+0
diff --git a/traces/modulation-psk2-32-2.pm3 b/traces/modulation-psk2-32-2.pm3
new file mode 100644 (file)
index 0000000..eb9a280
--- /dev/null
@@ -0,0 +1,20000 @@
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+9
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-14
+5
+-22
+6
+-21
+7
+-21
+6
+-21
+8
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-18
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+9
+-17
+7
+-19
+8
+-19
+6
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+22
+-8
+13
+-16
+5
+-22
+6
+-22
+7
+-21
+7
+-21
+7
+-20
+8
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+8
+-20
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+8
+-19
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+23
+-7
+13
+-16
+5
+-22
+6
+-21
+6
+-21
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+7
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+12
+7
+-19
+12
+-16
+9
+-17
+9
+-18
+8
+-19
+8
+-19
+7
+-19
+6
+-21
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+7
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-17
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+23
+-8
+14
+-15
+5
+-22
+6
+-21
+6
+-21
+7
+-20
+7
+-21
+8
+-20
+7
+-21
+7
+-20
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+12
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-22
+7
+-21
+7
+-21
+7
+-21
+8
+-20
+6
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+-42
+45
+12
+7
+-20
+11
+-16
+9
+-17
+9
+-18
+7
+-19
+7
+-19
+7
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+22
+-8
+12
+-17
+4
+-23
+6
+-21
+6
+-21
+7
+-21
+7
+-21
+7
+-21
+7
+-20
+6
+-21
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+8
+-20
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+10
+-18
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+9
+-18
+8
+-18
+8
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+6
+-20
+8
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+9
+-17
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+6
+-21
+7
+-21
+7
+-20
+7
+-20
+8
+-20
+8
+-19
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+10
+-17
+8
+-18
+8
+-18
+7
+-19
+6
+-20
+6
+-20
+6
+-19
+7
+-19
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+7
+-20
+8
+-18
+8
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-20
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+23
+-8
+14
+-15
+5
+-22
+6
+-21
+7
+-20
+7
+-21
+7
+-20
+7
+-21
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+8
+-18
+8
+-19
+7
+-19
+6
+-20
+6
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+23
+-8
+14
+-15
+5
+-22
+6
+-21
+7
+-20
+7
+-21
+8
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+-40
+45
+13
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+8
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+7
+-19
+7
+22
+-8
+12
+-16
+4
+-23
+6
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-21
+6
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-18
+10
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+12
+7
+-19
+11
+-16
+9
+-18
+9
+-17
+7
+-19
+8
+-18
+6
+-20
+6
+-20
+7
+-19
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+6
+-21
+7
+-21
+8
+-20
+8
+-20
+7
+-20
+6
+-21
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+22
+-8
+12
+-16
+5
+-23
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-21
+7
+-20
+8
+-19
+8
+-20
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+10
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+8
+-19
+6
+-20
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+6
+-20
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+22
+-8
+14
+-15
+6
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-21
+8
+-20
+7
+-21
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+-41
+44
+12
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+7
+-19
+8
+-19
+7
+-19
+6
+-21
+7
+-19
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+7
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-21
+8
+-20
+7
+-21
+7
+-21
+9
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+-41
+45
+13
+6
+-19
+11
+-16
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+7
+-20
+5
+-21
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+6
+-20
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+6
+-20
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+23
+-8
+13
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+-41
+44
+12
+6
+-20
+11
+-17
+9
+-18
+8
+-18
+7
+-19
+8
+-19
+7
+-19
+5
+-21
+6
+-20
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+22
+-8
+12
+-16
+4
+-23
+6
+-22
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+7
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+8
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+-41
+45
+13
+7
+-20
+11
+-16
+9
+-18
+9
+-18
+8
+-19
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+7
+-19
+8
+-19
+7
+-20
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-20
+8
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-20
+7
+-19
+8
+-19
+7
+-19
+8
+-18
+7
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+23
+-7
+14
+-15
+5
+-22
+6
+-22
+7
+-21
+7
+-21
+8
+-20
+7
+-20
+6
+-21
+7
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+8
+-19
+7
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+6
+-20
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+6
+-20
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+23
+-7
+14
+-15
+5
+-23
+6
+-21
+6
+-22
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+7
+-21
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+8
+-18
+8
+-19
+8
+-19
+6
+-20
+5
+-21
+7
+-19
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+23
+-8
+12
+-16
+4
+-23
+6
+-22
+6
+-22
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-21
+8
+-20
+8
+-20
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+10
+-19
+9
+-19
+8
+-20
+9
+-18
+10
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+10
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+10
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+8
+-18
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+8
+-19
+7
+-19
+7
+-20
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+5
+-22
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+10
+-18
+10
+-18
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+22
+-8
+12
+-16
+5
+-22
+6
+-22
+6
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+10
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+10
+-18
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+9
+-17
+7
+-19
+8
+-19
+6
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+23
+-7
+13
+-16
+5
+-22
+6
+-21
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+7
+-20
+7
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+44
+12
+7
+-19
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+7
+-19
+7
+-20
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+8
+-18
+6
+-20
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-20
+8
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+-41
+44
+12
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-19
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+6
+-20
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-17
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+9
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+6
+-21
+7
+-20
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+-42
+45
+13
+6
+-20
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+23
+-8
+12
+-16
+4
+-23
+6
+-22
+6
+-21
+7
+-21
+6
+-21
+7
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-19
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+8
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-18
+6
+-20
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+7
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+7
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+-41
+45
+12
+6
+-20
+11
+-16
+9
+-17
+9
+-18
+7
+-19
+8
+-19
+6
+-20
+6
+-21
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+7
+-20
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+9
+-19
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+7
+-19
+6
+-20
+6
+-21
+6
+-20
+7
+-19
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+22
+-8
+13
+-16
+4
+-23
+6
+-22
+7
+-21
+6
+-21
+7
+-20
+7
+-21
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+8
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+10
+-18
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+10
+-17
+9
+-17
+8
+-18
+8
+-19
+8
+-18
+6
+-20
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-17
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+9
+-17
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+8
+-18
+6
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-20
+7
+-19
+8
+-19
+7
+22
+-8
+12
+-16
+5
+-23
+5
+-22
+7
+-21
+6
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-18
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+8
+-19
+7
+-20
+6
+-20
+7
+-20
+7
+-20
+7
+-19
+6
+-20
+7
+-19
+8
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+7
+-21
+7
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-21
+8
+-20
+8
+-19
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+7
+-19
+8
+-19
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+-19
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+6
+-20
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-20
+6
+-21
+7
+-20
+8
+-20
+7
+-20
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-20
+9
+-19
+8
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+8
+-18
+8
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+22
+-8
+12
+-16
+5
+-22
+6
+-22
+6
+-21
+7
+-20
+7
+-21
+7
+-21
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+7
+-19
+6
+-20
+5
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+6
+-20
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-20
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-17
+7
+-20
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+8
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-20
+8
+-20
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-18
+-41
+45
+13
+7
+-20
+11
+-16
+9
+-18
+8
+-18
+8
+-19
+8
+-19
+7
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+9
+23
+-7
+14
+-15
+5
+-23
+6
+-21
+7
+-21
+7
+-21
+8
+-20
+8
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-19
+8
+-20
+8
+-19
+8
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+9
+-18
+8
+-19
+7
+-19
+7
+-19
+6
+-20
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+6
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+7
+-21
+6
+-21
+7
+-21
+8
+-20
+8
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+7
+-19
+5
+-21
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+22
+-8
+13
+-16
+5
+-23
+6
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+12
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+8
+-19
+8
+-18
+6
+-20
+5
+-21
+7
+-20
+6
+-20
+8
+-18
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+7
+-20
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+13
+-16
+5
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-18
+10
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-18
+9
+-19
+9
+-19
+10
+-19
+8
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+7
+-19
+7
+-19
+6
+-20
+6
+-20
+6
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+22
+-8
+13
+-16
+5
+-23
+6
+-22
+7
+-21
+6
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+8
+-19
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+10
+-19
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+10
+-18
+10
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+12
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+8
+-19
+8
+-19
+6
+-20
+6
+-21
+6
+-20
+7
+-20
+8
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+23
+-7
+14
+-15
+6
+-22
+6
+-22
+7
+-21
+7
+-21
+7
+-20
+8
+-20
+6
+-21
+7
+-21
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+-41
+44
+12
+7
+-19
+11
+-16
+9
+-18
+9
+-17
+7
+-19
+8
+-19
+7
+-19
+5
+-21
+7
+-19
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+8
+-18
+8
+-18
+7
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+6
+-20
+7
+-19
+8
+-19
+7
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-19
+9
+-18
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+23
+-8
+14
+-15
+5
+-23
+6
+-22
+7
+-21
+7
+-21
+8
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+-42
+45
+12
+6
+-19
+11
+-16
+9
+-17
+9
+-18
+7
+-19
+7
+-19
+6
+-20
+6
+-20
+7
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+23
+-8
+12
+-16
+4
+-23
+6
+-22
+6
+-21
+7
+-21
+7
+-20
+7
+-21
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+9
+-18
+7
+-19
+8
+-19
+6
+-20
+5
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-18
+6
+-20
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+9
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-17
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+9
+-17
+8
+-19
+9
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+6
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+7
+-20
+8
+-19
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+8
+-18
+8
+-19
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+-19
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+9
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+5
+-22
+7
+-21
+6
+-21
+6
+-21
+8
+-20
+8
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-17
+8
+-18
+8
+-18
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-20
+8
+-19
+6
+-20
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-20
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+8
+-19
+8
+-19
+6
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+6
+-20
+8
+-19
+7
+-19
+8
+22
+-8
+12
+-16
+4
+-23
+6
+-22
+7
+-21
+7
+-21
+7
+-20
+7
+-21
+7
+-21
+7
+-20
+8
+-20
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+10
+-19
+10
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+10
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+8
+-19
+8
+-19
+7
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-20
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-17
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-17
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+6
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-20
+7
+-21
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+8
+-19
+6
+-20
+5
+-21
+6
+-20
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+22
+-8
+13
+-16
+5
+-23
+6
+-21
+7
+-21
+6
+-21
+7
+-20
+7
+-21
+7
+-20
+7
+-20
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+10
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-17
+9
+-17
+8
+-18
+7
+-19
+8
+-19
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-20
+8
+-18
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+6
+-21
+7
+-20
+7
+-21
+8
+-20
+7
+-20
+7
+-20
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+12
+7
+-19
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+7
+-19
+6
+-20
+6
+-21
+7
+-19
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-20
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+6
+-21
+6
+-21
+6
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-21
+7
+-21
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+7
+-19
+7
+-19
+6
+-20
+5
+-21
+6
+-20
+6
+-20
+7
+-20
+7
+-19
+8
+-19
+7
+-19
+7
+-19
+6
+-20
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-17
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-14
+5
+-22
+6
+-21
+7
+-21
+6
+-21
+7
+-20
+8
+-20
+7
+-20
+7
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+6
+-21
+5
+-21
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+7
+22
+-8
+12
+-17
+5
+-22
+5
+-22
+7
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-21
+7
+-20
+8
+-19
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-18
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+10
+-19
+9
+-18
+9
+-19
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-19
+11
+-16
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+6
+-20
+6
+-21
+7
+-20
+7
+-19
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+23
+-7
+14
+-15
+5
+-22
+6
+-22
+7
+-21
+7
+-20
+7
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+8
+-19
+7
+-19
+6
+-20
+6
+-21
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+6
+-20
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+23
+-7
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-20
+8
+-20
+7
+-20
+7
+-21
+7
+-21
+8
+-19
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+8
+-18
+8
+-19
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+7
+-20
+8
+-18
+8
+-19
+8
+-19
+7
+-20
+8
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+6
+-20
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+5
+-23
+6
+-21
+7
+-21
+6
+-21
+7
+-20
+7
+-21
+7
+-20
+7
+-21
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+7
+-19
+5
+-21
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+22
+-8
+13
+-16
+4
+-23
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-21
+7
+-21
+7
+-21
+8
+-20
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+9
+-19
+8
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+8
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+45
+13
+7
+-20
+11
+-16
+9
+-17
+8
+-18
+8
+-19
+8
+-18
+6
+-20
+6
+-20
+7
+-19
+6
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-17
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-17
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+23
+-8
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+8
+-20
+7
+-20
+8
+-20
+8
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+10
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+8
+-20
+8
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+8
+-20
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+10
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+8
+-19
+8
+-19
+10
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+8
+-18
+7
+-19
+6
+-20
+6
+-20
+6
+-20
+7
+-19
+7
+-19
+8
+-18
+7
+-19
+8
+22
+-8
+12
+-16
+5
+-23
+6
+-22
+7
+-21
+6
+-21
+7
+-20
+8
+-20
+7
+-21
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+10
+-18
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-20
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-18
+8
+-19
+8
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+10
+-18
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-18
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+9
+-19
+9
+-19
+-41
+45
+13
+7
+-19
+11
+-16
+9
+-17
+8
+-18
+7
+-19
+8
+-19
+6
+-20
+6
+-20
+6
+-20
+6
+-20
+8
+-19
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+9
+-17
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-19
+9
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+23
+-7
+13
+-16
+5
+-22
+6
+-22
+7
+-21
+7
+-20
+7
+-21
+8
+-20
+6
+-21
+7
+-20
+9
+-19
+8
+-20
+9
+-19
+8
+-19
+9
+-19
+9
+-19
+8
+-20
+8
+-20
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+10
+-18
+9
+-19
+-41
+44
+12
+6
+-20
+11
+-16
+9
+-18
+9
+-18
+8
+-19
+8
+-19
+7
+-19
+5
+-21
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+7
+-19
+6
+-20
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-17
+8
+-19
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+22
+-8
+14
+-15
+5
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-21
+8
+-20
+7
+-20
+7
+-20
+8
+-19
+8
+-20
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+-41
+45
+13
+6
+-20
+11
+-16
+9
+-18
+8
+-18
+7
+-19
+7
+-19
+7
+-20
+6
+-21
+6
+-20
+6
+-20
+7
+-20
+7
+-19
+7
+-19
+7
+-19
+8
+-19
+7
+-20
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+7
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+9
+-18
+8
+-19
+8
+-18
+7
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+9
+-18
+7
+-19
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+7
+-19
+8
+-18
+8
+-19
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+7
+-19
+9
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-19
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+-18
+8
+-19
+8
+-18
+8
+-18
+8
+-18
+8
+-18
+9
+-18
+8
+-18
+8
+23
+-8
+14
+-14
+5
+-23
+6
+-21
+7
+-20
+7
+-21
+8
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-20
+9
+-19
+8
+-20
+9
+-19
+9
+-19
+-42
+45
+13
+6
+-20
+11
+-16
+9
+-18
+8
+-18
+7
+-19
+7
+-19
+6
+-20
+5
+-21
+7
+-20
+6
+-20
+6
+-19
+7
+-19
+7
+-19
+8
+-19
+8
+23
+-8
+11
+-17
+4
+-23
+6
+-22
+6
+-21
+7
+-21
+7
+-21
+7
+-20
+7
+-20
+7
+-21
+8
+-20
+8
+-20
+8
+-19
+8
+-19
+8
+-19
+9
+-19
+8
+-20
+8
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+9
+-19
+8
+-19
+8
+-20
diff --git a/traces/modulation-psk3-32-8.pm3 b/traces/modulation-psk3-32-8.pm3
new file mode 100644 (file)
index 0000000..a309939
--- /dev/null
@@ -0,0 +1,20000 @@
+53
+95
+54
+5
+-38
+-73
+-104
+-53
+52
+94
+54
+4
+-39
+-74
+-104
+-51
+53
+94
+54
+5
+-39
+-74
+-104
+-52
+53
+95
+53
+3
+-39
+-74
+-105
+-52
+53
+93
+54
+4
+-39
+-73
+-104
+-53
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+54
+5
+-39
+-74
+-104
+-53
+52
+94
+52
+3
+-40
+-75
+-105
+-52
+53
+93
+54
+4
+-39
+-74
+-104
+-53
+52
+93
+53
+4
+-40
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-53
+52
+93
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+93
+53
+4
+-39
+-74
+-104
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+54
+5
+-38
+-74
+-104
+-53
+52
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+54
+5
+-39
+-74
+-104
+-53
+52
+93
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+54
+5
+-38
+-74
+-104
+-53
+52
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+93
+84
+49
+6
+-30
+-67
+-98
+-108
+-127
+-127
+-35
+72
+115
+73
+20
+-25
+-62
+-94
+-41
+63
+104
+62
+12
+-32
+-68
+-99
+-45
+58
+100
+59
+8
+-35
+-71
+-102
+-48
+56
+98
+57
+7
+-36
+-72
+-103
+-50
+55
+96
+56
+5
+-38
+-73
+-103
+-50
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+52
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-104
+-53
+52
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-74
+-105
+-52
+53
+94
+54
+5
+-39
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+93
+53
+4
+-39
+-74
+-105
+-52
+52
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+3
+-39
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+69
+18
+-27
+-64
+-95
+-25
+79
+119
+78
+25
+-21
+-58
+-91
+-36
+67
+109
+68
+16
+-29
+-65
+-97
+-41
+63
+104
+63
+12
+-32
+-68
+-100
+-46
+58
+100
+59
+9
+-35
+-70
+-101
+-48
+56
+97
+57
+7
+-36
+-72
+-103
+-50
+55
+96
+56
+6
+-38
+-73
+-103
+-50
+54
+95
+55
+5
+-38
+-73
+-104
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-51
+53
+95
+55
+5
+-38
+-73
+-104
+-53
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-73
+-104
+-53
+52
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+95
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+52
+94
+54
+5
+-38
+-74
+-104
+-53
+52
+93
+52
+3
+-40
+-75
+-105
+-51
+52
+94
+54
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+54
+5
+-39
+-73
+-104
+-53
+52
+94
+53
+3
+-40
+-75
+-105
+-52
+52
+93
+54
+4
+-39
+-74
+-105
+-53
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+93
+53
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+84
+49
+7
+-29
+-67
+-97
+-108
+-127
+-127
+-37
+72
+115
+73
+21
+-25
+-62
+-94
+-41
+63
+103
+62
+11
+-33
+-68
+-100
+-45
+59
+100
+60
+9
+-35
+-70
+-101
+-48
+56
+97
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+56
+6
+-37
+-73
+-103
+-50
+54
+95
+54
+4
+-38
+-74
+-104
+-50
+54
+94
+53
+4
+-39
+-74
+-105
+-127
+-127
+-127
+-127
+-4
+81
+113
+69
+18
+-27
+-64
+-95
+-25
+79
+119
+78
+25
+-21
+-58
+-91
+-37
+68
+109
+68
+16
+-29
+-65
+-97
+-41
+63
+104
+63
+13
+-32
+-68
+-99
+-46
+58
+100
+59
+9
+-35
+-71
+-101
+-48
+57
+98
+57
+7
+-36
+-72
+-102
+-50
+54
+96
+55
+6
+-38
+-73
+-103
+-50
+54
+95
+54
+5
+-38
+-73
+-104
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+94
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+54
+5
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+95
+54
+5
+-38
+-73
+-104
+-53
+52
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+54
+5
+-38
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+93
+53
+4
+-39
+-74
+-105
+-52
+52
+94
+53
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+52
+93
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+84
+49
+7
+-30
+-67
+-97
+-108
+-127
+-127
+-36
+71
+115
+73
+21
+-25
+-62
+-94
+-41
+63
+104
+62
+11
+-33
+-69
+-100
+-45
+59
+101
+60
+9
+-35
+-70
+-101
+-48
+56
+97
+56
+6
+-37
+-72
+-103
+-50
+56
+97
+55
+5
+-38
+-73
+-103
+-50
+54
+95
+54
+5
+-38
+-73
+-104
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+95
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+93
+53
+3
+-40
+-74
+-105
+-52
+52
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+54
+5
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+52
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+93
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+93
+53
+3
+-40
+-75
+-105
+-51
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+112
+69
+18
+-27
+-64
+-95
+-25
+79
+120
+79
+26
+-20
+-58
+-91
+-36
+68
+109
+68
+16
+-29
+-65
+-97
+-42
+63
+104
+63
+12
+-32
+-68
+-99
+-47
+58
+99
+58
+8
+-35
+-71
+-102
+-48
+56
+97
+57
+7
+-36
+-72
+-103
+-50
+54
+96
+56
+5
+-38
+-73
+-103
+-50
+54
+95
+54
+5
+-38
+-73
+-104
+-52
+53
+95
+54
+5
+-39
+-74
+-104
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+52
+93
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+54
+5
+-38
+-73
+-104
+-52
+53
+94
+54
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-53
+52
+93
+52
+3
+-40
+-74
+-105
+-52
+52
+94
+54
+5
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-53
+52
+93
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-53
+52
+93
+53
+4
+-39
+-74
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+52
+93
+83
+48
+5
+-30
+-67
+-98
+-108
+-127
+-127
+-35
+72
+114
+72
+21
+-25
+-62
+-94
+-41
+63
+104
+63
+12
+-32
+-68
+-99
+-46
+59
+100
+59
+8
+-35
+-71
+-102
+-47
+57
+98
+57
+7
+-36
+-72
+-103
+-49
+56
+96
+55
+6
+-38
+-73
+-103
+-50
+55
+96
+54
+5
+-38
+-73
+-104
+-51
+54
+96
+54
+4
+-39
+-74
+-104
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+54
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+93
+52
+3
+-40
+-75
+-106
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-104
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-5
+80
+111
+69
+17
+-27
+-64
+-95
+-25
+78
+119
+78
+25
+-21
+-59
+-91
+-36
+68
+109
+68
+16
+-29
+-65
+-97
+-41
+62
+104
+63
+12
+-32
+-68
+-99
+-47
+58
+100
+58
+8
+-35
+-71
+-102
+-48
+57
+98
+58
+7
+-36
+-72
+-102
+-50
+54
+96
+55
+5
+-38
+-73
+-104
+-50
+54
+96
+55
+5
+-38
+-73
+-104
+-52
+52
+94
+54
+4
+-39
+-74
+-104
+-51
+53
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+83
+48
+6
+-30
+-67
+-97
+-108
+-127
+-127
+-35
+72
+115
+73
+21
+-25
+-62
+-94
+-41
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+59
+100
+59
+8
+-35
+-71
+-102
+-48
+57
+98
+57
+7
+-37
+-72
+-103
+-49
+56
+96
+56
+6
+-38
+-73
+-104
+-50
+54
+95
+54
+5
+-38
+-73
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+94
+53
+3
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-53
+52
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-5
+80
+112
+69
+18
+-27
+-64
+-95
+-25
+79
+119
+77
+25
+-21
+-59
+-91
+-36
+69
+110
+68
+16
+-29
+-65
+-97
+-42
+62
+103
+63
+12
+-32
+-68
+-99
+-46
+58
+100
+58
+8
+-35
+-71
+-102
+-48
+57
+98
+57
+7
+-36
+-72
+-103
+-50
+55
+96
+55
+5
+-38
+-73
+-104
+-51
+54
+96
+85
+50
+7
+-29
+-66
+-97
+-107
+-127
+-127
+-35
+73
+116
+74
+22
+-24
+-61
+-93
+-41
+63
+104
+62
+11
+-33
+-69
+-100
+-45
+59
+100
+59
+9
+-35
+-70
+-102
+-48
+57
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+55
+5
+-38
+-73
+-104
+-50
+54
+96
+55
+5
+-38
+-73
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+93
+53
+3
+-40
+-74
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+52
+3
+-40
+-75
+-105
+-52
+53
+93
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+80
+112
+69
+18
+-27
+-63
+-95
+-26
+79
+120
+78
+25
+-21
+-59
+-91
+-36
+68
+110
+68
+16
+-29
+-65
+-97
+-42
+63
+104
+63
+12
+-33
+-68
+-100
+-46
+59
+100
+59
+8
+-35
+-71
+-102
+-49
+56
+98
+58
+7
+-36
+-72
+-103
+-50
+55
+95
+55
+5
+-38
+-73
+-104
+-50
+54
+96
+86
+50
+7
+-29
+-66
+-97
+-108
+-127
+-127
+-35
+73
+115
+74
+22
+-24
+-61
+-94
+-41
+63
+105
+62
+11
+-33
+-69
+-100
+-45
+60
+100
+60
+9
+-35
+-70
+-101
+-49
+56
+98
+57
+7
+-37
+-72
+-103
+-49
+56
+97
+56
+6
+-38
+-73
+-103
+-50
+54
+96
+55
+5
+-38
+-73
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+53
+93
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-51
+52
+93
+52
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+52
+94
+53
+3
+-40
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-104
+-51
+53
+95
+53
+3
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+93
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-39
+-74
+-105
+-52
+52
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+93
+53
+3
+-40
+-74
+-105
+-52
+52
+94
+53
+3
+-40
+-74
+-105
+-52
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-105
+-52
+53
+95
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+3
+-39
+-74
+-105
+-52
+54
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-39
+-75
+-105
+-52
+53
+95
+53
+4
+-39
+-74
+-105
+-52
+54
+94
+52
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-40
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-4
+80
+112
+69
+17
+-27
+-64
+-95
+-25
+79
+119
+77
+25
+-21
+-59
+-92
+-36
+68
+110
+68
+16
+-29
+-65
+-97
+-42
+62
+104
+62
+11
+-33
+-68
+-100
+-46
+58
+100
+58
+8
+-36
+-71
+-102
+-48
+57
+99
+58
+7
+-36
+-72
+-103
+-50
+55
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+95
+55
+5
+-38
+-73
+-104
+-52
+53
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+95
+54
+5
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+54
+4
+-39
+-74
+-105
+-53
+53
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+54
+4
+-39
+-74
+-105
+-53
+52
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-53
+53
+95
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-106
+-52
+53
+94
+54
+4
+-39
+-74
+-104
+-53
+52
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+84
+49
+6
+-30
+-67
+-98
+-109
+-127
+-127
+-36
+72
+115
+73
+20
+-25
+-62
+-95
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+60
+9
+-35
+-70
+-102
+-48
+57
+97
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+56
+5
+-38
+-73
+-104
+-50
+54
+95
+54
+4
+-39
+-73
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-52
+52
+93
+52
+3
+-40
+-75
+-105
+-52
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+52
+2
+-40
+-75
+-106
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+4
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-105
+-52
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+52
+2
+-40
+-75
+-106
+-127
+-127
+-127
+-127
+-4
+81
+112
+69
+17
+-27
+-64
+-95
+-25
+80
+120
+78
+25
+-21
+-59
+-91
+-36
+68
+109
+68
+16
+-29
+-65
+-97
+-42
+63
+104
+62
+12
+-33
+-69
+-100
+-46
+59
+100
+58
+8
+-35
+-71
+-102
+-48
+56
+97
+57
+7
+-37
+-72
+-103
+-50
+56
+96
+55
+5
+-38
+-73
+-104
+-50
+55
+96
+55
+5
+-38
+-73
+-104
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+52
+94
+53
+3
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+93
+52
+3
+-40
+-75
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-53
+52
+94
+54
+4
+-39
+-74
+-105
+-51
+54
+94
+84
+48
+5
+-31
+-68
+-98
+-109
+-127
+-127
+-36
+72
+115
+73
+21
+-25
+-62
+-94
+-40
+64
+104
+63
+12
+-32
+-68
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-48
+57
+97
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+55
+5
+-38
+-73
+-104
+-50
+55
+96
+54
+4
+-39
+-74
+-104
+-50
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-104
+-52
+53
+95
+52
+3
+-40
+-75
+-106
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+4
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+93
+52
+3
+-40
+-75
+-105
+-51
+53
+95
+53
+4
+-39
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-75
+-106
+-51
+53
+95
+53
+4
+-39
+-74
+-105
+-52
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+54
+94
+53
+3
+-40
+-75
+-105
+-52
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-4
+81
+112
+68
+17
+-27
+-64
+-95
+-26
+79
+119
+77
+24
+-22
+-59
+-92
+-35
+69
+110
+68
+16
+-29
+-65
+-97
+-42
+63
+104
+63
+12
+-32
+-68
+-99
+-46
+59
+99
+58
+8
+-36
+-71
+-102
+-47
+57
+99
+58
+7
+-36
+-72
+-103
+-50
+55
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+96
+85
+49
+6
+-30
+-67
+-98
+-108
+-127
+-127
+-34
+73
+115
+73
+21
+-25
+-62
+-94
+-40
+63
+105
+62
+11
+-33
+-69
+-100
+-44
+60
+101
+59
+8
+-35
+-71
+-102
+-47
+57
+98
+56
+7
+-37
+-72
+-103
+-49
+56
+97
+56
+5
+-38
+-73
+-104
+-50
+55
+95
+54
+4
+-39
+-74
+-104
+-50
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-52
+53
+94
+52
+2
+-40
+-75
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-52
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+69
+17
+-28
+-64
+-96
+-25
+79
+120
+77
+25
+-21
+-59
+-92
+-35
+69
+109
+68
+16
+-29
+-65
+-97
+-41
+63
+104
+63
+12
+-33
+-68
+-100
+-46
+59
+100
+58
+7
+-36
+-72
+-103
+-47
+57
+98
+57
+7
+-36
+-72
+-103
+-50
+55
+96
+54
+4
+-39
+-74
+-104
+-50
+55
+96
+55
+6
+-38
+-73
+-104
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+93
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+52
+2
+-40
+-75
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+54
+4
+-39
+-74
+-105
+-52
+54
+95
+52
+2
+-40
+-75
+-106
+-52
+53
+94
+53
+4
+-40
+-74
+-105
+-52
+53
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+83
+47
+5
+-31
+-68
+-99
+-109
+-127
+-127
+-35
+73
+115
+73
+21
+-25
+-62
+-94
+-41
+64
+105
+63
+12
+-33
+-68
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-47
+57
+99
+57
+7
+-37
+-72
+-103
+-49
+56
+97
+55
+5
+-38
+-73
+-104
+-49
+54
+95
+54
+4
+-39
+-74
+-104
+-50
+55
+96
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+55
+95
+53
+4
+-39
+-74
+-104
+-52
+53
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-52
+52
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+53
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+68
+17
+-28
+-64
+-96
+-24
+79
+120
+78
+25
+-21
+-59
+-92
+-35
+69
+110
+67
+15
+-29
+-66
+-97
+-41
+63
+104
+63
+12
+-33
+-68
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-47
+57
+97
+57
+6
+-37
+-72
+-103
+-50
+55
+97
+55
+5
+-38
+-73
+-104
+-50
+55
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+54
+4
+-39
+-74
+-105
+-51
+52
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+3
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+95
+54
+4
+-39
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-75
+-106
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-52
+52
+94
+52
+3
+-40
+-75
+-106
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+53
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-52
+53
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+84
+48
+5
+-31
+-68
+-99
+-109
+-127
+-127
+-35
+73
+115
+72
+20
+-26
+-63
+-94
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-44
+61
+101
+58
+8
+-35
+-71
+-102
+-47
+57
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+55
+5
+-38
+-73
+-104
+-49
+55
+96
+54
+5
+-38
+-74
+-104
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+112
+68
+17
+-28
+-64
+-96
+-24
+79
+120
+77
+25
+-21
+-59
+-92
+-35
+69
+110
+67
+15
+-29
+-66
+-97
+-40
+63
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+58
+8
+-36
+-71
+-102
+-47
+58
+98
+57
+7
+-37
+-72
+-103
+-49
+56
+97
+55
+5
+-38
+-74
+-104
+-50
+55
+95
+54
+4
+-39
+-74
+-104
+-51
+53
+95
+53
+4
+-39
+-74
+-105
+-51
+55
+95
+54
+5
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-52
+52
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-106
+-51
+54
+95
+84
+48
+5
+-31
+-68
+-98
+-109
+-127
+-127
+-35
+73
+115
+72
+20
+-25
+-62
+-94
+-40
+63
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+59
+8
+-35
+-71
+-102
+-47
+58
+98
+56
+6
+-37
+-73
+-103
+-49
+56
+97
+55
+5
+-38
+-73
+-104
+-49
+55
+96
+54
+4
+-39
+-74
+-104
+-50
+55
+96
+53
+3
+-39
+-74
+-105
+-127
+-127
+-127
+-127
+-4
+81
+112
+68
+17
+-28
+-64
+-96
+-24
+80
+120
+77
+24
+-22
+-59
+-92
+-35
+70
+110
+68
+16
+-29
+-65
+-97
+-40
+64
+105
+63
+12
+-33
+-68
+-100
+-46
+59
+100
+57
+7
+-36
+-72
+-102
+-47
+58
+98
+57
+7
+-37
+-72
+-103
+-50
+56
+96
+54
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-51
+54
+95
+54
+4
+-39
+-74
+-104
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+53
+93
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-75
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-52
+54
+95
+52
+3
+-40
+-75
+-106
+-50
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+84
+48
+4
+-32
+-68
+-99
+-109
+-127
+-127
+-35
+73
+116
+72
+20
+-26
+-62
+-94
+-40
+64
+105
+62
+11
+-33
+-69
+-100
+-44
+60
+101
+59
+8
+-35
+-71
+-102
+-47
+57
+97
+56
+6
+-37
+-73
+-103
+-48
+56
+97
+55
+5
+-38
+-73
+-104
+-50
+55
+95
+54
+4
+-39
+-74
+-104
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-127
+-127
+-127
+-127
+-4
+81
+112
+68
+17
+-27
+-64
+-96
+-24
+80
+120
+77
+25
+-21
+-59
+-91
+-35
+69
+110
+67
+15
+-29
+-66
+-97
+-40
+64
+104
+62
+11
+-32
+-68
+-100
+-46
+59
+100
+58
+8
+-36
+-71
+-102
+-47
+58
+99
+56
+6
+-37
+-72
+-103
+-49
+55
+96
+54
+5
+-38
+-74
+-104
+-49
+56
+96
+54
+4
+-38
+-74
+-104
+-50
+54
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+93
+52
+3
+-40
+-75
+-106
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+52
+2
+-40
+-75
+-106
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+93
+52
+3
+-40
+-75
+-106
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-106
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-52
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-106
+-50
+54
+95
+54
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-51
+53
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+53
+4
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-106
+-51
+54
+95
+83
+47
+4
+-32
+-68
+-99
+-109
+-127
+-127
+-35
+73
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+104
+61
+11
+-33
+-69
+-100
+-44
+60
+101
+59
+8
+-35
+-71
+-102
+-47
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+55
+5
+-38
+-73
+-104
+-49
+55
+96
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+94
+53
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+93
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-75
+-105
+-50
+53
+94
+52
+3
+-40
+-75
+-106
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+68
+16
+-28
+-64
+-96
+-24
+80
+120
+77
+25
+-22
+-59
+-92
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+64
+105
+62
+11
+-33
+-69
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-47
+58
+98
+56
+7
+-37
+-72
+-103
+-49
+56
+96
+55
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+93
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-39
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+4
+-39
+-74
+-104
+-52
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+94
+53
+4
+-39
+-74
+-105
+-52
+53
+94
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+83
+47
+4
+-32
+-69
+-99
+-110
+-127
+-127
+-34
+73
+115
+72
+20
+-25
+-63
+-95
+-39
+65
+105
+62
+11
+-33
+-69
+-100
+-44
+60
+101
+58
+8
+-36
+-71
+-102
+-47
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+56
+97
+55
+5
+-38
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-23
+80
+120
+77
+24
+-22
+-59
+-91
+-35
+69
+110
+67
+15
+-29
+-66
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-46
+57
+97
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-52
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-106
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+53
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+83
+47
+4
+-32
+-69
+-99
+-110
+-127
+-127
+-35
+72
+115
+72
+20
+-26
+-63
+-95
+-39
+65
+104
+61
+11
+-33
+-69
+-100
+-44
+61
+101
+59
+8
+-36
+-71
+-102
+-46
+58
+97
+55
+5
+-38
+-73
+-104
+-48
+57
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-49
+56
+95
+53
+3
+-39
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+112
+68
+16
+-28
+-65
+-96
+-23
+81
+120
+77
+25
+-21
+-58
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-39
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+55
+5
+-38
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-41
+-75
+-106
+-50
+54
+95
+53
+4
+-39
+-74
+-104
+-51
+53
+94
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-52
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+83
+47
+5
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+74
+116
+73
+20
+-25
+-62
+-94
+-39
+64
+104
+62
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-35
+-71
+-102
+-47
+57
+97
+56
+5
+-38
+-72
+-103
+-47
+57
+96
+54
+5
+-38
+-73
+-104
+-49
+55
+96
+54
+4
+-39
+-74
+-104
+-49
+56
+95
+53
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+93
+51
+2
+-40
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-39
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-23
+80
+120
+78
+25
+-21
+-59
+-91
+-35
+70
+110
+66
+14
+-30
+-66
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+95
+53
+4
+-39
+-74
+-104
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+54
+4
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+53
+93
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+83
+46
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+73
+115
+72
+19
+-26
+-63
+-95
+-39
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+59
+99
+55
+5
+-38
+-73
+-103
+-48
+56
+96
+54
+4
+-38
+-73
+-104
+-49
+55
+95
+53
+4
+-39
+-74
+-105
+-49
+56
+96
+53
+3
+-39
+-74
+-105
+-49
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+51
+2
+-41
+-75
+-106
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-23
+80
+120
+77
+24
+-22
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-66
+-97
+-40
+64
+103
+61
+11
+-33
+-69
+-100
+-45
+59
+100
+58
+7
+-36
+-71
+-102
+-46
+58
+99
+56
+7
+-37
+-72
+-103
+-48
+56
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+83
+47
+4
+-32
+-68
+-99
+-109
+-127
+-127
+-34
+73
+115
+72
+20
+-26
+-62
+-95
+-39
+65
+106
+62
+11
+-33
+-69
+-100
+-43
+61
+100
+58
+8
+-36
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+55
+5
+-38
+-73
+-104
+-49
+55
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+53
+3
+-39
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+80
+111
+67
+16
+-29
+-65
+-96
+-23
+80
+120
+77
+25
+-21
+-59
+-92
+-34
+70
+110
+67
+15
+-29
+-66
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+59
+99
+57
+7
+-36
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+83
+48
+5
+-31
+-68
+-98
+-109
+-127
+-127
+-33
+74
+116
+73
+21
+-24
+-62
+-94
+-39
+65
+105
+61
+10
+-33
+-69
+-100
+-43
+61
+101
+59
+8
+-35
+-71
+-101
+-46
+58
+99
+56
+5
+-38
+-72
+-103
+-48
+57
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-73
+-104
+-49
+55
+95
+53
+3
+-39
+-74
+-105
+-49
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+93
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+53
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+80
+111
+66
+15
+-29
+-65
+-96
+-24
+79
+120
+77
+24
+-22
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-44
+60
+99
+57
+7
+-36
+-71
+-102
+-47
+58
+98
+56
+7
+-37
+-72
+-103
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+84
+48
+5
+-31
+-68
+-98
+-108
+-127
+-127
+-33
+74
+116
+73
+21
+-25
+-62
+-94
+-39
+65
+104
+61
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-35
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+96
+54
+5
+-38
+-73
+-104
+-48
+56
+96
+54
+4
+-39
+-73
+-104
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-104
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+94
+51
+2
+-41
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+93
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+53
+93
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+53
+93
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+53
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+51
+2
+-41
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+93
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+79
+111
+67
+16
+-28
+-64
+-96
+-24
+80
+120
+77
+24
+-22
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-68
+-100
+-44
+60
+100
+58
+7
+-36
+-71
+-102
+-46
+58
+99
+57
+7
+-37
+-72
+-102
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-48
+56
+96
+54
+4
+-39
+-73
+-104
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+53
+93
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+53
+4
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+83
+47
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-35
+73
+115
+72
+19
+-26
+-62
+-94
+-39
+65
+104
+61
+11
+-33
+-69
+-100
+-44
+61
+101
+59
+8
+-35
+-71
+-101
+-46
+58
+97
+56
+6
+-37
+-72
+-103
+-47
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+95
+53
+4
+-39
+-74
+-104
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-104
+-49
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-74
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+93
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+2
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-39
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-6
+79
+110
+67
+16
+-28
+-65
+-96
+-23
+80
+120
+77
+25
+-21
+-58
+-91
+-35
+70
+109
+66
+15
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-68
+-100
+-45
+60
+100
+58
+8
+-36
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+56
+97
+54
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+2
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+53
+94
+51
+2
+-40
+-75
+-106
+-50
+55
+94
+52
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+82
+47
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-35
+73
+115
+71
+19
+-26
+-63
+-95
+-39
+65
+105
+62
+11
+-33
+-68
+-100
+-43
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+5
+-38
+-73
+-103
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-104
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-104
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+79
+111
+67
+16
+-28
+-64
+-95
+-24
+80
+120
+77
+25
+-21
+-59
+-91
+-34
+70
+110
+67
+16
+-29
+-65
+-97
+-40
+65
+104
+62
+11
+-33
+-69
+-100
+-45
+59
+99
+56
+7
+-36
+-72
+-102
+-46
+58
+98
+57
+7
+-36
+-72
+-103
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-48
+56
+96
+84
+47
+4
+-31
+-68
+-98
+-109
+-127
+-127
+-34
+74
+116
+72
+20
+-25
+-62
+-94
+-38
+65
+105
+63
+12
+-32
+-68
+-99
+-43
+61
+101
+58
+7
+-36
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+4
+-38
+-73
+-104
+-48
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-49
+54
+94
+52
+3
+-40
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+110
+67
+16
+-28
+-64
+-96
+-24
+80
+120
+77
+25
+-21
+-59
+-91
+-34
+70
+110
+66
+15
+-29
+-65
+-97
+-40
+64
+105
+62
+11
+-33
+-68
+-99
+-45
+60
+99
+56
+7
+-36
+-72
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+4
+-38
+-73
+-104
+-48
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-39
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+93
+51
+2
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+83
+46
+3
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+74
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+105
+62
+11
+-33
+-68
+-99
+-43
+61
+100
+58
+7
+-35
+-71
+-102
+-46
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+95
+53
+4
+-39
+-74
+-104
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+80
+110
+67
+16
+-28
+-64
+-96
+-23
+80
+120
+77
+25
+-21
+-58
+-91
+-34
+70
+110
+67
+16
+-29
+-65
+-97
+-40
+64
+103
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+58
+7
+-36
+-71
+-102
+-46
+58
+97
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-73
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+93
+51
+2
+-40
+-75
+-105
+-51
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+83
+46
+3
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+74
+115
+72
+20
+-25
+-62
+-94
+-39
+64
+104
+62
+11
+-33
+-69
+-100
+-44
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+57
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-6
+79
+111
+67
+16
+-28
+-64
+-96
+-23
+80
+120
+77
+24
+-21
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+63
+103
+61
+11
+-33
+-69
+-100
+-45
+60
+101
+57
+7
+-36
+-71
+-102
+-47
+58
+98
+56
+7
+-37
+-72
+-102
+-49
+56
+97
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-104
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+83
+47
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-35
+73
+115
+72
+20
+-25
+-62
+-94
+-39
+64
+104
+62
+11
+-33
+-69
+-100
+-44
+61
+102
+58
+8
+-35
+-71
+-102
+-46
+58
+97
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-5
+80
+111
+68
+17
+-28
+-64
+-95
+-23
+81
+121
+78
+25
+-21
+-58
+-91
+-34
+70
+110
+66
+15
+-29
+-66
+-97
+-39
+64
+104
+62
+11
+-33
+-68
+-99
+-46
+59
+100
+57
+7
+-36
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+4
+-38
+-73
+-104
+-49
+56
+95
+54
+4
+-39
+-74
+-104
+-50
+55
+96
+53
+3
+-39
+-74
+-104
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+56
+95
+53
+4
+-39
+-74
+-104
+-51
+53
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-104
+-52
+53
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+4
+-39
+-74
+-104
+-52
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+83
+47
+3
+-33
+-69
+-99
+-109
+-127
+-127
+-35
+73
+115
+71
+19
+-26
+-62
+-94
+-39
+65
+104
+61
+11
+-33
+-69
+-100
+-44
+61
+101
+59
+9
+-35
+-70
+-101
+-46
+58
+97
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+55
+5
+-38
+-73
+-103
+-49
+56
+95
+53
+4
+-39
+-74
+-104
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-64
+-95
+-23
+81
+121
+78
+25
+-21
+-58
+-90
+-35
+69
+110
+66
+15
+-30
+-66
+-97
+-39
+65
+104
+62
+12
+-32
+-68
+-99
+-46
+60
+100
+58
+7
+-36
+-71
+-102
+-46
+59
+98
+56
+7
+-36
+-72
+-103
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+55
+95
+54
+4
+-39
+-74
+-104
+-50
+55
+95
+53
+4
+-39
+-74
+-104
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-104
+-52
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-52
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+53
+94
+51
+2
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-52
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+93
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+83
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-35
+73
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+104
+62
+11
+-33
+-69
+-100
+-43
+61
+101
+59
+9
+-35
+-70
+-101
+-47
+58
+98
+56
+6
+-37
+-72
+-103
+-47
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-50
+55
+96
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+79
+111
+67
+16
+-28
+-64
+-95
+-24
+80
+120
+77
+24
+-22
+-59
+-91
+-34
+69
+110
+67
+15
+-29
+-65
+-97
+-40
+65
+105
+62
+11
+-33
+-68
+-100
+-45
+60
+100
+57
+7
+-36
+-71
+-102
+-47
+58
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+4
+-38
+-74
+-104
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-50
+55
+96
+53
+4
+-39
+-74
+-104
+-50
+55
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-40
+-74
+-104
+-52
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+82
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-35
+72
+115
+72
+20
+-25
+-62
+-94
+-39
+66
+105
+62
+11
+-33
+-68
+-99
+-44
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+55
+5
+-38
+-73
+-103
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-6
+79
+111
+67
+16
+-28
+-64
+-96
+-24
+80
+120
+77
+24
+-22
+-59
+-91
+-35
+70
+110
+67
+16
+-29
+-65
+-97
+-40
+64
+105
+62
+11
+-33
+-68
+-99
+-45
+61
+101
+58
+8
+-35
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-38
+-73
+-104
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-49
+56
+96
+54
+4
+-39
+-73
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-52
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+53
+4
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-40
+-75
+-106
+-51
+54
+94
+53
+3
+-40
+-74
+-105
+-52
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+53
+3
+-40
+-74
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+83
+47
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+73
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+105
+61
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-35
+-71
+-101
+-46
+58
+99
+55
+6
+-37
+-73
+-103
+-48
+57
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-73
+-104
+-49
+56
+96
+53
+3
+-39
+-74
+-104
+-127
+-127
+-127
+-127
+-6
+80
+111
+67
+16
+-28
+-65
+-96
+-23
+81
+121
+78
+25
+-21
+-58
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+65
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+57
+7
+-36
+-71
+-102
+-47
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+55
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-38
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+83
+47
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-35
+73
+115
+73
+21
+-25
+-62
+-94
+-40
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+101
+58
+8
+-35
+-71
+-101
+-47
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-38
+-73
+-104
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-50
+55
+96
+53
+3
+-40
+-74
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+93
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+80
+111
+67
+15
+-29
+-65
+-96
+-23
+80
+120
+77
+25
+-21
+-59
+-91
+-35
+70
+110
+66
+15
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+58
+8
+-35
+-71
+-102
+-47
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-38
+-74
+-104
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-50
+56
+96
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+56
+96
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-106
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-52
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-52
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+82
+47
+3
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+74
+115
+72
+20
+-26
+-62
+-94
+-39
+65
+106
+62
+11
+-33
+-68
+-99
+-44
+62
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-39
+-74
+-104
+-49
+56
+96
+53
+3
+-39
+-74
+-104
+-50
+56
+96
+53
+4
+-39
+-74
+-105
+-50
+56
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-41
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-24
+81
+121
+77
+25
+-21
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-66
+-97
+-40
+65
+104
+62
+11
+-32
+-68
+-100
+-45
+60
+101
+57
+7
+-36
+-71
+-102
+-47
+58
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-50
+54
+95
+53
+4
+-39
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+83
+47
+4
+-32
+-69
+-99
+-109
+-127
+-127
+-34
+73
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+106
+62
+11
+-33
+-69
+-100
+-43
+61
+101
+59
+9
+-35
+-71
+-102
+-46
+59
+99
+55
+5
+-38
+-73
+-103
+-48
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+55
+95
+52
+2
+-41
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+68
+17
+-28
+-64
+-96
+-24
+81
+120
+77
+25
+-21
+-59
+-91
+-34
+70
+111
+67
+15
+-29
+-65
+-97
+-40
+65
+105
+62
+11
+-33
+-69
+-100
+-45
+59
+100
+57
+7
+-36
+-71
+-102
+-47
+59
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+83
+47
+4
+-31
+-68
+-99
+-109
+-127
+-127
+-33
+74
+116
+72
+21
+-25
+-62
+-94
+-39
+66
+106
+62
+11
+-33
+-68
+-99
+-43
+62
+101
+58
+8
+-35
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+97
+54
+4
+-39
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-41
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+68
+16
+-28
+-64
+-95
+-24
+80
+121
+77
+25
+-22
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+65
+105
+62
+11
+-33
+-69
+-100
+-45
+60
+100
+57
+7
+-36
+-72
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+5
+-39
+-74
+-104
+-48
+56
+96
+84
+47
+4
+-32
+-68
+-99
+-109
+-127
+-127
+-33
+74
+116
+73
+21
+-25
+-62
+-94
+-39
+66
+106
+62
+11
+-33
+-68
+-100
+-43
+62
+101
+58
+8
+-35
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+5
+-39
+-74
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-50
+56
+96
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-41
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+56
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-106
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+51
+2
+-41
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-41
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-51
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-51
+55
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-6
+80
+111
+67
+16
+-28
+-65
+-96
+-24
+81
+121
+77
+24
+-22
+-59
+-92
+-34
+70
+110
+67
+15
+-29
+-66
+-97
+-40
+65
+105
+62
+11
+-33
+-69
+-100
+-45
+60
+100
+57
+7
+-36
+-72
+-102
+-46
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-39
+-74
+-104
+-48
+56
+96
+54
+4
+-39
+-73
+-104
+-50
+56
+96
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+56
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+83
+47
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+74
+116
+72
+19
+-26
+-63
+-95
+-39
+66
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+102
+58
+8
+-35
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-39
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-105
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+96
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+56
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+1
+-41
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-106
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+51
+2
+-41
+-75
+-106
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+79
+111
+67
+16
+-28
+-65
+-96
+-23
+81
+121
+77
+24
+-22
+-59
+-91
+-34
+70
+111
+67
+16
+-29
+-65
+-97
+-40
+65
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+57
+7
+-36
+-72
+-102
+-46
+58
+97
+56
+6
+-37
+-72
+-103
+-49
+57
+97
+54
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-49
+56
+95
+53
+4
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+56
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-106
+-50
+54
+94
+52
+2
+-40
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-41
+-75
+-106
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+51
+1
+-41
+-75
+-106
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+82
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+74
+115
+72
+19
+-26
+-63
+-95
+-38
+66
+105
+62
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-35
+-71
+-102
+-46
+59
+99
+56
+5
+-38
+-73
+-103
+-47
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+52
+3
+-40
+-75
+-105
+-49
+56
+96
+53
+3
+-39
+-74
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+56
+95
+53
+3
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+51
+2
+-41
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-106
+-49
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-41
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-41
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-24
+80
+121
+77
+24
+-22
+-59
+-92
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+65
+105
+62
+11
+-33
+-69
+-100
+-45
+61
+100
+57
+7
+-36
+-72
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-48
+56
+96
+84
+47
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-33
+75
+117
+72
+20
+-25
+-62
+-94
+-37
+66
+106
+62
+12
+-33
+-68
+-99
+-43
+62
+102
+57
+7
+-36
+-71
+-102
+-45
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+58
+97
+54
+5
+-38
+-73
+-104
+-48
+57
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-106
+-49
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-106
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-49
+56
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-41
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-23
+80
+121
+77
+25
+-21
+-59
+-91
+-34
+70
+109
+66
+15
+-30
+-66
+-97
+-39
+64
+105
+63
+12
+-32
+-68
+-100
+-45
+60
+101
+57
+7
+-37
+-72
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-50
+55
+96
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-106
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-52
+54
+93
+51
+2
+-41
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-49
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-50
+55
+96
+53
+3
+-39
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+83
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+74
+115
+72
+20
+-26
+-63
+-95
+-38
+66
+106
+62
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+59
+98
+55
+5
+-37
+-72
+-103
+-48
+57
+97
+54
+5
+-38
+-73
+-104
+-48
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+53
+3
+-40
+-74
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-106
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-49
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-41
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-127
+-127
+-127
+-127
+-6
+80
+111
+66
+15
+-29
+-65
+-96
+-23
+80
+120
+77
+24
+-22
+-59
+-92
+-34
+70
+111
+67
+15
+-29
+-66
+-97
+-39
+64
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+58
+7
+-36
+-71
+-102
+-46
+59
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+5
+-39
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-49
+56
+96
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-41
+-75
+-106
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+95
+51
+1
+-41
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-41
+-75
+-106
+-50
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+51
+2
+-41
+-75
+-105
+-50
+55
+95
+83
+46
+3
+-33
+-70
+-100
+-110
+-127
+-127
+-34
+74
+115
+72
+20
+-25
+-62
+-95
+-38
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+98
+55
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+4
+-39
+-74
+-104
+-48
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+95
+52
+3
+-40
+-75
+-105
+-49
+56
+95
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-106
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-64
+-96
+-23
+80
+120
+77
+24
+-22
+-59
+-92
+-34
+71
+111
+67
+15
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-44
+61
+101
+57
+7
+-36
+-72
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-49
+56
+97
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+5
+-39
+-74
+-104
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+53
+3
+-39
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-51
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-49
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-41
+-75
+-105
+-49
+55
+94
+83
+47
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-33
+74
+115
+72
+20
+-25
+-62
+-94
+-38
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+101
+58
+8
+-36
+-71
+-102
+-45
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+53
+4
+-39
+-74
+-104
+-48
+56
+96
+53
+3
+-39
+-74
+-104
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-29
+-65
+-96
+-23
+81
+121
+78
+25
+-21
+-58
+-91
+-34
+70
+110
+66
+15
+-30
+-66
+-97
+-39
+65
+104
+62
+11
+-33
+-69
+-100
+-45
+60
+101
+58
+7
+-36
+-71
+-102
+-46
+59
+99
+56
+6
+-37
+-72
+-103
+-48
+56
+97
+55
+5
+-38
+-73
+-104
+-49
+56
+96
+53
+3
+-39
+-74
+-104
+-49
+54
+95
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-106
+-49
+56
+95
+83
+47
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+74
+115
+72
+19
+-26
+-63
+-95
+-38
+66
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+101
+58
+8
+-35
+-71
+-101
+-46
+58
+98
+56
+6
+-38
+-73
+-103
+-47
+58
+97
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-22
+81
+121
+77
+25
+-21
+-59
+-91
+-34
+70
+110
+66
+15
+-30
+-66
+-97
+-39
+65
+105
+62
+11
+-33
+-68
+-99
+-45
+60
+101
+57
+7
+-36
+-71
+-102
+-46
+59
+98
+56
+6
+-37
+-72
+-103
+-48
+56
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-41
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-39
+-74
+-105
+-51
+54
+94
+51
+1
+-41
+-75
+-106
+-50
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+95
+51
+2
+-41
+-75
+-106
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+93
+52
+2
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+83
+47
+4
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+73
+115
+72
+20
+-25
+-62
+-94
+-38
+66
+105
+61
+11
+-33
+-69
+-100
+-43
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+98
+55
+5
+-38
+-73
+-103
+-48
+56
+97
+54
+4
+-39
+-74
+-104
+-49
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-49
+55
+95
+52
+2
+-40
+-75
+-105
+-49
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-41
+-75
+-106
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-106
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-28
+-65
+-96
+-23
+80
+121
+77
+24
+-22
+-59
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-40
+65
+105
+62
+11
+-33
+-69
+-100
+-44
+61
+100
+57
+7
+-36
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+96
+54
+4
+-39
+-73
+-104
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+56
+95
+52
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-51
+53
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+51
+2
+-41
+-75
+-106
+-49
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-51
+54
+94
+82
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+73
+115
+72
+20
+-26
+-62
+-94
+-38
+66
+106
+62
+11
+-33
+-68
+-100
+-43
+61
+101
+57
+7
+-36
+-71
+-102
+-47
+58
+98
+55
+5
+-38
+-73
+-104
+-47
+57
+97
+54
+5
+-38
+-73
+-104
+-49
+56
+96
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+53
+4
+-39
+-74
+-104
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-49
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-74
+-105
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+93
+51
+1
+-41
+-75
+-106
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-49
+55
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-49
+55
+95
+52
+2
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+79
+111
+67
+16
+-28
+-64
+-96
+-24
+80
+120
+76
+23
+-22
+-59
+-92
+-34
+70
+110
+67
+16
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-100
+-44
+61
+101
+58
+8
+-36
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-74
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+2
+-40
+-75
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+93
+51
+2
+-41
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+94
+53
+3
+-40
+-74
+-104
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+93
+51
+3
+-40
+-75
+-105
+-50
+55
+95
+82
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-33
+73
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+101
+58
+8
+-35
+-71
+-101
+-46
+58
+99
+55
+5
+-38
+-73
+-103
+-47
+57
+96
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-5
+80
+111
+67
+16
+-29
+-65
+-96
+-22
+81
+120
+77
+25
+-21
+-58
+-91
+-34
+70
+110
+67
+15
+-29
+-65
+-97
+-39
+65
+104
+62
+11
+-33
+-69
+-100
+-44
+61
+101
+58
+7
+-36
+-71
+-102
+-46
+58
+99
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+54
+5
+-38
+-73
+-103
+-49
+56
+96
+54
+4
+-39
+-74
+-104
+-49
+55
+94
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+54
+95
+53
+3
+-39
+-74
+-105
+-51
+54
+94
+51
+2
+-41
+-75
+-105
+-50
+55
+95
+53
+3
+-39
+-74
+-104
+-51
+54
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-104
+-51
+54
+93
+51
+2
+-40
+-75
+-106
+-50
+55
+95
+83
+46
+3
+-33
+-69
+-99
+-110
+-127
+-127
+-34
+74
+115
+72
+20
+-25
+-62
+-94
+-39
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+62
+101
+58
+8
+-35
+-71
+-102
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-48
+57
+97
+53
+4
+-39
+-74
+-104
+-48
+56
+96
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+52
+3
+-40
+-74
+-105
+-49
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-49
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-49
+54
+94
+52
+3
+-40
+-75
+-105
+-51
+54
+95
+52
+2
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+52
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-127
+-127
+-127
+-127
+-6
+79
+111
+67
+15
+-29
+-65
+-96
+-23
+80
+120
+77
+25
+-21
+-59
+-91
+-34
+70
+110
+66
+15
+-29
+-65
+-97
+-40
+64
+104
+62
+11
+-33
+-69
+-99
+-44
+60
+101
+58
+8
+-35
+-71
+-102
+-46
+58
+97
+56
+6
+-37
+-72
+-103
+-49
+55
+96
+54
+4
+-38
+-73
+-104
+-49
+56
+96
+54
+5
+-38
+-73
+-104
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+53
+3
+-40
+-74
+-104
+-51
+53
+94
+52
+2
+-40
+-75
+-105
+-49
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+95
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+55
+95
+53
+3
+-40
+-74
+-105
+-50
+54
+94
+51
+2
+-41
+-75
+-105
+-50
+54
+94
+53
+3
+-39
+-74
+-104
+-51
+54
+94
+51
+2
+-40
+-75
+-105
+-50
+55
+94
+53
+3
+-39
+-74
+-104
+-51
+53
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-75
+-105
+-50
+54
+94
+52
+2
+-40
+-74
+-105
+-51
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+83
+46
+3
+-32
+-68
+-99
+-109
+-127
+-127
+-34
+74
+115
+72
+19
+-26
+-63
+-95
+-38
+65
+105
+62
+11
+-33
+-69
+-100
+-43
+61
+100
+58
+8
+-36
+-71
+-101
+-46
+58
+98
+56
+6
+-37
+-72
+-103
+-47
+57
+97
+54
+5
+-38
+-73
+-103
+-49
+55
+95
+53
+4
+-39
+-74
+-104
+-49
+56
+96
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-104
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-49
+56
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+94
+52
+2
+-40
+-75
+-105
+-50
+55
+95
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+3
+-40
+-74
+-105
+-50
+55
+94
+51
+2
+-40
+-75
+-105
+-50
+54
+94
+52
+3
+-40
+-74
+-105
+-50
+54
+95
+52
+2
Impressum, Datenschutz