1.猫の鳴き声を落としてくる(wavファイル)
http://www.kessels.com/catsounds/
2.AudacityでWAVを開きリサンプリングしてWAVにExportする
リサンプリング要求はMono、8bit PCM(unsigned)、8000Hz、音源は3秒間以下(※)
※8kHz x 4秒 = 32k Byte(一音を1バイト(=1文字)で表現) だが、ArduinoのFlashは32kByte。ブートローダに5k使っているので実際は27kByteだから、3秒程度が限界という計算
3.wav2cでWAVファイルをC形式に変換する
https://github.com/olleolleolle/wav2c
4. ArduinoのPCMAudioのサンプルコードを使う
http://playground.arduino.cc/Code/PCMAudio
#include <stdint.h> #include <avr/interrupt.h> #include <avr/io.h> #include <avr/pgmspace.h> #define SAMPLE_RATE 8000 /* * The audio data needs to be unsigned, 8-bit, 8000 Hz, and small enough * to fit in flash. 10000-13000 samples is about the limit. * * sounddata.h should look like this: * const int sounddata_length=10000; * const unsigned char sounddata_data[] PROGMEM = { ..... }; * * You can use wav2c from GBA CSS: * http://thieumsweb.free.fr/english/gbacss.html * Then add "PROGMEM" in the right place. I hacked it up to dump the samples * as unsigned rather than signed, but it shouldn't matter. * * http://musicthing.blogspot.com/2005/05/tiny-music-makers-pt-4-mac-startup.html * mplayer -ao pcm macstartup.mp3 * sox audiodump.wav -v 1.32 -c 1 -r 8000 -u -1 macstartup-8000.wav * sox macstartup-8000.wav macstartup-cut.wav trim 0 10000s * wav2c macstartup-cut.wav sounddata.h sounddata * * (starfox) nb. under sox 12.18 (distributed in CentOS 5), i needed to run * the following command to convert my wav file to the appropriate format: * sox audiodump.wav -c 1 -r 8000 -u -b macstartup-8000.wav */ #include "sounddata.h" int ledPin = 13; int speakerPin = 11; // Can be either 3 or 11, two PWM outputs connected to Timer 2 volatile uint16_t sample; byte lastSample; void stopPlayback() { // Disable playback per-sample interrupt. TIMSK1 &= ~_BV(OCIE1A); // Disable the per-sample timer completely. TCCR1B &= ~_BV(CS10); // Disable the PWM timer. TCCR2B &= ~_BV(CS10); digitalWrite(speakerPin, LOW); } // This is called at 8000 Hz to load the next sample. ISR(TIMER1_COMPA_vect) { if (sample >= sounddata_length) { if (sample == sounddata_length + lastSample) { stopPlayback(); } else { if(speakerPin==11){ // Ramp down to zero to reduce the click at the end of playback. OCR2A = sounddata_length + lastSample - sample; } else { OCR2B = sounddata_length + lastSample - sample; } } } else { if(speakerPin==11){ OCR2A = pgm_read_byte(&sounddata_data[sample]); } else { OCR2B = pgm_read_byte(&sounddata_data[sample]); } } ++sample; } void startPlayback() { pinMode(speakerPin, OUTPUT); // Set up Timer 2 to do pulse width modulation on the speaker // pin. // Use internal clock (datasheet p.160) ASSR &= ~(_BV(EXCLK) | _BV(AS2)); // Set fast PWM mode (p.157) TCCR2A |= _BV(WGM21) | _BV(WGM20); TCCR2B &= ~_BV(WGM22); if(speakerPin==11){ // Do non-inverting PWM on pin OC2A (p.155) // On the Arduino this is pin 11. TCCR2A = (TCCR2A | _BV(COM2A1)) & ~_BV(COM2A0); TCCR2A &= ~(_BV(COM2B1) | _BV(COM2B0)); // No prescaler (p.158) TCCR2B = (TCCR2B & ~(_BV(CS12) | _BV(CS11))) | _BV(CS10); // Set initial pulse width to the first sample. OCR2A = pgm_read_byte(&sounddata_data[0]); } else { // Do non-inverting PWM on pin OC2B (p.155) // On the Arduino this is pin 3. TCCR2A = (TCCR2A | _BV(COM2B1)) & ~_BV(COM2B0); TCCR2A &= ~(_BV(COM2A1) | _BV(COM2A0)); // No prescaler (p.158) TCCR2B = (TCCR2B & ~(_BV(CS12) | _BV(CS11))) | _BV(CS10); // Set initial pulse width to the first sample. OCR2B = pgm_read_byte(&sounddata_data[0]); } // Set up Timer 1 to send a sample every interrupt. cli(); // Set CTC mode (Clear Timer on Compare Match) (p.133) // Have to set OCR1A *after*, otherwise it gets reset to 0! TCCR1B = (TCCR1B & ~_BV(WGM13)) | _BV(WGM12); TCCR1A = TCCR1A & ~(_BV(WGM11) | _BV(WGM10)); // No prescaler (p.134) TCCR1B = (TCCR1B & ~(_BV(CS12) | _BV(CS11))) | _BV(CS10); // Set the compare register (OCR1A). // OCR1A is a 16-bit register, so we have to do this with // interrupts disabled to be safe. OCR1A = F_CPU / SAMPLE_RATE; // 16e6 / 8000 = 2000 // Enable interrupt when TCNT1 == OCR1A (p.136) TIMSK1 |= _BV(OCIE1A); lastSample = pgm_read_byte(&sounddata_data[sounddata_length-1]); sample = 0; sei(); } void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH); startPlayback(); } void loop() { while (true); }
sounddata.h
// sounddata sound made by wav2c // (wav2c modified to use unsigned samples) /* const int sounddata_sampleRate=8000; */ const int sounddata_length = 11368; const signed char sounddata_data[] PROGMEM ={127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 127, 128, 127, 127, 128, 127, 128, 127, 128, 124, 124, 124, 124, 124, 124, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 124, 127, 124, 124, 128, 124, 127, 128, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 127, 128, 127, 127, 128, 128, 127, 128, 127, 128, 128, 127, 124, 127, 124, 127, 124, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 124, 124, 127, 127, 128, 127, 128, 124, 127, 124, 127, 124, 128, 127, 128, 127, 127, 128, 127, 124, 127, 124, 127, 124, 127, 124, 127, 124, 127, 124, 127, 128, 127, 128, 124, 124, 128, 127, 128, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 124, 128, 128, 128, 127, 128, 127, 127, 124, 124, 128, 127, 128, 127, 128, 127, 128, 128, 127, 127, 128, 128, 127, 128, 127, 127, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 127, 128, 127, 128, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 128, 127, 127, 128, 124, 121, 124, 128, 124, 121, 121, 124, 124, 127, 124, 124, 121, 127, 124, 124, 127, 128, 124, 128, 127, 128, 127, 128, 124, 124, 124, 124, 128, 128, 127, 128, 127, 124, 127, 128, 131, 128, 131, 127, 128, 131, 131, 124, 127, 124, 124, 128, 124, 127, 124, 121, 128, 127, 128, 124, 124, 124, 128, 128, 127, 128, 127, 124, 124, 124, 128, 124, 124, 124, 124, 121, 124, 124, 124, 121, 124, 124, 124, 124, 127, 128, 124, 124, 127, 124, 124, 127, 128, 124, 128, 124, 128, 124, 128, 124, 124, 128, 127, 128, 128, 131, 128, 127, 128, 127, 127, 124, 127, 124, 128, 127, 124, 124, 124, 127, 124, 127, 128, 124, 128, 127, 128, 127, 131, 128, 127, 128, 127, 127, 124, 127, 121, 124, 124, 124, 124, 124, 124, 127, 124, 124, 128, 124, 124, 128, 127, 128, 124, 127, 128, 127, 128, 124, 131, 127, 128, 124, 128, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 128, 124, 124, 124, 127, 128, 124, 124, 121, 128, 124, 128, 124, 121, 124, 121, 124, 128, 124, 121, 124, 124, 128, 124, 124, 124, 124, 124, 128, 124, 127, 124, 127, 128, 131, 128, 124, 128, 127, 128, 127, 128, 128, 124, 128, 127, 127, 128, 128, 127, 128, 127, 128, 128, 134, 128, 127, 127, 128, 127, 124, 124, 124, 124, 128, 128, 127, 124, 124, 124, 124, 127, 128, 128, 127, 128, 131, 127, 128, 127, 128, 124, 124, 127, 124, 124, 124, 124, 124, 124, 121, 124, 124, 124, 128, 124, 128, 127, 124, 127, 128, 127, 124, 127, 124, 127, 124, 124, 124, 121, 124, 124, 124, 124, 124, 124, 121, 121, 121, 121, 124, 121, 124, 124, 124, 127, 124, 121, 124, 128, 127, 128, 124, 127, 128, 127, 124, 127, 128, 131, 128, 127, 127, 124, 127, 131, 127, 128, 124, 128, 131, 131, 127, 128, 131, 131, 128, 127, 124, 127, 128, 131, 128, 127, 131, 127, 128, 127, 128, 128, 127, 127, 128, 127, 128, 127, 124, 127, 128, 128, 127, 128, 124, 128, 124, 124, 124, 124, 124, 124, 121, 121, 121, 121, 128, 121, 121, 121, 124, 124, 124, 121, 124, 128, 121, 121, 124, 124, 128, 121, 121, 124, 124, 121, 121, 121, 121, 124, 124, 121, 121, 121, 124, 128, 124, 131, 124, 128, 127, 128, 127, 128, 124, 128, 127, 124, 131, 127, 128, 127, 128, 127, 128, 131, 124, 128, 127, 128, 124, 127, 128, 127, 128, 128, 127, 128, 124, 131, 127, 128, 127, 128, 127, 128, 128, 131, 128, 127, 128, 124, 128, 131, 128, 127, 128, 131, 131, 124, 124, 128, 128, 124, 124, 121, 127, 128, 127, 124, 124, 128, 124, 124, 127, 124, 124, 121, 128, 124, 124, 124, 121, 124, 124, 124, 121, 121, 127, 124, 117, 124, 117, 117, 124, 124, 121, 121, 124, 121, 124, 121, 128, 124, 124, 127, 128, 124, 134, 134, 128, 128, 127, 128, 127, 124, 127, 128, 127, 128, 128, 124, 128, 127, 131, 127, 131, 127, 127, 131, 127, 131, 127, 131, 131, 131, 131, 124, 128, 131, 128, 127, 128, 127, 127, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 127, 124, 124, 128, 124, 124, 127, 131, 121, 124, 124, 124, 124, 124, 121, 121, 124, 121, 121, 124, 124, 124, 121, 124, 127, 124, 124, 124, 127, 128, 121, 121, 128, 127, 124, 124, 121, 124, 127, 128, 128, 128, 127, 131, 131, 128, 128, 131, 131, 131, 131, 128, 131, 131, 127, 127, 131, 124, 128, 127, 128, 131, 131, 124, 131, 124, 128, 131, 127, 124, 124, 128, 124, 128, 124, 124, 131, 124, 124, 124, 124, 128, 117, 124, 124, 124, 121, 124, 128, 127, 124, 124, 124, 128, 127, 124, 124, 121, 121, 124, 124, 124, 127, 128, 121, 128, 124, 128, 124, 128, 124, 124, 124, 117, 124, 124, 124, 124, 124, 127, 128, 124, 124, 128, 124, 124, 124, 128, 124, 124, 131, 128, 121, 124, 127, 128, 128, 127, 128, 128, 124, 128, 124, 124, 128, 124, 128, 131, 128, 127, 128, 131, 131, 124, 124, 128, 127, 128, 127, 124, 124, 124, 128, 127, 128, 128, 127, 131, 131, 134, 131, 127, 131, 124, 124, 128, 124, 124, 117, 124, 121, 121, 121, 124, 124, 127, 128, 131, 134, 134, 134, 131, 127, 128, 131, 124, 121, 117, 117, 114, 114, 114, 114, 117, 117, 117, 121, 127, 128, 127, 128, 128, 127, 128, 131, 128, 127, 124, 121, 121, 117, 117, 124, 121, 121, 128, 124, 124, 127, 138, 138, 134, 134, 134, 134, 138, 138, 134, 134, 131, 124, 124, 121, 124, 124, 121, 124, 124, 124, 127, 131, 134, 134, 134, 138, 134, 138, 134, 131, 127, 124, 121, 117, 111, 114, 107, 114, 114, 114, 117, 121, 131, 128, 138, 141, 138, 138, 138, 131, 131, 127, 121, 114, 107, 104, 107, 107, 111, 114, 117, 124, 127, 134, 141, 141, 141, 144, 144, 138, 134, 127, 124, 121, 117, 111, 104, 104, 104, 111, 114, 114, 124, 131, 134, 144, 141, 151, 144, 141, 141, 131, 124, 117, 114, 111, 107, 107, 107, 107, 117, 124, 131, 141, 141, 144, 151, 158, 151, 148, 141, 134, 128, 121, 114, 111, 107, 107, 111, 114, 121, 124, 138, 144, 144, 155, 154, 151, 154, 144, 134, 128, 117, 111, 101, 97, 94, 94, 97, 101, 114, 128, 121, 128, 151, 148, 138, 141, 138, 134, 124, 121, 114, 111, 101, 97, 104, 107, 104, 117, 121, 124, 134, 138, 141, 138, 141, 138, 131, 131, 121, 117, 121, 114, 114, 117, 121, 128, 128, 134, 138, 141, 141, 134, 134, 134, 128, 127, 128, 117, 117, 117, 117, 124, 124, 128, 134, 138, 141, 138, 138, 134, 134, 131, 124, 117, 114, 117, 114, 114, 124, 128, 131, 134, 138, 144, 148, 141, 141, 138, 131, 121, 121, 114, 107, 104, 104, 114, 117, 124, 134, 138, 144, 148, 144, 148, 141, 134, 131, 121, 114, 107, 101, 100, 104, 101, 111, 117, 128, 134, 134, 141, 144, 148, 138, 131, 121, 114, 111, 107, 101, 101, 97, 107, 111, 114, 127, 138, 141, 141, 144, 148, 138, 131, 131, 124, 117, 111, 107, 107, 111, 114, 121, 127, 134, 134, 141, 148, 148, 148, 141, 144, 131, 127, 121, 114, 114, 107, 114, 117, 121, 128, 131, 141, 148, 141, 148, 141, 141, 134, 127, 124, 117, 117, 111, 114, 117, 124, 124, 131, 138, 131, 131, 138, 138, 131, 128, 121, 121, 111, 114, 114, 114, 117, 121, 121, 131, 134, 134, 134, 131, 131, 124, 121, 117, 107, 111, 107, 111, 111, 111, 117, 128, 131, 138, 141, 141, 138, 134, 134, 124, 117, 111, 107, 114, 114, 117, 114, 121, 128, 134, 144, 138, 138, 141, 138, 134, 127, 121, 111, 111, 117, 117, 117, 127, 124, 127, 131, 138, 138, 138, 138, 134, 131, 128, 124, 124, 124, 124, 124, 134, 127, 134, 134, 131, 134, 128, 131, 128, 121, 121, 121, 121, 121, 124, 131, 138, 131, 134, 131, 134, 134, 121, 124, 114, 111, 114, 111, 114, 114, 114, 131, 127, 131, 141, 138, 138, 128, 127, 124, 117, 111, 107, 107, 111, 111, 117, 121, 124, 127, 131, 138, 134, 131, 138, 134, 127, 124, 117, 121, 121, 127, 131, 127, 131, 131, 131, 134, 131, 134, 128, 127, 128, 124, 124, 127, 124, 134, 127, 134, 134, 127, 131, 124, 128, 121, 124, 121, 124, 121, 121, 128, 134, 128, 134, 134, 138, 134, 127, 128, 124, 124, 117, 117, 117, 114, 124, 138, 124, 124, 127, 131, 131, 121, 124, 124, 121, 121, 117, 121, 117, 127, 131, 124, 131, 128, 127, 121, 117, 121, 121, 114, 107, 117, 124, 117, 124, 124, 131, 138, 134, 134, 131, 131, 127, 117, 121, 117, 114, 124, 121, 138, 131, 131, 141, 141, 144, 138, 138, 134, 131, 124, 124, 121, 117, 124, 131, 128, 131, 128, 131, 131, 131, 131, 128, 124, 124, 124, 127, 121, 131, 124, 131, 131, 128, 127, 124, 124, 117, 117, 121, 121, 114, 121, 128, 131, 127, 131, 131, 134, 128, 124, 134, 131, 107, 104, 117, 121, 138, 138, 117, 114, 121, 131, 141, 134, 124, 111, 114, 117, 121, 121, 127, 128, 124, 128, 131, 128, 138, 131, 117, 121, 114, 124, 124, 121, 117, 121, 127, 134, 138, 134, 131, 128, 128, 124, 121, 131, 124, 114, 121, 128, 134, 127, 127, 138, 134, 128, 134, 128, 124, 134, 117, 121, 124, 121, 131, 127, 124, 134, 138, 124, 124, 134, 131, 124, 127, 121, 124, 124, 131, 131, 128, 131, 124, 128, 121, 124, 124, 121, 121, 121, 124, 121, 128, 134, 131, 131, 127, 124, 128, 121, 117, 121, 138, 97, 121, 128, 124, 134, 111, 138, 144, 107, 134, 127, 117, 128, 117, 107, 127, 114, 131, 124, 117, 138, 128, 138, 114, 124, 117, 205, 40, 141, 138, 101, 161, 67, 178, 121, 97, 141, 124, 128, 114, 158, 104, 138, 131, 121, 138, 124, 144, 124, 148, 114, 121, 141, 111, 144, 60, 181, 107, 134, 111, 165, 127, 121, 148, 124, 141, 101, 117, 141, 70, 154, 117, 111, 131, 144, 128, 127, 155, 117, 148, 104, 134, 128, 111, 131, 114, 128, 124, 117, 127, 134, 124, 124, 134, 100, 134, 124, 121, 131, 114, 131, 131, 131, 107, 138, 124, 124, 107, 128, 127, 111, 114, 131, 131, 121, 134, 134, 131, 117, 134, 121, 124, 114, 117, 121, 107, 131, 121, 131, 148, 127, 131, 138, 131, 121, 134, 121, 107, 121, 117, 117, 121, 134, 131, 134, 134, 134, 141, 124, 128, 131, 114, 131, 128, 121, 121, 134, 138, 128, 134, 141, 138, 131, 124, 121, 124, 131, 114, 124, 124, 131, 117, 134, 117, 148, 124, 121, 131, 111, 128, 124, 121, 114, 134, 117, 117, 127, 134, 134, 124, 114, 121, 121, 121, 107, 114, 124, 131, 104, 138, 127, 134, 127, 121, 127, 128, 128, 124, 117, 114, 128, 131, 111, 128, 134, 138, 127, 128, 128, 141, 117, 127, 131, 117, 134, 111, 134, 124, 141, 131, 117, 138, 121, 124, 128, 114, 124, 117, 131, 104, 124, 141, 141, 121, 138, 138, 124, 134, 124, 124, 121, 134, 101, 131, 121, 141, 138, 124, 148, 124, 127, 131, 124, 124, 124, 127, 97, 127, 124, 138, 121, 134, 144, 111, 141, 124, 121, 124, 131, 97, 117, 117, 131, 128, 111, 141, 121, 128, 124, 128, 127, 117, 134, 101, 117, 127, 131, 121, 121, 131, 121, 131, 127, 124, 114, 134, 111, 114, 114, 141, 127, 117, 141, 131, 127, 138, 121, 131, 124, 134, 111, 114, 128, 151, 121, 134, 134, 124, 141, 127, 124, 121, 141, 104, 117, 117, 141, 131, 114, 144, 131, 127, 138, 124, 134, 124, 134, 104, 114, 134, 144, 121, 124, 141, 114, 144, 121, 124, 124, 134, 97, 114, 127, 144, 127, 114, 144, 124, 141, 134, 117, 134, 124, 111, 104, 114, 131, 138, 114, 134, 128, 117, 144, 117, 134, 128, 121, 90, 111, 131, 151, 107, 124, 141, 107, 154, 117, 121, 134, 114, 97, 101, 117, 141, 121, 117, 144, 117, 138, 144, 114, 148, 124, 117, 90, 117, 127, 138, 121, 138, 138, 124, 148, 124, 144, 134, 131, 90, 117, 127, 148, 121, 131, 151, 117, 154, 121, 138, 141, 138, 104, 101, 117, 134, 134, 124, 141, 121, 138, 138, 114, 151, 121, 127, 90, 111, 124, 138, 121, 124, 134, 117, 151, 111, 148, 124, 141, 90, 104, 111, 138, 131, 114, 141, 111, 141, 138, 111, 148, 117, 138, 87, 101, 128, 127, 128, 121, 134, 107, 158, 107, 141, 121, 141, 121, 84, 114, 131, 138, 124, 121, 128, 121, 154, 107, 141, 111, 161, 100, 94, 121, 131, 144, 124, 121, 124, 141, 131, 124, 128, 134, 148, 84, 114, 134, 141, 134, 121, 138, 124, 154, 124, 138, 107, 171, 111, 97, 121, 144, 148, 124, 127, 138, 128, 151, 107, 128, 134, 151, 90, 107, 127, 148, 128, 121, 131, 124, 138, 131, 117, 111, 154, 114, 90, 107, 134, 148, 114, 114, 141, 114, 144, 101, 128, 117, 151, 90, 97, 124, 141, 134, 104, 131, 124, 117, 138, 107, 138, 138, 121, 91, 117, 141, 154, 117, 117, 148, 114, 141, 121, 127, 144, 131, 94, 104, 138, 151, 134, 104, 148, 124, 121, 134, 90, 165, 134, 114, 84, 131, 148, 148, 104, 128, 154, 111, 141, 104, 131, 161, 121, 84, 111, 141, 154, 124, 104, 161, 121, 127, 138, 104, 161, 134, 90, 101, 131, 154, 141, 94, 158, 138, 121, 141, 101, 161, 151, 101, 84, 121, 148, 148, 111, 111, 158, 104, 148, 104, 131, 154, 111, 80, 107, 131, 148, 114, 101, 154, 104, 138, 117, 107, 165, 111, 87, 94, 127, 148, 124, 107, 151, 121, 121, 151, 94, 181, 121, 94, 94, 114, 154, 117, 107, 161, 121, 124, 154, 97, 181, 134, 87, 107, 111, 155, 131, 97, 168, 131, 124, 154, 107, 161, 151, 87, 111, 107, 138, 127, 94, 161, 124, 114, 144, 114, 165, 138, 87, 107, 114, 127, 114, 97, 165, 107, 134, 131, 121, 178, 121, 90, 117, 121, 141, 94, 101, 175, 111, 154, 111, 114, 191, 121, 90, 127, 107, 165, 84, 94, 168, 107, 168, 114, 104, 195, 104, 101, 124, 111, 161, 90, 97, 154, 111, 168, 127, 101, 195, 94, 111, 114, 114, 151, 87, 107, 131, 104, 175, 124, 111, 168, 87, 127, 107, 127, 141, 90, 134, 114, 114, 175, 127, 138, 161, 80, 148, 114, 134, 124, 101, 158, 94, 131, 165, 121, 165, 124, 84, 155, 114, 141, 94, 117, 168, 67, 154, 141, 131, 185, 84, 111, 138, 134, 138, 74, 134, 158, 74, 165, 114, 134, 168, 70, 124, 124, 138, 124, 57, 158, 131, 107, 151, 104, 151, 144, 77, 134, 131, 141, 124, 70, 161, 107, 144, 128, 117, 154, 124, 94, 138, 134, 148, 107, 104, 141, 114, 168, 114, 138, 141, 104, 121, 131, 141, 138, 111, 124, 107, 127, 151, 117, 151, 114, 107, 138, 124, 141, 117, 121, 138, 87, 154, 131, 124, 154, 87, 107, 148, 128, 131, 111, 138, 124, 101, 171, 111, 148, 131, 84, 124, 141, 141, 111, 124, 154, 94, 148, 141, 117, 154, 97, 111, 124, 144, 144, 90, 144, 141, 94, 161, 114, 131, 138, 70, 121, 127, 141, 127, 90, 161, 111, 117, 158, 104, 144, 114, 74, 134, 128, 134, 114, 107, 171, 94, 148, 141, 111, 154, 74, 104, 131, 141, 134, 97, 154, 141, 117, 155, 117, 138, 131, 70, 127, 121, 158, 124, 104, 171, 97, 168, 141, 121, 154, 90, 114, 131, 124, 158, 107, 138, 151, 107, 181, 131, 121, 134, 67, 134, 131, 107, 138, 111, 151, 121, 131, 161, 134, 117, 94, 90, 141, 134, 90, 124, 144, 128, 127, 138, 148, 128, 111, 74, 111, 151, 128, 87, 128, 151, 114, 138, 138, 148, 121, 94, 77, 128, 165, 104, 101, 141, 138, 141, 131, 144, 138, 121, 80, 94, 148, 154, 90, 124, 144, 131, 158, 124, 148, 124, 111, 90, 104, 154, 131, 97, 144, 128, 144, 144, 134, 148, 111, 111, 107, 121, 158, 104, 128, 148, 121, 168, 117, 165, 124, 80, 114, 107, 154, 121, 104, 144, 127, 151, 138, 134, 158, 101, 80, 107, 131, 148, 90, 138, 134, 131, 161, 107, 158, 131, 80, 97, 107, 151, 121, 90, 141, 127, 151, 141, 111, 151, 111, 80, 107, 117, 144, 111, 117, 138, 131, 158, 121, 141, 138, 90, 94, 114, 141, 117, 117, 138, 134, 151, 138, 127, 144, 121, 84, 104, 138, 138, 111, 127, 134, 158, 158, 124, 144, 121, 111, 90, 117, 138, 114, 134, 127, 144, 165, 117, 144, 128, 111, 87, 104, 144, 107, 124, 124, 134, 165, 144, 124, 141, 114, 104, 87, 138, 131, 104, 148, 114, 165, 161, 121, 154, 111, 114, 87, 107, 151, 94, 138, 128, 131, 178, 128, 141, 144, 101, 101, 80, 144, 121, 101, 138, 107, 171, 154, 111, 148, 114, 107, 94, 104, 124, 94, 151, 128, 134, 165, 111, 148, 144, 114, 101, 87, 124, 117, 114, 141, 124, 168, 141, 114, 158, 114, 104, 97, 111, 134, 90, 138, 138, 148, 168, 104, 158, 141, 101, 114, 104, 141, 104, 121, 148, 131, 171, 127, 131, 168, 97, 94, 107, 127, 141, 90, 128, 138, 154, 171, 101, 154, 134, 84, 111, 111, 131, 111, 104, 138, 131, 161, 134, 121, 165, 104, 77, 117, 117, 134, 104, 121, 138, 138, 168, 107, 154, 151, 74, 101, 117, 144, 127, 97, 138, 128, 168, 141, 121, 168, 111, 77, 114, 127, 151, 101, 117, 141, 138, 165, 111, 158, 151, 67, 107, 107, 144, 134, 84, 138, 111, 165, 138, 121, 158, 94, 80, 117, 117, 148, 94, 121, 138, 128, 161, 111, 158, 134, 74, 114, 114, 148, 124, 97, 148, 121, 154, 128, 138, 168, 101, 80, 121, 138, 154, 107, 121, 134, 134, 158, 121, 161, 141, 74, 104, 111, 161, 128, 101, 134, 117, 151, 121, 138, 158, 111, 74, 97, 138, 154, 107, 107, 131, 141, 134, 121, 148, 151, 101, 84, 97, 161, 138, 121, 111, 138, 148, 111, 148, 151, 148, 80, 84, 131, 165, 134, 111, 117, 151, 121, 114, 158, 158, 138, 53, 94, 165, 148, 144, 77, 148, 154, 87, 134, 124, 181, 134, 33, 111, 154, 151, 144, 53, 168, 131, 84, 148, 111, 191, 111, 40, 131, 141, 151, 124, 74, 175, 111, 97, 148, 117, 198, 87, 63, 138, 148, 168, 117, 94, 154, 114, 121, 144, 138, 178, 84, 87, 134, 154, 148, 128, 90, 138, 124, 124, 141, 124, 158, 97, 104, 117, 148, 141, 131, 84, 121, 144, 111, 154, 101, 165, 104, 101, 111, 151, 144, 131, 67, 131, 151, 107, 154, 87, 188, 101, 97, 121, 161, 154, 107, 60, 148, 151, 111, 134, 97, 212, 80, 94, 127, 158, 154, 97, 74, 165, 141, 114, 117, 121, 222, 70, 94, 127, 165, 148, 77, 94, 165, 141, 94, 111, 151, 208, 74, 90, 124, 185, 124, 80, 107, 161, 144, 74, 114, 151, 192, 114, 80, 117, 161, 114, 111, 111, 148, 138, 63, 124, 148, 168, 141, 67, 121, 138, 124, 128, 121, 128, 134, 77, 138, 134, 151, 161, 97, 104, 107, 131, 141, 141, 104, 128, 94, 131, 141, 128, 171, 128, 90, 101, 124, 144, 151, 101, 114, 114, 111, 151, 114, 185, 141, 90, 104, 117, 161, 141, 117, 101, 124, 114, 141, 127, 165, 161, 107, 90, 114, 158, 141, 124, 94, 121, 131, 114, 141, 127, 175, 138, 90, 101, 131, 151, 134, 104, 104, 131, 117, 141, 114, 175, 171, 94, 87, 104, 161, 138, 104, 84, 128, 134, 124, 100, 148, 188, 124, 67, 74, 151, 158, 114, 70, 114, 154, 114, 114, 124, 195, 165, 70, 60, 151, 161, 134, 80, 111, 154, 117, 124, 111, 202, 185, 90, 50, 131, 161, 138, 107, 97, 141, 131, 121, 117, 175, 191, 124, 60, 101, 154, 134, 134, 90, 124, 144, 111, 138, 128, 198, 138, 94, 74, 124, 144, 138, 107, 101, 144, 114, 131, 117, 171, 168, 117, 77, 94, 141, 141, 111, 117, 128, 138, 121, 124, 144, 198, 131, 80, 80, 138, 141, 114, 114, 124, 138, 114, 117, 138, 178, 158, 87, 77, 107, 134, 127, 107, 134, 121, 114, 114, 127, 158, 165, 101, 90, 80, 121, 138, 114, 144, 114, 128, 117, 124, 144, 161, 148, 117, 70, 107, 134, 144, 138, 117, 134, 121, 128, 127, 144, 171, 117, 97, 94, 134, 148, 127, 131, 134, 141, 121, 114, 138, 154, 138, 117, 104, 114, 128, 117, 134, 144, 138, 111, 90, 141, 131, 151, 114, 121, 124, 101, 127, 104, 154, 148, 121, 107, 117, 131, 138, 124, 141, 134, 107, 111, 107, 131, 158, 134, 124, 101, 101, 141, 138, 148, 127, 101, 134, 114, 124, 121, 141, 165, 117, 97, 100, 151, 175, 107, 117, 104, 168, 114, 97, 107, 148, 161, 111, 74, 124, 151, 158, 87, 104, 138, 161, 107, 87, 111, 154, 151, 101, 101, 141, 148, 138, 90, 104, 151, 151, 124, 84, 114, 148, 154, 117, 121, 131, 148, 121, 111, 94, 154, 131, 154, 97, 124, 144, 124, 144, 134, 138, 138, 90, 131, 104, 121, 138, 138, 158, 107, 111, 111, 144, 168, 124, 117, 90, 121, 131, 97, 138, 127, 175, 144, 90, 94, 117, 175, 151, 97, 94, 90, 154, 128, 107, 121, 151, 195, 101, 74, 101, 148, 188, 94, 94, 101, 154, 154, 80, 114, 154, 185, 141, 74, 90, 131, 151, 131, 94, 151, 121, 138, 104, 114, 148, 138, 168, 111, 97, 111, 111, 141, 134, 151, 138, 90, 134, 128, 138, 128, 114, 158, 141, 128, 84, 84, 165, 181, 148, 80, 90, 154, 141, 101, 87, 124, 208, 134, 67, 57, 144, 208, 144, 107, 77, 117, 154, 104, 97, 124, 168, 181, 87, 84, 87, 151, 185, 131, 111, 43, 128, 165, 128, 104, 101, 195, 165, 101, 60, 94, 195, 181, 101, 57, 97, 198, 151, 80, 97, 154, 222, 114, 67, 84, 144, 198, 111, 104, 84, 165, 175, 90, 84, 138, 195, 168, 84, 70, 104, 168, 171, 111, 104, 114, 168, 121, 87, 111, 158, 188, 127, 74, 67, 124, 178, 151, 121, 77, 127, 154, 117, 111, 111, 181, 178, 104, 64, 84, 161, 188, 128, 94, 74, 168, 141, 90, 97, 141, 205, 127, 77, 57, 124, 191, 141, 111, 77, 128, 171, 90, 94, 128, 171, 181, 84, 80, 90, 141, 181, 114, 131, 87, 131, 134, 101, 134, 138, 165, 134, 90, 87, 100, 151, 175, 138, 94, 84, 148, 141, 121, 114, 127, 178, 134, 90, 70, 131, 205, 155, 111, 60, 144, 175, 124, 90, 111, 181, 171, 97, 70, 107, 178, 181, 121, 94, 97, 175, 134, 97, 101, 148, 195, 124, 90, 74, 134, 185, 144, 117, 80, 114, 161, 104, 97, 128, 151, 181, 107, 97, 74, 124, 181, 127, 131, 57, 131, 141, 104, 104, 114, 161, 175, 97, 77, 67, 144, 181, 131, 111, 63, 154, 141, 104, 107, 127, 188, 148, 101, 63, 90, 171, 181, 144, 94, 90, 158, 131, 111, 111, 141, 202, 138, 90, 53, 107, 205, 168, 141, 67, 117, 158, 121, 101, 124, 165, 198, 107, 74, 67, 144, 218, 144, 124, 60, 141, 141, 104, 111, 128, 188, 158, 90, 57, 77, 181, 198, 134, 90, 70, 148, 124, 104, 127, 134, 202, 124, 80, 50, 104, 212, 171, 127, 53, 94, 158, 121, 107, 117, 154, 205, 104, 67, 50, 148, 225, 141, 107, 47, 148, 148, 114, 104, 121, 192, 158, 87, 47, 84, 192, 192, 128, 70, 87, 168, 127, 94, 114, 148, 215, 104, 70, 47, 134, 222, 141, 121, 57, 138, 154, 104, 101, 131, 175, 185, 87, 63, 74, 168, 208, 128, 111, 77, 158, 134, 97, 121, 138, 208, 141, 84, 57, 107, 202, 165, 134, 90, 101, 148, 111, 104, 134, 148, 202, 111, 77, 50, 131, 215, 158, 131, 50, 117, 148, 117, 107, 114, 178, 185, 90, 50, 60, 178, 215, 134, 90, 57, 161, 141, 97, 97, 134, 212, 148, 67, 33, 111, 212, 178, 114, 67, 101, 168, 121, 84, 117, 158, 218, 107, 60, 50, 151, 225, 148, 114, 53, 134, 154, 114, 90, 121, 181, 195, 80, 47, 70, 181, 219, 124, 97, 53, 168, 141, 87, 107, 138, 225, 148, 60, 40, 114, 222, 188, 114, 74, 87, 171, 127, 87, 127, 154, 218, 104, 57, 53, 148, 229, 151, 114, 57, 114, 168, 111, 97, 131, 175, 198, 77, 53, 70, 175, 225, 121, 97, 53, 148, 158, 90, 94, 131, 198, 168, 53, 47, 94, 208, 192, 97, 80, 74, 178, 121, 77, 104, 154, 225, 114, 50, 64, 134, 229, 154, 107, 74, 111, 181, 104, 87, 134, 178, 225, 87, 47, 77, 168, 239, 131, 111, 64, 134, 168, 104, 84, 134, 181, 212, 70, 50, 77, 171, 232, 124, 101, 60, 138, 161, 107, 84, 134, 181, 192, 70, 50, 90, 185, 205, 121, 87, 77, 138, 141, 101, 84, 148, 175, 175, 67, 64, 94, 171, 208, 121, 101, 77, 131, 154, 107, 94, 131, 181, 181, 77, 67, 90, 178, 205, 111, 101, 77, 128, 154, 104, 97, 131, 175, 168, 84, 74, 87, 158, 198, 121, 114, 80, 114, 158, 117, 104, 121, 158, 178, 111, 77, 80, 134, 205, 141, 127, 70, 94, 158, 138, 114, 101, 138, 185, 148, 87, 60, 114, 205, 181, 131, 70, 84, 165, 154, 114, 87, 124, 198, 165, 90, 43, 104, 202, 198, 124, 67, 77, 165, 148, 101, 84, 128, 195, 171, 87, 43, 90, 192, 202, 124, 84, 63, 144, 151, 107, 87, 121, 192, 188, 97, 40, 70, 178, 222, 131, 87, 53, 134, 161, 111, 80, 117, 192, 195, 94, 33, 74, 175, 229, 138, 90, 63, 127, 171, 104, 97, 117, 198, 195, 90, 43, 67, 175, 218, 144, 104, 67, 107, 168, 104, 101, 114, 178, 195, 104, 40, 63, 154, 218, 158, 107, 67, 90, 158, 117, 107, 121, 168, 192, 127, 60, 60, 138, 215, 181, 131, 77, 70, 144, 138, 128, 117, 138, 181, 154, 84, 60, 104, 188, 205, 141, 94, 63, 111, 165, 131, 127, 107, 165, 175, 114, 57, 74, 158, 215, 154, 84, 57, 77, 171, 141, 124, 74, 144, 178, 134, 53, 53, 134, 208, 185, 87, 60, 60, 161, 171, 128, 74, 121, 181, 165, 77, 53, 117, 198, 205, 111, 63, 70, 148, 195, 131, 74, 97, 185, 188, 107, 50, 97, 175, 212, 151, 63, 80, 114, 198, 148, 80, 77, 165, 185, 154, 57, 70, 138, 195, 192, 70, 74, 90, 168, 178, 94, 60, 128, 175, 181, 97, 60, 101, 165, 205, 121, 74, 97, 117, 195, 124, 77, 97, 144, 202, 154, 64, 70, 124, 195, 185, 70, 104, 80, 178, 165, 84, 77, 111, 195, 212, 87, 47, 74, 178, 218, 117, 77, 77, 131, 202, 104, 64, 77, 178, 232, 134, 26, 47, 151, 222, 175, 53, 90, 94, 205, 144, 57, 57, 144, 245, 181, 50, 20, 111, 205, 225, 77, 80, 94, 154, 192, 74, 63, 104, 229, 218, 107, 16, 60, 168, 225, 171, 57, 107, 84, 195, 138, 57, 77, 158, 255, 161, 53, 10, 117, 205, 222, 107, 77, 94, 121, 202, 84, 84, 107, 222, 205, 114, 10, 53, 165, 222, 188, 67, 101, 57, 181, 141, 87, 90, 131, 232, 148, 77, 10, 97, 195, 219, 141, 70, 63, 101, 185, 121, 94, 87, 181, 195, 124, 30, 53, 144, 222, 192, 87, 67, 74, 165, 161, 117, 87, 117, 202, 158, 101, 26, 104, 188, 212, 165, 57, 84, 104, 171, 161, 117, 77, 124, 191, 151, 104, 37, 131, 178, 202, 151, 60, 104, 84, 185, 178, 104, 60, 121, 181, 168, 87, 53, 124, 171, 208, 124, 90, 74, 94, 205, 154, 90, 47, 144, 185, 168, 70, 57, 128, 178, 212, 101, 80, 50, 134, 212, 141, 50, 53, 165, 192, 154, 43, 67, 141, 195, 208, 70, 84, 53, 188, 202, 107, 47, 84, 198, 185, 131, 33, 94, 151, 212, 178, 64, 77, 74, 212, 188, 84, 57, 107, 208, 171, 124, 33, 104, 161, 215, 151, 63, 77, 87, 219, 161, 80, 53, 117, 195, 175, 117, 40, 101, 161, 212, 141, 67, 77, 107, 222, 144, 74, 43, 141, 212, 185, 94, 30, 121, 188, 218, 107, 63, 67, 161, 222, 124, 47, 50, 181, 212, 175, 40, 33, 148, 195, 205, 60, 67, 80, 188, 195, 80, 33, 87, 208, 195, 111, 13, 84, 175, 198, 154, 37, 90, 121, 212, 151, 43, 67, 151, 218, 175, 57, 43, 128, 195, 205, 97, 60, 101, 151, 218, 94, 40, 97, 195, 222, 124, 30, 74, 175, 208, 188, 53, 90, 104, 205, 181, 63, 63, 131, 232, 188, 90, 36, 101, 198, 205, 141, 47, 94, 131, 202, 134, 50, 70, 165, 212, 158, 53, 37, 134, 188, 198, 84, 67, 94, 148, 188, 97, 50, 77, 192, 198, 141, 23, 60, 161, 188, 181, 53, 94, 90, 165, 171, 80, 53, 97, 202, 191, 107, 26, 94, 168, 192, 158, 63, 111, 101, 171, 155, 87, 67, 117, 208, 178, 104, 43, 114, 158, 195, 158, 80, 114, 90, 175, 161, 87, 70, 124, 215, 175, 104, 47, 114, 158, 202, 158, 90, 107, 97, 178, 161, 80, 84, 114, 212, 171, 111, 53, 101, 154, 188, 158, 87, 97, 97, 168, 158, 77, 77, 111, 208, 161, 121, 33, 90, 154, 198, 161, 94, 87, 101, 171, 151, 77, 77, 117, 215, 154, 107, 20, 107, 161, 188, 148, 70, 90, 107, 168, 127, 60, 74, 148, 212, 138, 67, 33, 134, 175, 192, 107, 80, 101, 134, 171, 97, 77, 94, 188, 195, 124, 63, 64, 161, 178, 191, 94, 107, 107, 148, 154, 97, 84, 124, 205, 165, 114, 70, 94, 171, 168, 185, 90, 131, 104, 151, 148, 94, 107, 138, 205, 127, 114, 74, 121, 161, 158, 161, 90, 131, 87, 151, 124, 87, 111, 134, 175, 114, 107, 74, 121, 154, 158, 141, 101, 114, 97, 151, 107, 97, 111, 151, 151, 114, 107, 87, 134, 134, 168, 121, 121, 94, 111, 148, 104, 111, 117, 144, 141, 121, 114, 94, 131, 128, 178, 121, 134, 74, 131, 138, 121, 121, 114, 148, 134, 141, 117, 101, 131, 134, 188, 124, 131, 77, 141, 138, 138, 121, 111, 148, 134, 158, 114, 101, 128, 144, 195, 121, 117, 70, 144, 144, 141, 104, 101, 144, 138, 165, 101, 97, 114, 154, 192, 107, 97, 70, 148, 144, 134, 94, 97, 138, 148, 154, 80, 100, 111, 178, 161, 104, 94, 77, 161, 141, 138, 84, 101, 148, 158, 148, 80, 107, 114, 188, 138, 114, 80, 104, 154, 141, 128, 74, 114, 144, 161, 141, 84, 117, 107, 188, 138, 127, 87, 107, 151, 144, 131, 77, 104, 151, 168, 144, 94, 101, 111, 181, 144, 141, 84, 107, 144, 154, 134, 77, 101, 154, 178, 158, 84, 97, 104, 195, 151, 148, 80, 107, 148, 158, 124, 70, 94, 168, 168, 161, 77, 80, 107, 185, 161, 134, 84, 101, 138, 151, 124, 77, 84, 171, 165, 154, 67, 87, 117, 181, 154, 134, 84, 101, 134, 144, 121, 74, 94, 165, 154, 151, 63, 101, 111, 171, 154, 138, 97, 94, 131, 131, 124, 94, 87, 171, 141, 158, 84, 107, 124, 151, 171, 141, 128, 101, 124, 134, 134, 124, 94, 148, 154, 144, 121, 97, 124, 131, 158, 161, 134, 114, 101, 128, 134, 134, 97, 114, 158, 134, 134, 104, 111, 128, 141, 168, 141, 107, 84, 121, 134, 138, 97, 94, 144, 138, 144, 107, 104, 111, 138, 161, 151, 117, 84, 114, 144, 134, 107, 84, 151, 148, 138, 121, 100, 111, 144, 154, 168, 121, 87, 107, 144, 128, 111, 80, 134, 161, 117, 134, 94, 101, 144, 141, 171, 124, 94, 101, 138, 131, 114, 87, 124, 168, 121, 138, 107, 94, 141, 141, 171, 148, 101, 104, 138, 131, 124, 97, 124, 161, 131, 131, 124, 97, 131, 148, 161, 168, 104, 101, 131, 127, 134, 100, 124, 144, 141, 124, 134, 94, 124, 144, 158, 168, 114, 87, 124, 124, 131, 97, 114, 138, 134, 114, 124, 101, 111, 134, 144, 165, 124, 90, 121, 121, 124, 107, 114, 134, 131, 117, 131, 117, 114, 124, 141, 158, 151, 101, 114, 111, 117, 121, 121, 127, 124, 114, 138, 124, 124, 104, 138, 154, 168, 117, 101, 111, 114, 128, 131, 114, 121, 117, 138, 141, 121, 104, 121, 158, 171, 148, 94, 111, 101, 134, 141, 117, 111, 121, 124, 158, 121, 107, 101, 151, 175, 168, 101, 97, 94, 138, 144, 131, 97, 121, 117, 161, 131, 111, 101, 134, 181, 178, 121, 90, 94, 134, 151, 138, 101, 104, 117, 158, 138, 111, 97, 124, 175, 175, 134, 87, 101, 117, 154, 121, 117, 87, 124, 141, 134, 111, 104, 104, 165, 165, 141, 94, 101, 114, 148, 121, 124, 90, 121, 141, 128, 124, 101, 107, 154, 165, 141, 121, 94, 121, 131, 131, 114, 114, 104, 138, 121, 121, 111, 114, 138, 165, 138, 134, 107, 121, 127, 131, 117, 141, 111, 131, 124, 121, 121, 121, 138, 158, 144, 138, 131, 114, 127, 121, 128, 138, 134, 104, 124, 111, 124, 124, 138, 148, 144, 127, 144, 114, 121, 117, 128, 141, 141, 104, 107, 114, 117, 138, 128, 138, 128, 131, 138, 138, 107, 121, 124, 148, 141, 107, 90, 111, 121, 138, 131, 124, 117, 134, 134, 141, 114, 114, 128, 138, 148, 101, 94, 97, 131, 134, 134, 111, 121, 128, 141, 131, 131, 111, 141, 131, 148, 104, 104, 94, 134, 134, 127, 117, 114, 131, 131, 131, 134, 134, 131, 141, 131, 124, 111, 117, 117, 144, 121, 131, 117, 131, 131, 138, 131, 158, 131, 138, 124, 124, 117, 121, 111, 134, 124, 117, 121, 117, 131, 128, 134, 151, 148, 124, 127, 107, 127, 121, 127, 117, 128, 101, 124, 107, 131, 117, 128, 144, 154, 134, 121, 101, 124, 127, 131, 121, 107, 117, 114, 117, 121, 127, 121, 148, 148, 154, 117, 107, 117, 138, 141, 127, 104, 114, 117, 114, 124, 121, 124, 138, 148, 151, 138, 97, 124, 124, 141, 127, 107, 104, 121, 111, 121, 121, 114, 134, 144, 154, 148, 121, 114, 138, 128, 148, 114, 121, 111, 124, 111, 124, 114, 134, 141, 141, 144, 134, 131, 128, 131, 121, 128, 114, 128, 111, 117, 107, 117, 127, 138, 138, 134, 141, 141, 138, 121, 124, 121, 128, 121, 121, 104, 117, 90, 131, 121, 131, 127, 131, 144, 148, 121, 114, 124, 117, 131, 121, 114, 104, 107, 101, 134, 121, 134, 141, 141, 148, 144, 117, 124, 128, 127, 138, 131, 111, 111, 104, 107, 134, 124, 138, 148, 141, 148, 134, 121, 128, 134, 131, 144, 124, 114, 114, 101, 117, 124, 134, 138, 141, 134, 134, 131, 127, 127, 138, 124, 131, 114, 111, 111, 104, 104, 134, 128, 141, 134, 124, 124, 138, 128, 138, 128, 117, 138, 124, 117, 114, 101, 124, 134, 131, 134, 134, 121, 141, 141, 131, 128, 127, 131, 134, 117, 107, 107, 111, 114, 124, 114, 121, 134, 128, 134, 131, 127, 121, 134, 121, 124, 114, 107, 117, 117, 107, 117, 121, 131, 151, 138, 121, 134, 134, 138, 138, 124, 121, 134, 114, 128, 117, 107, 114, 127, 134, 158, 127, 128, 144, 141, 144, 144, 124, 138, 131, 117, 124, 117, 111, 117, 134, 138, 144, 131, 121, 141, 141, 134, 134, 117, 124, 134, 117, 114, 107, 97, 111, 124, 127, 134, 127, 117, 141, 141, 124, 127, 124, 127, 134, 111, 107, 114, 101, 111, 127, 124, 134, 128, 121, 138, 138, 124, 127, 128, 124, 134, 114, 111, 114, 101, 111, 124, 124, 141, 134, 114, 141, 138, 134, 134, 127, 131, 134, 114, 114, 124, 111, 107, 121, 124, 138, 138, 121, 141, 141, 131, 134, 134, 128, 128, 121, 117, 131, 117, 104, 117, 131, 134, 144, 128, 134, 144, 138, 134, 144, 121, 128, 124, 121, 124, 117, 101, 124, 131, 131, 134, 131, 134, 151, 138, 141, 131, 121, 134, 127, 121, 121, 107, 107, 117, 124, 121, 131, 124, 131, 144, 134, 127, 124, 121, 124, 121, 111, 114, 111, 97, 111, 121, 117, 131, 128, 124, 148, 134, 131, 131, 121, 131, 128, 117, 117, 114, 101, 114, 117, 121, 131, 127, 131, 151, 138, 127, 128, 127, 131, 127, 114, 121, 121, 104, 104, 127, 128, 131, 138, 138, 154, 144, 124, 138, 134, 134, 128, 121, 124, 117, 104, 107, 131, 128, 134, 141, 138, 151, 138, 128, 134, 131, 127, 131, 117, 117, 117, 97, 111, 131, 127, 134, 141, 131, 144, 138, 124, 134, 127, 121, 124, 107, 111, 117, 97, 107, 128, 128, 138, 131, 131, 151, 138, 124, 131, 117, 121, 121, 114, 117, 114, 97, 111, 131, 131, 127, 134, 138, 151, 138, 124, 128, 121, 121, 128, 114, 117, 111, 104, 121, 131, 128, 131, 138, 144, 144, 131, 127, 128, 121, 124, 121, 117, 111, 114, 114, 127, 131, 127, 131, 148, 148, 141, 134, 121, 124, 124, 121, 121, 117, 107, 114, 121, 127, 131, 127, 138, 151, 144, 134, 131, 124, 124, 128, 117, 124, 117, 111, 121, 124, 128, 131, 127, 148, 148, 141, 124, 128, 124, 124, 117, 114, 117, 107, 101, 117, 124, 124, 128, 138, 144, 148, 124, 124, 131, 124, 124, 117, 114, 114, 107, 107, 117, 131, 124, 128, 141, 144, 138, 121, 124, 141, 131, 121, 117, 114, 114, 111, 114, 134, 131, 131, 138, 144, 144, 131, 124, 134, 144, 131, 121, 111, 111, 117, 114, 121, 131, 134, 131, 138, 141, 134, 124, 124, 141, 141, 124, 107, 111, 111, 114, 117, 121, 127, 131, 131, 134, 134, 128, 121, 127, 141, 134, 114, 104, 107, 114, 114, 117, 124, 134, 134, 131, 138, 134, 124, 124, 138, 144, 128, 111, 114, 114, 107, 117, 121, 138, 141, 138, 134, 134, 128, 121, 128, 141, 144, 128, 111, 111, 107, 114, 121, 131, 138, 138, 134, 138, 124, 117, 121, 134, 138, 134, 121, 107, 107, 107, 114, 124, 134, 141, 138, 134, 128, 117, 117, 127, 134, 141, 127, 111, 107, 111, 114, 124, 131, 134, 144, 138, 131, 127, 117, 127, 131, 138, 138, 124, 107, 111, 114, 121, 124, 134, 141, 148, 134, 124, 121, 127, 128, 134, 128, 131, 114, 107, 114, 121, 124, 127, 131, 141, 138, 121, 121, 128, 131, 124, 124, 121, 124, 117, 111, 121, 124, 121, 131, 134, 134, 127, 117, 127, 138, 127, 117, 121, 121, 124, 124, 121, 128, 124, 124, 138, 141, 127, 121, 124, 138, 138, 121, 117, 121, 124, 128, 131, 131, 124, 124, 131, 141, 127, 117, 131, 141, 141, 121, 111, 114, 121, 124, 127, 138, 127, 128, 131, 134, 124, 114, 128, 141, 138, 124, 111, 107, 114, 121, 124, 134, 131, 124, 127, 128, 114, 111, 121, 141, 144, 124, 104, 107, 117, 121, 127, 131, 134, 134, 134, 127, 121, 104, 121, 144, 148, 128, 107, 104, 117, 124, 124, 134, 128, 134, 138, 131, 121, 107, 114, 141, 148, 128, 114, 107, 114, 127, 128, 127, 131, 134, 138, 134, 124, 114, 117, 134, 148, 138, 117, 111, 121, 131, 134, 134, 127, 138, 138, 138, 131, 114, 121, 134, 141, 131, 121, 107, 121, 124, 131, 131, 131, 131, 138, 134, 124, 121, 121, 134, 138, 128, 121, 111, 117, 124, 131, 127, 128, 134, 134, 131, 121, 111, 121, 131, 127, 117, 104, 107, 114, 121, 124, 124, 121, 131, 134, 134, 124, 114, 121, 134, 134, 117, 104, 104, 117, 124, 128, 131, 127, 124, 138, 138, 128, 117, 127, 138, 144, 124, 107, 107, 117, 131, 134, 131, 128, 131, 134, 141, 131, 121, 131, 141, 148, 131, 114, 104, 111, 127, 134, 138, 127, 128, 134, 138, 134, 127, 128, 141, 144, 131, 111, 101, 107, 121, 131, 134, 128, 127, 131, 134, 128, 117, 127, 141, 144, 128, 111, 101, 107, 117, 124, 128, 124, 124, 131, 131, 124, 114, 121, 138, 144, 131, 114, 101, 104, 117, 124, 131, 124, 124, 128, 131, 127, 121, 121, 141, 144, 138, 121, 111, 117, 124, 128, 131, 124, 124, 131, 134, 128, 117, 121, 131, 141, 141, 124, 107, 117, 124, 127, 127, 121, 124, 131, 128, 131, 124, 124, 131, 141, 131, 124, 114, 117, 127, 131, 131, 124, 124, 134, 134, 134, 128, 127, 138, 141, 134, 124, 111, 117, 127, 134, 138, 124, 121, 124, 121, 117, 121, 124, 134, 138, 121, 107, 107, 117, 128, 134, 131, 128, 121, 121, 124, 124, 121, 131, 141, 148, 127, 114, 104, 117, 131, 138, 138, 131, 124, 117, 121, 117, 121, 127, 138, 138, 124, 111, 101, 111, 134, 138, 131, 131, 124, 124, 124, 117, 117, 124, 138, 144, 127, 114, 107, 107, 124, 138, 144, 138, 127, 124, 124, 117, 121, 121, 138, 144, 134, 117, 107, 114, 128, 141, 144, 144, 127, 128, 131, 128, 124, 124, 131, 148, 138, 121, 107, 111, 124, 131, 138, 141, 124, 127, 124, 121, 117, 117, 128, 138, 131, 117, 111, 107, 117, 124, 131, 131, 127, 124, 124, 127, 121, 117, 121, 131, 128, 121, 111, 107, 121, 127, 128, 138, 134, 124, 127, 128, 127, 128, 124, 134, 134, 124, 114, 114, 124, 134, 134, 138, 138, 131, 138, 134, 138, 134, 128, 134, 134, 124, 111, 114, 121, 131, 128, 127, 131, 124, 124, 128, 131, 124, 121, 121, 127, 121, 107, 107, 114, 124, 127, 124, 124, 128, 128, 131, 131, 131, 124, 127, 128, 131, 114, 114, 121, 134, 128, 124, 121, 127, 128, 134, 138, 138, 127, 124, 127, 131, 127, 114, 121, 131, 128, 121, 121, 124, 127, 134, 138, 138, 124, 121, 117, 121, 121, 111, 121, 127, 127, 121, 111, 121, 128, 127, 134, 134, 138, 124, 117, 121, 124, 127, 128, 131, 131, 124, 111, 117, 127, 134, 138, 141, 141, 134, 124, 117, 121, 127, 131, 134, 134, 124, 114, 111, 117, 131, 138, 138, 141, 134, 128, 111, 111, 121, 134, 134, 131, 124, 114, 107, 117, 131, 134, 134, 134, 141, 131, 117, 107, 114, 128, 138, 138, 127, 117, 104, 107, 121, 131, 131, 131, 131, 134, 124, 107, 114, 121, 138, 138, 131, 117, 111, 107, 124, 131, 128, 134, 138, 144, 134, 121, 117, 117, 134, 141, 134, 128, 114, 107, 117, 128, 127, 134, 134, 131, 138, 117, 107, 117, 138, 138, 138, 124, 121, 114, 107, 131, 134, 131, 127, 128, 138, 131, 107, 111, 127, 141, 144, 128, 121, 114, 107, 131, 138, 131, 131, 128, 141, 131, 117, 121, 127, 138, 141, 131, 121, 114, 107, 128, 131, 128, 131, 128, 134, 124, 114, 121, 134, 138, 138, 131, 128, 117, 114, 117, 131, 127, 124, 124, 124, 124, 114, 111, 121, 131, 124, 111, 121, 124, 124, 128, 127, 121, 114, 104, 114, 127, 134, 124, 117, 121, 131, 141, 131, 127, 121, 121, 134, 134, 131, 128, 124, 117, 124, 127, 131, 124, 128, 148, 151, 114, 144, 121, 124, 128, 107, 144, 138, 114, 121, 128, 124, 121, 124, 138, 141, 141, 134, 124, 131, 124, 121, 121, 131, 131, 124, 117, 111, 121, 117, 134, 141, 131, 134, 114, 131, 128, 134, 131, 121, 131, 121, 121, 124, 124, 121, 104, 127, 138, 124, 131, 114, 124, 134, 131, 134, 127, 124, 121, 121, 117, 121, 117, 117, 124, 124, 114, 107, 111, 128, 134, 131, 134, 138, 124, 124, 134, 134, 128, 128, 134, 131, 127, 114, 121, 114, 117, 127, 128, 121, 117, 124, 124, 131, 124, 121, 124, 128, 144, 124, 114, 131, 131, 134, 138, 144, 138, 124, 111, 117, 138, 124, 131, 131, 124, 117, 114, 117, 124, 134, 131, 138, 138, 124, 121, 128, 131, 134, 134, 131, 131, 121, 117, 124, 128, 131, 124, 114, 121, 117, 111, 111, 117, 117, 124, 124, 121, 127, 121, 121, 134, 138, 141, 138, 134, 124, 124, 124, 124, 134, 124, 131, 127, 117, 114, 117, 117, 124, 131, 121, 131, 134, 138, 134, 128, 134, 138, 131, 121, 114, 114, 107, 121, 121, 124, 117, 121, 121, 124, 127, 128, 134, 141, 141, 148, 144, 138, 121, 128, 138, 134, 134, 128, 121, 114, 111, 107, 107, 114, 124, 121, 124, 121, 128, 121, 128, 138, 144, 134, 127, 124, 138, 138, 124, 117, 114, 121, 121, 121, 121, 121, 117, 124, 131, 128, 128, 121, 131, 124, 127, 121, 117, 117, 124, 128, 117, 117, 111, 121, 124, 117, 128, 117, 124, 127, 134, 131, 124, 131, 138, 134, 138, 131, 127, 131, 134, 131, 134, 134, 131, 127, 128, 127, 124, 124, 124, 134, 127, 121, 124, 124, 128, 138, 131, 128, 127, 124, 131, 128, 131, 131, 131, 124, 121, 124, 127, 134, 131, 121, 121, 117, 121, 124, 124, 127, 128, 128, 121, 128, 124, 121, 121, 124, 131, 121, 121, 121, 121, 124, 127, 124, 128, 127, 121, 121, 117, 121, 117, 124, 114, 117, 111, 114, 111, 121, 124, 131, 128, 128, 124, 124, 127, 138, 134, 134, 131, 131, 124, 128, 124, 128, 138, 134, 131, 127, 124, 124, 127, 134, 128, 131, 121, 131, 128, 127, 124, 117, 124, 131, 138, 138, 128, 128, 128, 128, 131, 131, 134, 134, 131, 127, 124, 128, 134, 138, 134, 134, 131, 127, 127, 124, 127, 124, 128, 127, 128, 124, 117, 114, 124, 124, 127, 128, 124, 117, 117, 114, 117, 121, 121, 121, 121, 114, 121, 121, 124, 128, 127, 124, 127, 121, 121, 124, 124, 121, 121, 117, 117, 114, 111, 107, 117, 124, 134, 124, 124, 131, 128, 131, 134, 134, 134, 131, 127, 128, 124, 117, 124, 128, 127, 128, 127, 131, 131, 131, 131, 128, 131, 138, 138, 134, 128, 131, 128, 134, 131, 131, 121, 124, 131, 124, 121, 124, 124, 127, 124, 131, 124, 124, 128, 127, 134, 131, 131, 128, 127, 128, 131, 134, 131, 131, 134, 131, 131, 124, 124, 127, 134, 128, 127, 121, 121, 121, 121, 124, 121, 121, 124, 128, 127, 121, 121, 124, 127, 128, 117, 121, 121, 117, 117, 121, 117, 117, 121, 121, 121, 117, 114, 114, 124, 121, 124, 124, 121, 121, 124, 128, 127, 128, 127, 134, 127, 131, 124, 124, 124, 128, 131, 128, 131, 131, 124, 128, 131, 134, 134, 138, 134, 131, 131, 131, 131, 131, 138, 134, 134, 131, 128, 124, 124, 128, 127, 134, 124, 121, 117, 121, 121, 117, 121, 128, 121, 117, 121, 124, 121, 121, 128, 131, 124, 124, 121, 121, 121, 121, 124, 124, 128, 127, 128, 131, 131, 128, 134, 134, 138, 134, 127, 128, 124, 121, 121, 121, 124, 124, 124, 121, 124, 121, 124, 124, 131, 128, 124, 121, 124, 124, 124, 128, 124, 121, 124, 127, 124, 124, 124, 127, 134, 128, 127, 124, 124, 121, 124, 128, 131, 128, 127, 128, 127, 131, 127, 128, 131, 134, 127, 131, 127, 121, 124, 131, 131, 128, 124, 128, 138, 131, 134, 127, 121, 124, 124, 131, 128, 121, 121, 121, 124, 121, 124, 127, 117, 121, 127, 124, 121, 117, 127, 121, 124, 124, 121, 121, 121, 124, 124, 124, 121, 124, 121, 124, 124, 124, 124, 127, 128, 124, 124, 121, 124, 128, 131, 134, 134, 127, 128, 127, 128, 131, 131, 131, 131, 131, 128, 128, 127, 128, 134, 134, 138, 134, 127, 124, 127, 128, 127, 124, 124, 124, 121, 121, 124, 117, 121, 127, 127, 124, 131, 124, 124, 124, 124, 128, 127, 124, 124, 124, 121, 124, 124, 124, 131, 127, 128, 131, 128, 127, 128, 127, 127, 124, 124, 124, 121, 117, 128, 127, 124, 131, 127, 128, 131, 128, 127, 131, 127, 131, 128, 121, 121, 124, 121, 124, 124, 121, 121, 124, 124, 124, 124, 121, 124, 121, 121, 121, 121, 124, 117, 121, 121, 124, 124, 128, 127, 128, 124, 124, 128, 127, 124, 127, 124, 121, 124, 124, 131, 128, 131, 131, 134, 127, 128, 134, 128, 134, 134, 134, 127, 131, 131, 138, 138, 138, 134, 134, 138, 138, 134, 131, 131, 128, 127, 128, 121, 121, 114, 114, 121, 121, 121, 121, 124, 128, 121, 117, 124, 121, 121, 121, 117, 117, 114, 121, 117, 121, 121, 121, 121, 124, 124, 117, 121, 128, 127, 124, 127, 121, 124, 124, 131, 128, 127, 128, 131, 131, 131, 128, 131, 131, 128, 127, 124, 128, 127, 128, 124, 131, 127, 128, 131, 131, 131, 134, 128, 127, 128, 127, 124, 124, 121, 124, 121, 127, 128, 124, 128, 131, 121, 124, 131, 134, 124, 128, 127, 124, 124, 128, 131, 128, 124, 131, 131, 134, 134, 131, 131, 134, 128, 131, 128, 124, 124, 127, 124, 127, 124, 124, 127, 128, 127, 124, 124, 121, 121, 124, 121, 121, 121, 117, 121, 121, 121, 117, 121, 121, 121, 121, 121, 117, 117, 114, 121, 117, 114, 114, 117, 121, 121, 124, 121, 124, 124, 124, 128, 131, 128, 127, 128, 127, 131, 134, 128, 127, 131, 131, 134, 138, 131, 131, 131, 138, 131, 131, 131, 131, 131, 124, 131, 124, 127, 128, 131, 138, 134, 131, 128, 128, 127, 128, 131, 128, 131, 128, 124, 124, 121, 124, 124, 128, 124, 128, 117, 124, 121, 121, 121, 124, 124, 124, 121, 127, 128, 121, 124, 127, 128, 127, 131, 124, 124, 124, 124, 127, 124, 127, 124, 128, 124, 121, 124, 124, 131, 128, 124, 124, 121, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 131, 128, 124, 128, 127, 124, 127, 124, 128, 127, 124, 124, 121, 124, 124, 124, 124, 124, 128, 121, 124, 124, 124, 128, 124, 124, 124, 121, 121, 128, 127, 128, 124, 128, 128, 127, 128, 124, 131, 127, 131, 127, 128, 131, 131, 128, 127, 131, 128, 131, 128, 124, 131, 131, 124, 128, 127, 131, 127, 124, 127, 128, 124, 124, 127, 124, 124, 121, 124, 127, 124, 124, 124, 121, 124, 124, 124, 124, 121, 124, 127, 128, 128, 124, 131, 128, 124, 128, 124, 124, 128, 127, 128, 127, 124, 128, 127, 128, 124, 124, 124, 128, 131, 124, 124, 124, 121, 124, 124, 124, 124, 124, 121, 124, 124, 124, 124, 124, 121, 124, 128, 124, 121, 121, 128, 124, 128, 124, 128, 127, 128, 124, 124, 128, 131, 128, 127, 127, 128, 127, 128, 131, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 124, 124, 127, 128, 124, 131, 128, 127, 128, 127, 128, 127, 124, 127, 128, 124, 124, 124, 124, 121, 124, 124, 124, 124, 121, 124, 127, 128, 124, 128, 124, 128, 124, 124, 121, 128, 124, 124, 127, 128, 124, 124, 131, 128, 128, 131, 128, 124, 128, 131, 124, 128, 127, 124, 127, 124, 124, 128, 124, 128, 124, 124, 124, 124, 127, 128, 128, 124, 124, 127, 124, 127, 128, 124, 124, 124, 124, 127, 128, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 127, 124, 124, 128, 127, 124, 124, 127, 131, 124, 128, 131, 128, 127, 124, 128, 127, 131, 127, 128, 127, 124, 124, 124, 128, 124, 124, 124, 124, 124, 121, 124, 121, 121, 127, 124, 121, 124, 127, 128, 124, 124, 131, 124, 124, 127, 128, 127, 128, 127, 128, 127, 131, 128, 131, 128, 127, 128, 127, 128, 128, 124, 131, 124, 128, 127, 128, 131, 128, 131, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 124, 128, 124, 124, 124, 124, 124, 124, 124, 121, 121, 124, 124, 124, 124, 121, 124, 121, 121, 121, 121, 124, 124, 124, 121, 121, 121, 121, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 127, 124, 124, 128, 127, 124, 131, 128, 131, 128, 127, 128, 131, 134, 127, 131, 131, 128, 131, 127, 128, 127, 131, 131, 127, 124, 124, 128, 124, 128, 127, 128, 127, 124, 124, 128, 127, 128, 127, 128, 128, 124, 128, 124, 124, 127, 128, 127, 128, 124, 128, 124, 124, 124, 124, 124, 124, 127, 124, 127, 121, 127, 128, 127, 127, 124, 124, 128, 127, 124, 127, 121, 127, 124, 127, 124, 124, 121, 127, 124, 124, 124, 124, 121, 124, 124, 128, 124, 121, 127, 124, 124, 124, 128, 127, 124, 124, 124, 128, 124, 121, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 127, 127, 131, 127, 124, 127, 131, 131, 131, 128, 128, 124, 128, 127, 128, 127, 124, 127, 128, 128, 124, 128, 128, 127, 131, 127, 128, 128, 131, 128, 127, 127, 128, 127, 128, 128, 128, 124, 124, 124, 124, 124, 124, 127, 124, 124, 128, 124, 124, 121, 124, 128, 124, 124, 121, 128, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 121, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 127, 124, 124, 124, 124, 128, 127, 124, 127, 128, 124, 128, 127, 124, 127, 128, 127, 128, 124, 124, 124, 128, 128, 127, 128, 127, 128, 124, 128, 127, 128, 124, 128, 127, 128, 124, 124, 127, 128, 127, 124, 124, 128, 124, 124, 128, 127, 128, 124, 128, 127, 128, 127, 124, 131, 128, 127, 128, 127, 131, 127, 128, 128, 127, 128, 127, 128, 127, 128, 124, 128, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 121, 124, 124, 124, 124, 127, 124, 124, 124, 128, 124, 128, 124, 124, 124, 124, 124, 121, 124, 127, 124, 124, 128, 128, 128, 128, 127, 128, 127, 124, 127, 128, 127, 128, 127, 128, 124, 128, 124, 124, 128, 127, 128, 124, 124, 121, 131, 121, 127, 128, 124, 131, 124, 128, 131, 124, 127, 128, 127, 127, 128, 121, 131, 127, 127, 128, 128, 127, 128, 124, 128, 127, 128, 128, 124, 128, 127, 124, 124, 124, 127, 128, 124, 128, 124, 124, 124, 124, 124, 124, 121, 121, 121, 124, 124, 124, 121, 121, 124, 124, 128, 124, 124, 124, 124, 124, 124, 128, 127, 124, 124, 124, 124, 124, 124, 127, 128, 127, 128, 124, 128, 128, 127, 124, 127, 128, 131, 131, 127, 128, 127, 128, 128, 127, 131, 127, 128, 127, 128, 127, 128, 124, 128, 124, 127, 124, 124, 128, 124, 124, 124, 128, 124, 124, 124, 127, 124, 124, 124, 127, 128, 127, 128, 124, 124, 124, 124, 124, 124, 124, 124, 121, 124, 121, 121, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 127, 124, 127, 128, 127, 127, 124, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 128, 128, 127, 128, 127, 128, 127, 128, 127, 124, 127, 124, 127, 124, 127, 128, 124, 128, 128, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 124, 124, 128, 127, 128, 124, 124, 124, 124, 128, 127, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 127, 128, 124, 124, 124, 124, 124, 124, 127, 128, 124, 127, 124, 124, 124, 124, 128, 124, 128, 124, 128, 124, 128, 128, 124, 128, 127, 128, 124, 124, 127, 124, 127, 128, 127, 128, 127, 124, 127, 128, 127, 124, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 124, 128, 127, 128, 127, 128, 128, 127, 127, 128, 127, 128, 124, 124, 127, 128, 124, 128, 128, 127, 128, 124, 124, 127, 124, 124, 124, 127, 124, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 121, 124, 124, 121, 124, 121, 124, 124, 121, 121, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 128, 124, 127, 124, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 124, 131, 131, 128, 127, 128, 127, 127, 128, 127, 131, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 127, 128, 127, 127, 128, 127, 124, 127, 127, 124, 127, 124, 124, 124, 124, 124, 124, 124, 127, 128, 127, 124, 124, 124, 128, 124, 128, 127, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 127, 124, 124, 124, 128, 127, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 131, 127, 128, 127, 128, 127, 128, 127, 128, 124, 128, 128, 127, 124, 127, 124, 128, 127, 128, 127, 128, 124, 128, 127, 128, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 128, 124, 127, 128, 124, 128, 128, 124, 124, 124, 124, 124, 127, 124, 127, 124, 128, 124, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 127, 128, 127, 128, 124, 128, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 127, 128, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 128, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 124, 124, 128, 127, 128, 124, 124, 127, 128, 127, 128, 124, 124, 127, 127, 128, 127, 128, 128, 127, 128, 127, 128, 128, 131, 128, 127, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 127, 124, 124, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 124, 128, 127, 124, 124, 127, 127, 124, 127, 128, 127, 128, 127, 127, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 127, 128, 127, 128, 127, 128, 127, 124, 124, 127, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 124, 124, 124, 128, 127, 124, 127, 124, 124, 124, 124, 128, 127, 124, 128, 127, 128, 128, 127, 128, 127, 124, 127, 128, 127, 124, 124, 128, 127, 128, 124, 124, 127, 128, 124, 128, 128, 127, 128, 128, 124, 128, 127, 128, 127, 127, 128, 127, 128, 128, 124, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 124, 127, 128, 128, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 127, 128, 124, 124, 128, 124, 128, 124, 128, 127, 124, 127, 128, 124, 128, 127, 128, 127, 128, 128, 127, 124, 127, 128, 127, 128, 124, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 124, 124, 128, 124, 128, 127, 124, 128, 124, 128, 127, 128, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 128, 124, 124, 124, 127, 124, 127, 124, 124, 127, 128, 127, 128, 127, 127, 128, 127, 128, 128, 124, 128, 128, 127, 124, 127, 128, 127, 128, 128, 127, 124, 128, 128, 127, 128, 127, 124, 128, 127, 124, 127, 124, 124, 124, 128, 127, 124, 128, 124, 124, 124, 128, 124, 124, 124, 127, 128, 127, 124, 128, 128, 124, 128, 127, 128, 124, 127, 124, 124, 124, 128, 124, 128, 124, 127, 128, 124, 124, 124, 124, 124, 124, 127, 128, 127, 124, 124, 124, 128, 127, 124, 124, 124, 124, 124, 128, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 124, 124, 124, 124, 124, 128, 127, 128, 127, 124, 124, 124, 127, 127, 128, 127, 127, 128, 124, 124, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 128, 127, 128, 127, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 128, 127, 128, 127, 128, 124, 124, 127, 124, 127, 128, 127, 124, 124, 128, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 124, 124, 127, 128, 124, 124, 124, 124, 128, 124, 127, 128, 127, 127, 124, 127, 128, 124, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 124, 128, 127, 128, 124, 127, 128, 127, 124, 124, 127, 124, 124, 128, 124, 124, 124, 124, 124, 124, 124, 128, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 127, 128, 124, 124, 124, 127, 124, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 124, 127, 128, 127, 128, 127, 128, 127, 124, 127, 128, 127, 128, 127, 128, 127, 128, 124, 128, 127, 128, 127, 128, 127, 128, 124, 127, 128, 124, 124, 124, 124, 127, 124, 124, 128, 124, 128, 128, 124, 128, 127, 127, 124, 127, 124, 127, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 128, 127, 124, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 124, 128, 127, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 127, 124, 124, 127, 124, 124, 124, 124, 124, 128, 124, 128, 127, 128, 124, 124, 124, 128, 127, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 127, 124, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 124, 124, 124, 124, 124, 128, 124, 127, 124, 124, 128, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 128, 124, 128, 127, 128, 127, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 128, 127, 124, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 128, 124, 128, 127, 124, 124, 128, 124, 128, 124, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 128, 128, 128, 127, 124, 127, 128, 127, 128, 127, 128, 127, 128, 128, 128, 127, 128, 127, 128, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 127, 128, 124, 128, 128, 128, 128, 127, 124, 127, 128, 127, 128, 127, 128, 127, 128, 124, 128, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 124, 124, 124, 124, 128, 124, 124, 127, 128, 124, 127, 128, 127, 124, 124, 128, 127, 128, 128, 127, 128, 127, 127, 128, 127, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 124, 124, 127, 128, 127, 128, 124, 128, 124, 124, 127, 124, 124, 124, 127, 124, 124, 124, 124, 128, 124, 128, 127, 124, 124, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 128, 127, 128, 128, 124, 124, 124, 127, 128, 124, 124, 127, 124, 124, 124, 124, 127, 128, 128, 127, 128, 127, 128, 124, 127, 128, 127, 124, 128, 127, 124, 124, 124, 128, 127, 124, 124, 124, 124, 127, 124, 124, 124, 124, 128, 127, 128, 127, 124, 127, 127, 128, 127, 128, 128, 127, 128, 127, 128, 128, 127, 128, 127, 124, 128, 127, 128, 128, 124, 124, 124, 124, 124, 124, 128, 127, 128, 124, 128, 127, 128, 124, 124, 124, 124, 124, 127, 128, 124, 124, 124, 124, 124, 124, 124, 128, 127, 124, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 127, 127, 128, 127, 128, 127, 128, 128, 128, 127, 128, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 128, 128, 127, 128, 127, 127, 128, 127, 128, 128, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, };