Reportaje: anímate y pon tu vida en movimiento

Conoce a José Martí gracias a esta infografía

¿has escuchado hablar de La Tlanchana?

martes, 28 de marzo de 2017



Con esta configuración se lanza un sonido desde la micro sd al detectarse movimiento desde el Sensor Pir, a la vez que un led enciende cuando se detecta o no movimiento.

Partes
1 Sensor PIR
1 Tarjeta micro sd
1 lector de tarjeta micro sd
1 Resistencia de 330 ohms
1 led
1 Arduino uno. Rev 3.
1 Bocina de 8 ohms
Jumpers

Fritzing




Código


[code]
/* Con este sketch podremos hacer lectura de un archivo .wav
    y reproducirla en una bocina de 8 ohms.
    Necesitamos de la librería TMRpcm
    https://github.com/TMRh20/TMRpcm/wiki
    Sketch inicial tomado en: http://intelirobot.com.mx/blog/arduino/toca-sonidos-wav-en-arduino/
    Modificación ODF, 2017.
    Es muy importante que el audio tenga el formato correcto:
    Tipo de archivo: .wav
    Samples per second (Hz): Custom define 16000
    Channels: Mono
    Bits per sample: 8
*/
#include <pcmConfig.h>
#include <pcmRF.h>
//Cargamos las líbrerias necesarias
#include <SD.h>
#include <SPI.h>
#include <TMRpcm.h>
// Definimos el pin de entrada del lector de tarjeta SD
#define pinSD 10
//Creamos un objeto de la librería TMRpcm
TMRpcm audio;

const int LEDPin = 7;        // pin para el LED
const int PIRPin = 4;        // pin de entrada (for PIR sensor)
int pirState = LOW;           // de inicio no hay movimiento
int val = 0;                  // estado del pin
 void setup() {
 pinMode(LEDPin, OUTPUT); 
 pinMode(PIRPin, INPUT);
 Serial.begin(9600);
 audio.speakerPin = 9; //Se define el pin en el que está conectada la bocina
 Serial.begin(9600);    //Se inicia la comunicación serial
}
void loop() {
  {
 val = digitalRead(PIRPin);
 if (val == LOW)   //si está desactivado
 {
 if (!SD.begin(pinSD)) {  //revisa que la tarjeta esté colocada
    Serial.println("Fallo en la lectura de tarjeta SD");  //Aviso de que algo no anda bien
    return;
  }
 digitalWrite(LEDPin, LOW);  //LED LOW
 if (pirState == LOW)  //si previamente estaba apagado
 {
   Serial.println("Sensor parado");
   pirState = HIGH;
 }
 } 
 else   //si esta desactivado
 {
 digitalWrite(LEDPin, HIGH); // LED OFF
 if (pirState == HIGH)  //si previamente estaba encendido
 {
   Serial.println("Sensor activado");
   pirState = LOW;
 }
 }
}
  Serial.println("Comienza lectura de archivo");
  audio.play("RISA1.wav"); // Realiza la lectura del achivo
  audio.setVolume(6); // Determina el volumen 1 - 7
  delay(7000); //Espera para volver a reproducirlo
}

[/code]




Con esta configuración Arduino va a leer los archivos wav de una tarjeta micro sd que se escuchará en una bocina de 8 ohms.

Nota: el archivo wav a utilizar debe estar configurado a menos de 16000hz y 8 bits para que sea reproducible.

Partes
1 Arduino Uno Rev3
1 Tarjeta microsd
1 lector de tarjeta microsd
1 Bocina de 8 hms
Jumpers


Código
Código comprobar que la tarjeta sd esté correctamente configurada y sea leída
/*
  SD card test

 This example shows how use the utility libraries on which the'
 SD library is based in order to get info about your SD card.
 Very useful for testing a card when you're not sure whether its working or not.

 The circuit:
  * SD card attached to SPI bus as follows:
 ** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila
 ** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila
 ** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila
 ** CS - depends on your SD card shield or module.
   Pin (4) used here for consistency with other Arduino examples
    Nosotros usaremos el 10


 created  28 Mar 2011
 by Limor Fried
 modified 9 Apr 2012
 by Tom Igoe
 */
// include the SD library:
#include <SPI.h>
#include <SD.h>

// set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root;

// change this to match your SD shield or module;
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
const int chipSelect = 10;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.print("\nInitializing SD card...");

  // we'll use the initialization code from the utility libraries
  // since we're just testing if the card is working!
  if (!card.init(SPI_HALF_SPEED, chipSelect)) {
    Serial.println("initialization failed. Things to check:");
    Serial.println("* is a card inserted?");
    Serial.println("* is your wiring correct?");
    Serial.println("* did you change the chipSelect pin to match your shield or module?");
    return;
  } else {
    Serial.println("Wiring is correct and a card is present.");
  }

  // print the type of card
  Serial.print("\nCard type: ");
  switch (card.type()) {
    case SD_CARD_TYPE_SD1:
      Serial.println("SD1");
      break;
    case SD_CARD_TYPE_SD2:
      Serial.println("SD2");
      break;
    case SD_CARD_TYPE_SDHC:
      Serial.println("SDHC");
      break;
    default:
      Serial.println("Unknown");
  }

  // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
  if (!volume.init(card)) {
    Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
    return;
  }


  // print the type and size of the first FAT-type volume
  uint32_t volumesize;
  Serial.print("\nVolume type is FAT");
  Serial.println(volume.fatType(), DEC);
  Serial.println();

  volumesize = volume.blocksPerCluster();    // clusters are collections of blocks
  volumesize *= volume.clusterCount();       // we'll have a lot of clusters
  volumesize *= 512;                            // SD card blocks are always 512 bytes
  Serial.print("Volume size (bytes): ");
  Serial.println(volumesize);
  Serial.print("Volume size (Kbytes): ");
  volumesize /= 1024;
  Serial.println(volumesize);
  Serial.print("Volume size (Mbytes): ");
  volumesize /= 1024;
  Serial.println(volumesize);


  Serial.println("\nFiles found on the card (name, date and size in bytes): ");
  root.openRoot(volume);

  // list all files in the card with date and size
  root.ls(LS_R | LS_DATE | LS_SIZE);
}


void loop(void) {

}
Código para leer y reproducir audio
/* Con este sketch podremos hacer lectura de un archivo .wav
    y reproducirla en una bocina de 8 ohms.

    Necesitamos de la librería TMRpcm
    https://github.com/TMRh20/TMRpcm/wiki

    Sketch inicial tomado en: http://intelirobot.com.mx/blog/arduino/toca-sonidos-wav-en-arduino/

    Modificación ODF, 2017.

    Es muy importante que el audio tenga el formato correcto:
    Tipo de archivo: .wav
    Samples per second (Hz): Custom define 16000
    Channels: Mono
    Bits per sample: 8

*/

#include <pcmConfig.h>
#include <pcmRF.h>

//Cargamos las líbrerias necesarias
#include <SD.h>
#include <SPI.h>
#include <TMRpcm.h>

// Definimos el pin de entrada del lector de tarjeta SD
#define pinSD 10

//Creamos un objeto de la librería TMRpcm
TMRpcm audio;

void setup() {
  audio.speakerPin = 9; //Se define el pin en el que está conectada la bocina
  Serial.begin(9600);    //Se inicia la comunicación serial

  if (!SD.begin(pinSD)) {  //revisa que la tarjeta esté colocada
    Serial.println("Fallo en la lectura de tarjeta SD");  //Aviso de que algo no anda bien
    return;
  }
}

void loop() {
  Serial.println("Comienza lectura de archivo");
  audio.play("RISA1.wav"); // Realiza la lectura del achivo
  audio.setVolume(4); // Determina el volumen 1 - 7
  delay(7000); //Espera para volver a reproducirlo
}

Fuentes de información




lunes, 27 de marzo de 2017

Con esta configuración es posible emitir un sonido breve al activarse el sensor PIR.



Partes
1 Sensor PIR
1 Resistencia de 330 ohms
1 led
1 Arduino uno. Rev 3.
1 Bocina de 8 ohms
Jumpers

Fritzing

Código

[code]
#include <PCM.h>
const unsigned char sample[] PROGMEM = { //con sample[] y con PROGMEM subimos y guardamos en Arduino el sample
126, 128, 124, 126, 128, 128, 126, 126, 124, 126, 126, 128, 128, 128, 126, 124, 124, 126, 124, 128, 128, 128, 126, 128, 128, 126, 126, 128, 128, 126, 128, 128, 128, 126, 128, 124, 124, 129, 131, 136, 112, 109, 158, 136, 116, 121, 119, 148, 104, 138, 146, 121, 51, 187, 90, 187, 162, 47, 186, 143, 59, 133, 180, 32, 162, 150, 182, 138, 35, 172, 121, 95, 180, 128, 105, 105, 109, 155, 177, 107, 128, 107, 119, 133, 150, 119, 122, 107, 131, 124, 151, 133, 122, 114, 134, 112, 117, 138, 126, 133, 121, 117, 139, 87, 209, 11, 184, 145, 122, 97, 100, 201, 76, 119, 136, 151, 97, 122, 141, 126, 81, 145, 163, 124, 110, 145, 117, 76, 155, 151, 119, 110, 129, 109, 116, 150, 138, 145, 95, 143, 119, 124, 109, 141, 133, 109, 129, 141, 124, 117, 136, 122, 116, 145, 136, 122, 122, 109, 121, 128, 170, 95, 134, 134, 128, 114, 139, 146, 90, 141, 117, 150, 97, 145, 139, 104, 145, 136, 126, 110, 133, 146, 114, 114, 109, 122, 155, 148, 150, 95, 107, 105, 182, 129, 145, 83, 47, 180, 35, 220, 199, 114, 95, 114, 143, 76, 162, 61, 167, 122, 126, 107, 170, 162, 83, 114, 165, 68, 177, 73, 122, 165, 136, 141, 6, 255, 97, 235, 42, 148, 0, 189, 98, 208, 100, 172, 100, 128, 114, 145, 131, 155, 95, 119, 138, 131, 107, 150, 110, 157, 145, 146, 112, 110, 117, 122, 163, 109, 157, 102, 158, 80, 160, 124, 148, 110, 139, 119, 133, 116, 150, 116, 146, 117, 136, 116, 124, 126, 133, 138, 134, 128, 116, 129, 129, 134, 107, 129, 134, 136, 124, 128, 129, 122, 131, 122, 122, 129, 122, 126, 124, 129, 129, 134, 117, 134, 124, 129, 126, 117, 119, 129, 129, 131, 129, 126, 129, 122, 122, 129, 128, 126, 136, 117, 129, 129, 129, 128, 124, 133, 124, 129, 128, 131, 124, 131, 129, 131, 129, 126, 131, 121, 133, 129, 129, 133, 122, 138, 122, 131, 122, 129, 131, 129, 128, 131, 129, 129, 133, 116, 134, 128, 124, 138, 122, 126, 133, 128, 131, 126, 129, 131, 124, 122, 126, 129, 131, 134, 129, 128, 124, 126, 128, 129, 128, 128, 124, 131, 124, 128, 128, 134, 124, 124, 126, 129, 126, 124, 134, 126, 134, 116, 131, 126, 126, 126, 128, 126, 129, 121, 129, 131, 126, 129, 117, 134, 122, 128, 131, 122, 128, 121, 133, 129, 126, 128, 126, 122, 126, 126, 126, 133, 122, 138, 116, 131, 128, 128, 126, 122, 136, 122, 128, 122, 128, 136, 128, 122, 129, 131, 129, 122, 121, 131, 133, 131, 117, 134, 121, 141, 114, 126, 131, 133, 133, 116, 128, 126, 134, 117, 136, 121, 138, 116, 129, 126, 129, 129, 124, 126, 126, 129, 121, 129, 128, 131, 126, 126, 126, 131, 126, 126, 122, 131, 128, 126, 122, 128, 131, 126, 128, 124, 131, 124, 124, 126, 129, 124, 126, 128, 129, 126, 129, 121, 128, 128, 124, 129, 122, 128, 124, 126, 128, 124, 129, 122, 126, 128, 124, 124, 126, 121, 128, 128, 126, 124, 128, 126, 126, 128, 119, 128, 124, 128, 126, 126, 124, 128, 124, 131, 124, 128, 126, 121, 129, 126, 128, 124, 122, 129, 129, 129, 119, 129, 124, 126, 122, 124, 128, 126, 124, 128, 124, 128, 128, 124, 126, 124, 129, 119, 129, 122, 133, 126, 122, 126, 122, 128, 122, 129, 126, 122, 124, 128, 128, 126, 126, 124, 126, 119, 129, 122, 131, 124, 128, 122, 126, 124, 128, 126, 126, 122, 128, 122, 129, 122, 131, 126, 124, 122, 126, 124, 124, 126, 128, 128, 122, 128, 126, 124, 124, 124, 128, 128, 126, 124, 128, 128, 124, 124, 124, 128, 126, 124, 128, 124, 128, 126, 126, 128, 126, 126, 122, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 128, 122, 129, 122, 129, 124, 124, 128, 126, 128, 124, 124, 124, 126, 124, 126, 128, 128, 124, 122, 128, 128, 126, 122, 124, 128, 126, 126, 128, 126, 126, 122, 126, 128, 128, 122, 126, 124, 126, 126, 128, 126, 126, 126, 124, 126, 124, 126, 128, 128, 124, 128, 126, 126, 126, 126, 126, 124, 126, 122, 131, 124, 128, 124, 124, 128, 126, 128, 124, 124, 128, 126, 124, 129, 122, 129, 122, 128, 124, 128, 128, 128, 124, 124, 128, 122, 129, 124, 128, 128, 124, 122, 128, 126, 128, 126, 126, 128, 124, 126, 126, 128, 126, 124, 126, 128, 128, 126, 128, 126, 124, 128, 126, 126, 126, 126, 128, 126, 128, 126, 126, 128, 124, 126, 126, 126, 126, 128, 124, 128, 126, 126, 126, 126, 126, 128, 128, 124, 124, 126, 128, 128, 124, 128, 128, 126, 126, 128, 126, 126, 124, 128, 128, 126, 126, 126, 126, 128, 126, 126, 129, 126, 128, 124, 128, 126, 129, 124, 129, 126, 128, 124, 126, 126, 128, 126, 128, 126, 124, 128, 128, 126, 128, 128, 126, 126, 126, 126, 128, 126, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 128, 128, 128, 124, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 128, 128, 126, 129, 124, 129, 126, 126, 129, 126, 128, 124, 128, 129, 126, 129, 124, 129, 126, 128, 126, 128, 128, 128, 128, 126, 126, 128, 128, 124, 128, 126, 128, 126, 126, 126, 129, 126, 129, 124, 128, 126, 126, 128, 126, 126, 128, 128, 128, 128, 126, 126, 129, 124, 129, 126, 126, 128, 126, 126, 128, 126, 129, 126, 126, 126, 128, 128, 124, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 126, 126, 128, 128, 126, 126, 126, 128, 128, 126, 126, 128, 126, 126, 126, 126, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 126, 126, 128, 128, 126, 126, 128, 126, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 126, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 124, 128, 126, 128, 126, 128, 128, 128, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 126, 128, 128, 126, 128, 126, 126, 126, 128, 126, 126, 128, 126, 128, 128, 126, 126, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 126, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 128, 126, 126, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 128, 126, 126, 128, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 126, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 128, 128, 126, 126, 128, 128, 126, 128, 128, 126, 126, 128, 126, 128, 128, 126, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 126, 126, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 126, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 128, 126, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 128, 126, 126, 128, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 128, 128, 126, 128, 126, 126, 126, 126, 128, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 126, 126, 128, 126, 128, 126, 126, 126, 128, 126, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 126, 128, 126, 128, 128, 126, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 126, 126, 126, 128, 128, 128, 126, 128, 126, 126, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 128, 126, 126, 128, 126, 128, 128, 126, 128, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 126, 126, 128, 126, 128, 128, 128, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 126, 128, 126, 128, 126, 126, 126, 128, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 128, 128, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 128, 126, 128, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 126, 128, 128, 126, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 128, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 126, 128, 126, 128, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 128, 126, 128, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 126, 128, 126, 126, 126, 128, 126, 128, 126, 128, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 128, 126, 128, 128, 126, 126, 128, 126, 128, 126, 126, 128, 126, 128, 126, 126, 126, 126, 126, 126, 126, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 126, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 128, 126, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 126, 126, 128, 128, 126, 126, 128, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 128, 128, 126, 126, 128, 126, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 126, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 128, 126, 126, 128, 126, 128, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 126, 126, 128, 128, 128, 128, 126, 128, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 126, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 126, 128, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 126, 126, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 128, 128, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 126, 128, 128, 128, 126, 126, 128, 126, 128, 126, 128, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 126, 126, 128, 126, 128, 126, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 126, 129, 128, 128, 126, 126, 128, 129, 124, 128, 128, 126, 128, 129, 124, 128, 128, 126, 126, 128, 126, 128, 128, 126, 129, 128, 128, 126, 126, 128, 126, 128, 128, 128, 126, 128, 128, 126, 128, 126, 126, 126, 126, 128, 128, 128, 128, 126, 124, 126, 128, 128, 128, 126, 124, 124, 126, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 122, 121, 136, 129, 119, 121, 133, 122, 141, 128, 121, 122, 100, 138, 145, 116, 158, 93, 146, 76, 160, 129, 129, 131, 112, 153, 85, 129, 126, 153, 124, 110, 145, 112, 129, 119, 124, 146, 107, 151, 104, 141, 109, 129, 134, 121, 133, 117, 136, 124, 121, 128, 122, 134, 122, 129, 129, 119, 129, 121, 136, 122, 126, 129, 124, 131, 119, 128, 122, 124, 131, 121, 134, 124, 131, 122, 122, 126, 119, 133, 128, 131, 119, 121, 128, 126, 131, 122, 133, 126, 122, 122, 122, 133, 126, 131, 122, 126, 126, 122, 129, 124, 128, 126, 128, 126, 122, 126, 122, 128, 129, 128, 126, 122, 129, 128, 124, 124, 128, 129, 124, 126, 126, 128, 128, 124, 128, 124, 129, 124, 129, 121, 126, 128, 138, 150, 126, 102, 119, 145, 110, 128, 122, 143, 114, 160, 121, 107, 114, 145, 129, 129, 109, 153, 134, 114, 122, 119, 139, 109, 126, 151, 139, 124, 114, 139, 109, 116, 129, 131, 150, 134, 116, 107, 114, 150, 136, 124, 128, 150, 112, 121, 114, 131, 133, 133, 122, 121, 138, 141, 117, 119, 126, 122, 128, 141, 134, 121, 136, 129, 116, 109, 138, 138, 122, 129, 139, 131, 124, 124, 124, 124, 129, 133, 131, 126, 129, 126, 128, 124, 129, 126, 128, 136, 126, 129, 128, 129, 124, 126, 131, 126, 133, 129, 131, 128, 128, 128, 122, 126, 129, 133, 128, 133, 128, 126, 126, 131, 129, 124, 133, 131, 129, 121, 131, 126, 126, 131, 126, 129, 128, 131, 126, 121, 128, 131, 128, 126, 128, 129, 126, 126, 124, 126, 129, 128, 128, 124, 131, 126, 124, 124, 126, 128, 126, 129, 128, 128, 124, 124, 126, 124, 129, 126, 124, 129, 129, 126, 122, 122, 129, 126, 129, 126, 124, 126, 128, 126, 124, 128, 128, 128, 124, 128, 124, 128, 128, 124, 124, 124, 128, 126, 124, 128, 126, 128, 124, 126, 122, 124, 131, 124, 124, 124, 129, 124, 124, 124, 126, 126, 126, 126, 126, 126, 126, 128, 124, 124, 126, 126, 128, 126, 124, 124, 128, 126, 124, 126, 126, 126, 126, 126, 128, 126, 126, 126, 124, 124, 126, 126, 126, 128, 126, 126, 124, 126, 126, 126, 126, 124, 126, 128, 126, 126, 124, 126, 126, 124, 128, 128, 126, 126, 124, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 124, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 126, 126, 126, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 129, 124, 131, 109, 138, 116, 61, 95, 98, 105, 167, 165, 80, 76, 87, 85, 87, 78, 88, 80, 112, 172, 162, 155, 160, 119, 155, 90, 136, 131, 47, 105, 162, 170, 136, 90, 83, 80, 81, 85, 85, 88, 76, 117, 172, 133, 97, 98, 85, 90, 81, 81, 85, 71, 129, 162, 121, 124, 151, 157, 141, 158, 158, 162, 160, 155, 158, 133, 93, 73, 98, 139, 98, 92, 97, 109, 105, 153, 186, 131, 97, 134, 158, 160, 177, 177, 174, 172, 174, 145, 128, 153, 165, 162, 184, 157, 81, 90, 104, 95, 98, 73, 73, 66, 52, 76, 81, 80, 81, 90, 87, 141, 107, 148, 167, 162, 168, 119, 76, 116, 184, 172, 167, 107, 143, 85, 66, 64, 54, 66, 66, 63, 69, 81, 80, 112, 136, 141, 114, 83, 155, 197, 180, 197, 180, 179, 167, 170, 80, 87, 69, 63, 66, 66, 61, 73, 76, 100, 211, 192, 191, 184, 184, 191, 194, 174, 150, 157, 143, 112, 107, 80, 87, 128, 112, 107, 78, 146, 206, 189, 209, 192, 197, 189, 194, 143, 168, 112, 90, 109, 97, 81, 119, 177, 141, 83, 73, 76, 81, 88, 92, 87, 88, 87, 104, 153, 150, 100, 117, 172, 155, 138, 163, 121, 71, 133, 168, 151, 165, 153, 155, 138, 157, 167, 191, 186, 186, 186, 203, 155, 105, 175, 151, 174, 174, 187, 192, 199, 196, 197, 191, 189, 199, 186, 167, 175, 175, 160, 88, 66, 148, 177, 163, 168, 168, 187, 184, 192, 165, 174, 162, 157, 97, 80, 73, 122, 158, 109, 180, 184, 189, 168, 175, 104, 100, 110, 87, 112, 126, 97, 83, 64, 78, 98, 139, 157, 151, 117, 83, 87, 81, 64, 68, 66, 69, 80, 83, 87, 68, 80, 98, 78, 116, 163, 163, 160, 117, 172, 170, 119, 71, 75, 85, 76, 73, 71, 78, 92, 78, 87, 170, 170, 157, 174, 187, 191, 186, 177, 167, 175, 167, 98, 56, 68, 64, 69, 71, 73, 73, 64, 73, 88, 98, 145, 109, 157, 192, 208, 109, 121, 158, 157, 134, 51, 75, 46, 66, 49, 68, 56, 153, 194, 187, 197, 187, 191, 187, 203, 182, 81, 78, 90, 73, 68, 34, 116, 150, 75, 93, 80, 107, 158, 182, 179, 167, 163, 151, 175, 136, 56, 76, 71, 80, 73, 78, 81, 104, 93, 104, 87, 131, 189, 174, 191, 170, 175, 177, 174, 167, 158, 162, 172, 162, 163, 163, 175, 194, 192, 194, 189, 182, 184, 170, 167, 121, 117, 172, 167, 179, 174, 175, 177, 187, 180, 170, 162, 172, 167, 157, 134, 117, 172, 167, 175, 170, 179, 134, 87, 81, 88, 116, 162, 129, 73, 78, 81, 81, 105, 88, 151, 119, 73, 97, 78, 97, 81, 61, 58, 63, 61, 64, 63, 56, 52, 61, 63, 63, 68, 68, 68, 69, 80, 64, 66, 64, 58, 61, 63, 75, 75, 80, 78, 78, 61, 68, 61, 73, 68, 109, 170, 175, 174, 174, 182, 179, 75, 92, 83, 131, 129, 69, 148, 150, 93, 155, 167, 145, 165, 162, 196, 197, 187, 186, 180, 151, 83, 66, 71, 64, 76, 71, 160, 220, 204, 209, 189, 199, 157, 93, 160, 107, 100, 98, 102, 186, 201, 170, 196, 134, 92, 105, 109, 170, 148, 157, 151, 102, 81, 71, 52, 58, 58, 88, 105, 112, 153, 143, 139, 163, 87, 73, 68, 117, 139, 73, 107, 107, 184, 165, 179, 172, 175, 160, 182, 129, 93, 102, 100, 182, 184, 194, 182, 187, 180, 186, 153, 112, 92, 119, 177, 197, 194, 201, 196, 203, 187, 187, 170, 172, 186, 174, 182, 201, 192, 208, 197, 199, 179, 196, 92, 44, 69, 56, 80, 83, 76, 71, 83, 83, 39, 44, 51, 49, 58, 56, 58, 61, 61, 64, 64, 71, 71, 150, 201, 194, 179, 151, 151, 117, 56, 80, 76, 208, 187, 192, 168, 180, 126, 90, 116, 114, 150, 162, 175, 158, 100, 71, 85, 71, 71, 71, 124, 179, 124, 63, 54, 61, 46, 40, 58, 61, 73, 51, 112, 162, 85, 76, 71, 80, 75, 80, 95, 165, 187, 172, 174, 167, 170, 150, 114, 150, 162, 97, 100, 116, 100, 92, 88, 128, 124, 76, 93, 90, 92, 165, 175, 170, 170, 162, 170, 168, 182, 186, 175, 175, 167, 73, 126, 97, 95, 78, 145, 157, 64, 122, 153, 98, 87, 87, 168, 175, 174, 189, 131, 78, 75, 90, 98, 107, 145, 75, 83, 71, 81, 78, 73, 80, 78, 75, 68, 73, 59, 66, 63, 73, 59, 155, 165, 121, 104, 95, 98, 122, 192, 172, 163, 163, 95, 68, 83, 73, 78, 80, 64, 56, 69, 68, 69, 73, 69, 71, 78, 71, 112, 182, 192, 179, 170, 163, 163, 191, 179, 179, 165, 168, 109, 71, 92, 81, 95, 90, 102, 97, 92, 100, 138, 163, 172, 124, 109, 158, 172, 189, 168, 187, 174, 187, 97, 116, 157, 172, 116, 95, 172, 131, 175, 150, 197, 177, 189, 170, 172, 167, 174, 143, 92, 131, 157, 170, 157, 157, 162, 168, 170, 168, 174, 184, 180, 186, 211, 204, 203, 191, 211, 206, 194, 192, 179, 182, 153, 88, 76, 78, 78, 54, 59, 63, 59, 83, 88, 81, 73, 71, 90, 71, 58, 64, 75, 76, 78, 133, 163, 110, 121, 141, 93, 92, 92, 81, 88, 109, 131, 143, 191, 211, 196, 213, 221, 203, 186, 184, 151, 88, 85, 66, 66, 69, 64, 63, 109, 165, 109, 191, 179, 187, 194, 189, 192, 201, 182, 167, 170, 145, 90, 110, 93, 100, 88, 73, 80, 59, 54, 59, 52, 64, 93, 182, 172, 192, 186, 121, 78, 73, 61, 66, 69, 64, 73, 69, 76, 76, 163, 179, 196, 204, 196, 192, 131, 75, 80, 83, 71, 73, 63, 73, 71, 129, 175, 174, 170, 163, 167, 168, 177, 187, 186, 160, 100, 90, 93, 129, 189, 209, 209, 196, 184, 98, 66, 69, 88, 85, 129, 160, 126, 88, 114, 184, 186, 174, 151, 167, 184, 186, 170, 187, 122, 47, 61, 52, 52, 71, 102, 81, 64, 75, 56, 40, 46, 54, 51, 83, 143, 95, 157, 168, 168, 160, 167, 105, 76, 75, 47, 52, 59, 56, 66, 180, 186, 165, 148, 151, 186, 196, 184, 187, 158, 64, 56, 63, 146, 97, 158, 199, 177, 179, 172, 174, 165, 165, 175, 174, 83, 58, 66, 76, 76, 52, 42, 49, 46, 49, 64, 73, 80, 85, 95, 95, 131, 158, 180, 141, 59, 61, 61, 80, 175, 211, 223, 213, 201, 203, 204, 197, 187, 179, 170, 168, 155, 153, 155, 167, 168, 175, 177, 186, 204, 197, 204, 191, 153, 109, 75, 66, 83, 87, 122, 124, 95, 88, 66, 75, 61, 68, 47, 47, 46, 44, 56, 78, 80, 83, 97, 93, 105, 105, 167, 167, 174, 179, 182, 184, 189, 206, 194, 197, 197, 162, 95, 141, 87, 64, 136, 139, 155, 189, 187, 199, 194, 199, 194, 163, 174, 109, 61, 76, 73, 63, 66, 71, 56, 54, 68, 63, 61, 76, 97, 93, 122, 182, 199, 191, 191, 209, 191, 177, 175, 165, 93, 90, 109, 80, 97, 114, 90, 88, 85, 87, 85, 92, 92, 133, 157, 119, 98, 134, 143, 90, 90, 87, 87, 85, 148, 174, 116, 88, 104, 88, 98, 157, 158, 76, 68, 92, 151, 128, 90, 98, 97, 97, 90, 83, 88, 107, 102, 107, 97, 95, 95, 141, 192, 150, 114, 146, 162, 175, 177, 167, 174, 179, 174, 184, 175, 165, 179, 180, 180, 162, 104, 98, 105, 83, 66, 68, 66, 68, 64, 59, 56, 71, 167, 192, 175, 177, 180, 184, 211, 216, 203, 197, 194, 191, 184, 174, 170, 119, 95, 138, 162, 162, 182, 150, 80, 100, 139, 145, 189, 196, 168, 172, 122, 78, 133, 189, 148, 87, 93, 69, 69, 63, 68, 63, 61, 80, 83, 71, 56, 85, 160, 145, 160, 163, 170, 165, 168, 191, 143, 85, 110, 153, 141, 63, 64, 68, 61, 92, 114, 93, 66, 56, 63, 66, 97, 179, 174, 172, 110, 90, 83, 136, 153, 158, 143, 69, 76, 76, 87, 98, 97, 119, 90, 63, 73, 71, 81, 85, 81, 107, 151, 92, 83, 80, 85, 92, 148, 182, 177, 177, 153, 138, 145, 155, 165, 160, 160, 165, 175, 186, 167, 167, 145, 71, 80, 81, 81, 93, 104, 83, 78, 78, 88, 83, 109, 143, 78, 87, 81, 110, 105, 153, 162, 158, 174, 143, 93, 112, 162, 165, 167, 97, 78, 92, 80, 141, 170, 165, 134, 64, 64, 59, 68, 64, 90, 160, 133, 87, 76, 58, 73, 80, 81, 81, 158, 184, 172, 100, 139, 124, 138, 180, 174, 191, 192, 204, 196, 206, 203, 184, 174, 189, 192, 192, 191, 182, 186, 191, 192, 186, 186, 180, 192, 100, 42, 71, 63, 112, 168, 150, 175, 175, 175, 153, 69, 39, 68, 54, 124, 134, 56, 71, 95, 167, 172, 168, 170, 109, 68, 95, 81, 71, 95, 100, 119, 160, 145, 162, 105, 78, 126, 141, 141, 109, 71, 83, 98, 160, 165, 165, 157, 167, 107, 75, 76, 64, 76, 80, 104, 168, 153, 104, 134, 146, 97, 66, 133, 186, 143, 93, 75, 68, 64, 73, 162, 172, 146, 90, 78, 97, 97, 97, 95, 83, 90, 165, 192, 192, 172, 97, 58, 76, 75, 114, 163, 160, 168, 177, 191, 182, 172, 112, 75, 136, 179, 172, 139, 95, 102, 102, 88, 71, 56, 66, 73, 131, 170, 177, 141, 59, 63, 66, 76, 83, 75, 59, 81, 151, 191, 186, 184, 148, 98, 64, 63, 61, 81, 90, 141, 148, 165, 196, 194, 196, 177, 172, 168, 165, 95, 87, 92, 138, 170, 170, 167, 160, 182, 197, 189, 157, 102, 81, 129, 155, 151, 158, 139, 109, 104, 80, 87, 172, 189, 165, 155, 107, 88, 100, 93, 90, 88, 87, 80, 73, 69, 76, 92, 136, 168, 184, 194, 182, 177, 175, 175, 172, 170, 95, 90, 88, 153, 187, 175, 182, 187, 199, 191, 174, 138, 177, 179, 187, 128, 95, 68, 47, 66, 64, 104, 150, 102, 98, 78, 68, 66, 141, 191, 174, 182, 158, 87, 56, 59, 80, 150, 105, 75, 68, 68, 78, 121, 172, 172, 145, 100, 180, 182, 177, 170, 194, 131, 73, 71, 73, 75, 75, 85, 93, 90, 97, 90, 155, 187, 179, 165, 146, 121, 63, 68, 92, 157, 107, 157, 167, 177, 119, 73, 92, 136, 194, 186, 177, 97, 76, 68, 129, 179, 179, 180, 138, 93, 104, 85, 69, 68, 71, 155, 180, 174, 170, 165, 160, 162, 170, 177, 168, 134, 75, 75, 80, 126, 155, 112, 73, 87, 102, 126, 168, 180, 187, 196, 189, 177, 172, 168, 172, 182, 191, 189, 189, 168, 98, 85, 148, 170, 167, 165, 175, 187, 179, 172, 168, 162, 163, 175, 180, 182, 97, 58, 80, 80, 117, 162, 163, 136, 93, 83, 80, 81, 124, 122, 104, 107, 95, 90, 75, 51, 56, 78, 98, 143, 167, 163, 153, 155, 155, 158, 167, 174, 158, 90, 51, 49, 52, 68, 73, 112, 162, 175, 180, 186, 189, 177, 172, 175, 174, 172, 172, 175, 134, 63, 42, 46, 76, 153, 170, 179, 191, 186, 167, 172, 180, 170, 157, 131, 100, 97, 88, 85, 100, 133, 146, 155, 168, 179, 180, 175, 191, 180, 117, 88, 98, 90, 92, 92, 141, 139, 85, 71, 52, 76, 102, 95, 102, 155, 174, 170, 122, 73, 71, 63, 110, 194, 177, 143, 73, 80, 90, 75, 54, 49, 51, 66, 58, 90, 177, 184, 184, 175, 112, 73, 63, 107, 179, 189, 184, 141, 100, 167, 168, 162, 109, 92, 73, 69, 69, 133, 196, 177, 165, 141, 146, 112, 87, 87, 107, 104, 98, 102, 95, 124, 177, 177, 175, 145, 119, 102, 112, 104, 97, 90, 83, 85, 87, 128, 170, 175, 155, 97, 69, 148, 189, 168, 168, 174, 174, 131, 80, 155, 167, 157, 93, 75, 80, 102, 129, 145, 165, 177, 170, 105, 80, 75, 162, 197, 180, 177, 175, 189, 148, 75, 121, 172, 165, 92, 76, 73, 80, 83, 134, 177, 184, 160, 90, 73, 75, 73, 80, 73, 136, 170, 165, 172, 167, 146, 105, 87, 85, 64, 61, 61, 141, 189, 187, 203, 203, 194, 143, 64, 71, 81, 93, 92, 143, 172, 153, 148, 158, 131, 78, 63, 66, 90, 81, 80, 73, 148, 192, 192, 201, 189, 186, 150, 104, 150, 175, 184, 182, 134, 80, 69, 64, 107, 160, 157, 165, 177, 191, 184, 114, 71, 71, 131, 186, 174, 179, 151, 90, 78, 92, 163, 184, 179, 177, 117, 76, 66, 104, 179, 175, 180, 179, 187, 182, 162, 97, 78, 124, 162, 139, 98, 83, 78, 85, 143, 167, 167, 146, 141, 153, 172, 134, 80, 78, 80, 107, 160, 170, 172, 172, 160, 105, 78, 83, 78, 88, 90, 83, 80, 81, 146, 168, 98, 64, 71, 76, 119, 167, 148, 98, 109, 162, 174, 165, 121, 134, 172, 143, 109, 100, 112, 150, 167, 165, 95, 76, 76, 76, 76, 66, 105, 163, 172, 177, 174, 175, 168, 174, 182, 196, 129, 64, 61, 68, 102, 151, 141, 100, 105, 168, 179, 175, 107, 68, 80, 80, 76, 107, 197, 199, 203, 189, 184, 174, 172, 116, 85, 92, 100, 104, 87, 87, 85, 98, 150, 162, 158, 167, 165, 174, 139, 83, 80, 69, 71, 80, 165, 192, 194, 196, 180, 160, 155, 158, 126, 80, 63, 73, 128, 162, 126, 98, 128, 163, 180, 180, 175, 153, 97, 87, 76, 75, 69, 71, 87, 128, 167, 186, 199, 194, 160, 90, 78, 73, 85, 85, 88, 81, 69, 63, 64, 71, 100, 175, 187, 180, 165, 117, 78, 71, 66, 75, 69, 97, 157, 160, 146, 165, 179, 165, 105, 90, 143, 160, 162, 174, 175, 170, 153, 95, 83, 76, 138, 179, 187, 189, 182, 148, 93, 75, 56, 49, 56, 63, 138, 175, 177, 129, 73, 83, 71, 92, 148, 192, 197, 203, 192, 184, 168, 180, 133, 63, 68, 83, 145, 179, 197, 189, 165, 121, 98, 80, 61, 63, 75, 116, 177, 179, 148, 85, 73, 78, 76, 76, 73, 119, 180, 189, 191, 182, 174, 112, 63, 52, 63, 75, 93, 143, 184, 145, 90, 107, 146, 136, 105, 109, 129, 155, 168, 184, 146, 78, 69, 68, 85, 90, 81, 80, 87, 133, 162, 163, 133, 80, 73, 66, 92, 153, 150, 97, 81, 97, 95, 121, 158, 160, 168, 150, 97, 76, 78, 92, 151, 180, 136, 88, 128, 180, 179, 180, 155, 87, 71, 75, 76, 66, 59, 59, 69, 78, 114, 148, 100, 81, 87, 160, 177, 177, 175, 172, 172, 170, 139, 98, 92, 114, 172, 189, 189, 189, 191, 192, 186, 191, 153, 78, 69, 66, 71, 68, 66, 71, 88, 116, 97, 68, 66, 59, 66, 112, 196, 199, 192, 180, 168, 163, 167, 163, 153, 155, 177, 187, 191, 179, 177, 180, 182, 175, 174, 126, 78, 75, 71, 83, 92, 85, 80, 88, 95, 76, 63, 58, 63, 69, 121, 196, 192, 194, 189, 184, 174, 168, 121, 78, 116, 158, 162, 165, 160, 175, 182, 179, 124, 85, 73, 76, 75, 66, 68, 71, 73, 61, 59, 66, 78, 93, 151, 184, 187, 187, 177, 165, 160, 170, 165, 100, 88, 83, 81, 80, 129, 162, 157, 133, 119, 174, 184, 186, 170, 102, 71, 78, 78, 73, 64, 64, 69, 64, 59, 56, 69, 69, 158, 203, 211, 209, 201, 150, 104, 157, 153, 100, 73, 75, 80, 81, 85, 97, 102, 129, 167, 182, 187, 191, 184, 168, 107, 78, 75, 80, 85, 78, 78, 81, 83, 75, 71, 68, 69, 78, 151, 192, 186, 172, 122, 75, 95, 157, 174, 175, 177, 175, 172, 124, 85, 87, 87, 117, 172, 184, 187, 186, 182, 126, 95, 93, 128, 143, 143, 128, 92, 93, 85, 88, 93, 134, 162, 126, 85, 78, 73, 68, 64, 75, 93, 98, 98, 100, 107, 145, 155, 163, 186, 187, 189, 186, 180, 168, 153, 139, 116, 90, 85, 80, 114, 157, 167, 177, 175, 177, 174, 170, 163, 172, 186, 182, 179, 126, 73, 76, 68, 71, 83, 128, 157, 114, 73, 63, 63, 71, 90, 139, 179, 182, 191, 187, 184, 175, 165, 114, 90, 97, 87, 75, 66, 66, 83, 163, 182, 184, 177, 172, 168, 177, 189, 184, 172, 160, 162, 162, 150, 100, 88, 92, 92, 97, 83, 76, 88, 128, 172, 177, 163, 117, 107, 157, 119, 73, 71, 66, 69, 97, 158, 141, 85, 69, 68, 71, 87, 139, 174, 170, 175, 175, 175, 174, 172, 162, 157, 165, 170, 174, 168, 165, 141, 95, 81, 76, 81, 83, 98, 97, 139, 170, 174, 167, 162, 133, 73, 61, 54, 64, 75, 87, 88, 87, 93, 98, 93, 93, 128, 170, 167, 170, 165, 168, 129, 97, 126, 162, 129, 124, 174, 182, 192, 189, 194, 184, 172, 112, 80, 75, 64, 61, 56, 59, 71, 93, 158, 172, 165, 114, 80, 73, 71, 75, 104, 150, 138, 110, 141, 133, 153, 179, 182, 177, 170, 160, 162, 121, 87, 93, 114, 105, 129, 170, 174, 180, 184, 184, 160, 97, 76, 73, 73, 78, 81, 90, 85, 81, 78, 116, 175, 177, 168, 170, 168, 167, 133, 112, 157, 151, 100, 97, 107, 124, 148, 158, 172, 180, 184, 172, 163, 163, 151, 107, 102, 110, 134, 102, 92, 88, 138, 151, 85, 80, 81, 95, 107, 143, 153, 160, 167, 170, 141, 92, 107, 150, 162, 162, 179, 184, 174, 155, 104, 81, 80, 75, 119, 143, 98, 136, 167, 172, 184, 182, 163, 102, 85, 87, 83, 87, 93, 97, 88, 80, 83, 92, 109, 145, 168, 179, 184, 182, 172, 163, 139, 107, 114, 160, 177, 172, 167, 131, 107, 126, 136, 90, 75, 78, 83, 80, 76, 80, 88, 81, 81, 81, 124, 167, 167, 174, 179, 177, 172, 163, 153, 151, 175, 160, 95, 81, 92, 100, 139, 168, 165, 151, 141, 150, 119, 92, 90, 133, 174, 186, 192, 191, 184, 170, 116, 75, 73, 71, 83, 92, 107, 97, 83, 81, 81, 76, 71, 68, 69, 68, 104, 168, 179, 177, 172, 167, 143, 105, 105, 104, 97, 85, 81, 90, 100, 90, 80, 78, 80, 81, 83, 87, 112, 163, 168, 168, 170, 180, 184, 180, 155, 93, 81, 76, 76, 78, 87, 92, 97, 92, 92, 85, 88, 90, 116, 167, 170, 179, 175, 170, 165, 162, 160, 168, 175, 179, 186, 186, 182, 175, 167, 155, 138, 109, 109, 105, 112, 104, 93, 92, 83, 73, 69, 69, 66, 68, 78, 81, 105, 157, 162, 167, 163, 158, 146, 145, 163, 175, 177, 174, 179, 174, 163, 151, 157, 128, 92, 104, 102, 93, 98, 104, 100, 102, 100, 90, 83, 80, 75, 69, 68, 63, 66, 85, 109, 148, 174, 187, 192, 192, 187, 182, 174, 163, 128, 95, 97, 92, 95, 93, 129, 160, 162, 151, 104, 85, 80, 76, 76, 75, 81, 88, 121, 158, 168, 177, 179, 177, 172, 168, 167, 165, 167, 128, 92, 93, 92, 88, 76, 78, 80, 87, 90, 83, 87, 114, 162, 168, 168, 170, 170, 167, 163, 167, 162, 158, 138, 98, 110, 145, 151, 141, 93, 134, 167, 174, 155, 87, 80, 97, 153, 139, 90, 88, 102, 158, 121, 87, 85, 128, 168, 158, 122, 100, 107, 133, 97, 83, 97, 95, 116, 131, 80, 76, 71, 76, 81, 105, 110, 93, 92, 97, 104, 107, 110, 109, 121, 151, 153, 138, 119, 105, 88, 85, 93, 105, 145, 163, 157, 110, 87, 93, 97, 128, 143, 105, 102, 104, 100, 102, 105, 98, 90, 116, 162, 162, 163, 119, 83, 85, 83, 121, 160, 165, 134, 83, 81, 76, 87, 90, 129, 158, 158, 160, 160, 155, 165, 177, 180, 182, 179, 174, 167, 168, 180, 184, 186, 179, 172, 119, 92, 104, 97, 93, 98, 150, 165, 146, 105, 104, 109, 107, 109, 148, 160, 158, 133, 105, 153, 165, 167, 163, 151, 110, 95, 95, 93, 121, 151, 160, 155, 109, 93, 90, 88, 97, 110, 153, 126, 92, 85, 83, 81, 116, 163, 160, 153, 139, 102, 88, 92, 116, 150, 157, 157, 162, 167, 165, 131, 109, 110, 104, 93, 107, 167, 172, 168, 145, 107, 92, 128, 148, 141, 148, 155, 162, 157, 160, 134, 100, 95, 90, 87, 87, 92, 119, 153, 162, 165, 160, 131, 83, 80, 80, 83, 90, 95, 141, 170, 175, 179, 170, 134, 87, 78, 73, 83, 87, 117, 165, 174, 175, 170, 124, 88, 87, 80, 83, 85, 119, 158, 162, 163, 158, 155, 155, 153, 146, 150, 153, 157, 128, 148, 167, 163, 158, 121, 109, 117, 104, 92, 87, 85, 95, 124, 153, 128, 98, 121, 150, 114, 92, 88, 95, 107, 116, 148, 151, 146, 145, 146, 150, 151, 153, 145, 119, 93, 124, 163, 162, 163, 157, 151, 116, 121, 134, 98, 95, 88, 105, 153, 160, 155, 155, 157, 128, 104, 119, 139, 148, 114, 107, 131, 112, 98, 95, 88, 85, 85, 92, 116, 116, 97, 95, 105, 110, 109, 109, 98, 88, 87, 87, 117, 148, 100, 100, 109, 129, 153, 162, 165, 162, 160, 157, 160, 160, 158, 146, 148, 141, 98, 93, 93, 119, 153, 158, 162, 162, 162, 162, 163, 162, 153, 121, 97, 88, 85, 90, 105, 139, 148, 110, 93, 98, 95, 97, 98, 112, 104, 100, 105, 117, 117, 134, 138, 90, 83, 87, 90, 93, 98, 112, 100, 121, 160, 158, 163, 141, 109, 104, 117, 139, 145, 155, 157, 162, 157, 153, 167, 163, 160, 143, 105, 93, 124, 170, 174, 175, 174, 174, 167, 158, 160, 165, 165, 129, 90, 81, 76, 80, 116, 155, 163, 167, 160, 150, 150, 162, 167, 168, 160, 145, 107, 95, 93, 95, 90, 88, 92, 85, 87, 88, 133, 158, 153, 151, 160, 163, 162, 133, 133, 133, 110, 110, 97, 90, 85, 87, 131, 155, 151, 158, 158, 158, 119, 93, 129, 155, 151, 155, 136, 104, 97, 95, 102, 117, 151, 157, 157, 121, 105, 107, 141, 158, 157, 148, 141, 116, 112, 151, 151, 151, 151, 160, 158, 155, 146, 143, 134, 97, 83, 76, 73, 73, 76, 81, 92, 104, 133, 155, 163, 165, 168, 172, 168, 167, 153, 100, 85, 81, 78, 78, 81, 87, 90, 92, 97, 112, 141, 158, 172, 174, 172, 174, 170, 177, 145, 90, 83, 76, 80, 83, 98, 141, 160, 124, 119, 157, 157, 150, 129, 109, 133, 160, 112, 83, 80, 76, 80, 80, 110, 160, 170, 165, 158, 162, 163, 138, 100, 95, 90, 97, 97, 122, 155, 158, 162, 160, 157, 157, 158, 157, 151, 153, 165, 170, 167, 162, 136, 102, 104, 100, 131, 162, 165, 168, 167, 162, 157, 141, 105, 98, 95, 129, 160, 158, 157, 145, 138, 141, 112, 102, 102, 129, 153, 157, 162, 150, 114, 102, 97, 90, 88, 93, 109, 134, 148, 148, 151, 150, 150, 134, 105, 105, 100, 102, 109, 107, 98, 93, 88, 90, 93, 100, 114, 138, 153, 157, 151, 153, 150, 153, 139, 107, 98, 93, 90, 93, 93, 95, 93, 133, 165, 167, 167, 157, 150, 150, 139, 139, 146, 112, 104, 100, 97, 95, 100, 105, 122, 109, 98, 102, 136, 163, 163, 165, 157, 153, 122, 105, 102, 136, 136, 104, 104, 102, 128, 141, 148, 157, 162, 153, 143, 128, 110, 104, 126, 121, 105, 98, 93, 97, 114, 153, 155, 148, 145, 153, 160, 163, 160, 158, 157, 158, 157, 158, 136, 102, 109, 138, 128, 105, 97, 88, 92, 98, 102, 104, 102, 124, 157, 160, 163, 162, 157, 151, 153, 158, 131, 97, 97, 104, 145, 155, 148, 109, 97, 107, 134, 139, 133, 124, 146, 146, 141, 146, 153, 155, 153, 157, 158, 143, 110, 98, 98, 105, 114, 109, 98, 95, 104, 143, 155, 151, 146, 150, 146, 105, 102, 98, 122, 141, 138, 145, 143, 129, 105, 98, 104, 107, 122, 126, 119, 133, 116, 134, 110, 100, 95, 98, 102, 98, 95, 102, 112, 102, 93, 88, 90, 97, 117, 116, 131, 145, 138, 141, 143, 155, 155, 150, 151, 141, 112, 109, 114, 110, 105, 105, 136, 143, 100, 90, 83, 87, 98, 145, 157, 158, 157, 151, 148, 139, 143, 146, 138, 136, 148, 150, 143, 114, 110, 110, 131, 151, 150, 148, 116, 97, 93, 100, 105, 131, 143, 151, 157, 162, 160, 155, 150, 153, 136, 133, 148, 146, 145, 109, 124, 136, 138, 150, 148, 143, 146, 138, 107, 104, 102, 102, 104, 109, 136, 155, 157, 158, 155, 151, 146, 141, 150, 139, 109, 100, 100, 105, 105, 112, 133, 107, 97, 102, 112, 109, 112, 110, 117, 148, 150, 155, 158, 160, 158, 157, 157, 155, 146, 146, 119, 98, 100, 97, 100, 97, 95, 93, 97, 93, 95, 100, 124, 150, 153, 136, 107, 104, 126, 155, 155, 155, 145, 148, 150, 155, 134, 107, 98, 100, 107, 105, 109, 109, 95, 88, 87, 88, 92, 121, 157, 160, 163, 160, 141, 109, 116, 116, 116, 110, 110, 117, 138, 148, 151, 129, 104, 100, 98, 98, 112, 146, 138, 102, 92, 92, 92, 136, 160, 163, 165, 158, 155, 151, 157, 157, 153, 153, 146, 138, 145, 153, 157, 158, 153, 145, 116, 104, 104, 131, 148, 151, 134, 107, 112, 138, 158, 162, 160, 158, 131, 97, 100, 102, 105, 105, 138, 155, 145, 145, 150, 151, 153, 155, 153, 148, 141, 117, 105, 107, 104, 112, 116, 110, 112, 134, 141, 143, 121, 107, 117, 124, 145, 151, 148, 141, 141, 150, 150, 138, 114, 105, 100, 100, 102, 110, 110, 109, 114, 129, 107, 98, 105, 114, 114, 109, 107, 104, 102, 100, 116, 146, 151, 158, 160, 160, 160, 155, 155, 151, 151, 128, 100, 97, 93, 100, 107, 107, 97, 97, 100, 102, 98, 95, 100, 112, 116, 110, 110, 112, 112, 133, 150, 148, 148, 148, 150, 155, 158, 157, 155, 155, 155, 151, 121, 98, 98, 104, 105, 102, 98, 97, 98, 97, 97, 95, 97, 100, 100, 98, 102, 105, 110, 131, 145, 145, 146, 128, 110, 139, 151, 153, 155, 153, 150, 146, 139, 116, 104, 102, 104, 105, 107, 107, 109, 122, 139, 141, 143, 151, 151, 153, 117, 95, 95, 92, 93, 95, 97, 100, 110, 114, 112, 112, 116, 117, 136, 145, 141, 139, 148, 151, 151, 145, 119, 128, 143, 129, 114, 117, 131, 157, 162, 167, 167, 163, 151, 112, 97, 97, 95, 97, 93, 95, 104, 112, 110, 116, 129, 116, 119, 139, 148, 150, 148, 150, 148, 150, 117, 112, 138, 150, 134, 112, 109, 134, 151, 150, 153, 150, 151, 150, 141, 141, 146, 150, 141, 107, 100, 102, 104, 110, 138, 141, 116, 109, 107, 139, 150, 136, 117, 110, 107, 105, 105, 107, 121, 143, 141, 133, 117, 102, 97, 95, 102, 110, 119, 110, 119, 146, 150, 153, 151, 148, 145, 143, 141, 145, 151, 148, 138, 138, 146, 153, 151, 148, 146, 145, 126, 110, 102, 97, 98, 100, 104, 104, 104, 100, 98, 98, 102, 109, 109, 121, 145, 148, 150, 153, 153, 151, 153, 151, 143, 136, 138, 143, 141, 139, 141, 145, 148, 141, 117, 109, 107, 104, 98, 97, 100, 107, 109, 109, 109, 110, 131, 145, 136, 134, 143, 146, 150, 150, 146, 145, 148, 134, 112, 133, 134, 112, 107, 107, 110, 110, 109, 105, 105, 110, 116, 110, 105, 104, 104, 98, 98, 104, 128, 148, 151, 151, 150, 150, 150, 151, 148, 146, 150, 145, 143, 131, 110, 109, 107, 107, 109, 112, 112, 110, 110, 105, 105, 107, 104, 102, 102, 105, 122, 143, 136, 136, 143, 143, 136, 145, 151, 153, 155, 155, 153, 151, 153, 151, 151, 150, 150, 151, 146, 139, 122, 112, 107, 104, 107, 112, 133, 141, 124, 136, 129, 112, 112, 109, 109, 104, 104, 105, 110, 107, 107, 110, 129, 119, 112, 114, 128, 145, 145, 148, 139, 139, 138, 138, 141, 133, 117, 116, 119, 141, 148, 148, 141, 141, 141, 139, 148, 150, 143, 116, 109, 112, 114, 110, 119, 129, 112, 109, 105, 102, 100, 107, 109, 109, 112, 110, 105, 107, 112, 131, 114, 105, 107, 110, 116, 116, 110, 107, 104, 102, 105, 122, 141, 143, 146, 145, 146, 148, 151, 148, 138, 119, 119, 114, 114, 121, 134, 139, 124, 107, 107, 109, 107, 109, 122, 143, 148, 145, 145, 136, 139, 138, 134, 141, 145, 150, 150, 150, 145, 139, 131, 114, 109, 110, 112, 131, 141, 141, 143, 143, 148, 145, 145, 145, 146, 145, 148, 150, 148, 143, 143, 134, 126, 145, 133, 110, 128, 133, 133, 141, 145, 134, 114, 112, 116, 134, 136, 136, 133, 128, 114, 109, 109, 110, 107, 105, 107, 109, 110, 112, 114, 114, 116, 138, 141, 141, 143, 138, 138, 143, 148, 145, 141, 146, 150, 150, 150, 146, 145, 134, 117, 109, 109, 109, 121, 129, 114, 121, 136, 138, 136, 136, 131, 121, 119, 116, 109, 104, 100, 97, 98, 100, 102, 107, 107, 107, 107, 109, 109, 126, 143, 143, 128, 110, 116, 119, 116, 124, 141, 145, 145, 138, 136, 136, 141, 141, 134, 133, 131, 143, 146, 145, 143, 143, 148, 150, 150, 150, 146, 141, 136, 141, 136, 112, 104, 104, 104, 104, 109, 109, 107, 107, 109, 110, 124, 141, 139, 141, 133, 112, 116, 134, 129, 116, 129, 139, 116, 110, 114, 121, 143, 136, 128, 139, 141, 145, 145, 146, 136, 131, 139, 141, 146, 146, 141, 134, 117, 138, 146, 139, 126, 138, 134, 110, 110, 107, 122, 134, 134, 139, 139, 128, 112, 119, 141, 146, 148, 143, 138, 129, 116, 110, 110, 122, 133, 116, 112, 112, 128, 129, 110, 112, 110, 122, 133, 114, 112, 112, 109, 105, 104, 104, 107, 109, 114, 112, 110, 110, 122, 134, 116, 107, 105, 104, 107, 110, 112, 114, 133, 134, 114, 107, 107, 109, 114, 114, 112, 112, 116, 117, 112, 107, 105, 104, 105, 107, 112, 122, 134, 136, 138, 145, 148, 151, 151, 151, 150, 150, 148, 146, 141, 138, 122, 126, 141, 141, 143, 141, 138, 128, 117, 126, 136, 138, 139, 138, 138, 139, 145, 146, 150, 151, 150, 151, 146, 146, 145, 143, 139, 139, 129, 117, 134, 134, 134, 122, 119, 119, 117, 114, 116, 117, 114, 126, 139, 136, 141, 143, 141, 141, 141, 138, 134, 134, 134, 139, 139, 139, 145, 146, 145, 143, 141, 138, 139, 138, 133, 133, 139, 141, 139, 136, 138, 122, 110, 112, 110, 109, 107, 110, 110, 117, 119, 112, 110, 112, 112, 110, 114, 126, 133, 136, 143, 143, 139, 121, 112, 112, 110, 107, 105, 107, 109, 112, 112, 112, 110, 112, 116, 116, 110, 107, 107, 109, 109, 107, 107, 107, 107, 109, 112, 119, 114, 110, 112, 126, 138, 128, 116, 119, 131, 136, 122, 116, 119, 133, 138, 133, 122, 133, 143, 143, 141, 141, 143, 143, 145, 143, 141, 139, 136, 138, 138, 139, 141, 138, 141, 143, 139, 141, 143, 145, 145, 146, 143, 143, 145, 146, 145, 143, 138, 134, 134, 133, 122, 134, 126, 116, 114, 110, 110, 124, 136, 134, 136, 136, 136, 131, 117, 116, 136, 146, 145, 141, 124, 112, 117, 129, 138, 138, 141, 134, 122, 114, 110, 112, 121, 126, 119, 119, 114, 114, 114, 116, 114, 114, 112, 116, 116, 133, 129, 116, 114, 116, 117, 126, 139, 121, 110, 110, 112, 116, 114, 122, 119, 114, 110, 110, 112, 126, 129, 121, 138, 139, 131, 116, 121, 138, 138, 138, 139, 139, 129, 116, 122, 138, 139, 139, 136, 138, 126, 117, 134, 139, 136, 119, 114, 119, 117, 114, 112, 114, 116, 117, 116, 116, 116, 121, 116, 112, 110, 124, 141, 139, 138, 138, 136, 124, 116, 121, 139, 141, 141, 139, 139, 124, 114, 114, 117, 134, 124, 128, 139, 136, 138, 128, 121, 133, 139, 129, 126, 128, 119, 133, 128, 121, 119, 136, 138, 134, 133, 119, 116, 114, 112, 112, 114, 116, 116, 117, 116, 116, 117, 129, 138, 138, 139, 141, 139, 134, 134, 136, 138, 139, 134, 136, 143, 143, 139, 122, 128, 138, 133, 117, 109, 109, 114, 117, 114, 110, 110, 116, 129, 119, 112, 112, 114, 119, 124, 116, 110, 109, 110, 112, 114, 114, 126, 139, 138, 139, 121, 110, 114, 116, 117, 117, 124, 136, 136, 134, 136, 134, 134, 139, 139, 139, 139, 139, 138, 136, 121, 117, 114, 126, 141, 141, 141, 141, 141, 141, 141, 134, 119, 116, 116, 136, 143, 139, 139, 136, 133, 129, 134, 129, 128, 138, 138, 143, 141, 126, 114, 116, 117, 117, 133, 139, 139, 131, 116, 122, 136, 124, 116, 117, 124, 131, 136, 138, 138, 133, 116, 114, 114, 114, 121, 119, 128, 122, 112, 116, 114, 112, 112, 112, 112, 114, 121, 134, 133, 136, 122, 112, 114, 114, 114, 112, 114, 114, 121, 133, 138, 141, 139, 136, 136, 139, 134, 119, 117, 119, 117, 116, 116, 126, 136, 138, 133, 126, 134, 136, 117, 112, 114, 117, 119, 119, 121, 122, 134, 138, 133, 116, 114, 117, 119, 119, 117, 126, 136, 139, 139, 138, 141, 141, 139, 134, 126, 133, 138, 138, 134, 133, 131, 133, 136, 139, 136, 133, 131, 134, 138, 134, 131, 121, 119, 133, 134, 126, 121, 131, 128, 112, 116, 117, 129, 138, 133, 126, 119, 126, 138, 131, 121, 121, 131, 122, 110, 116, 116, 121, 134, 129, 117, 128, 133, 138, 138, 133, 131, 134, 139, 136, 119, 116, 116, 126, 136, 128, 128, 138, 136, 138, 138, 136, 131, 136, 141, 134, 114, 112, 116, 119, 131, 136, 136, 138, 128, 128, 136, 133, 124, 131, 139, 134, 116, 112, 114, 114, 116, 117, 122, 119, 114, 116, 116, 117, 117, 122, 136, 136, 133, 121, 117, 117, 129, 121, 116, 117, 116, 117, 117, 114, 116, 121, 122, 131, 134, 136, 136, 131, 136, 139, 138, 134, 136, 136, 138, 128, 114, 114, 119, 121, 116, 119, 131, 134, 122, 128, 134, 131, 136, 133, 136, 138, 133, 119, 114, 112, 116, 116, 116, 114, 114, 116, 122, 131, 129, 121, 119, 121, 133, 136, 128, 129, 119, 116, 117, 119, 119, 116, 116, 116, 116, 117, 124, 134, 133, 134, 136, 136, 134, 134, 136, 134, 131, 131, 136, 136, 136, 136, 136, 131, 134, 134, 136, 138, 138, 128, 119, 119, 121, 129, 138, 138, 138, 139, 139, 139, 138, 139, 139, 138, 134, 124, 122, 119, 117, 117, 117, 119, 116, 131, 139, 136, 136, 136, 129, 119, 119, 133, 136, 133, 133, 131, 121, 117, 129, 134, 128, 121, 117, 121, 128, 134, 134, 122, 119, 121, 121, 122, 121, 122, 133, 131, 131, 133, 136, 139, 138, 136, 136, 133, 133, 134, 136, 134, 134, 136, 136, 129, 117, 114, 116, 119, 119, 119, 116, 124, 136, 134, 133, 133, 133, 136, 138, 134, 133, 133, 134, 134, 138, 126, 114, 116, 117, 131, 133, 122, 119, 117, 119, 116, 117, 119, 126, 134, 133, 134, 129, 126, 128, 134, 122, 119, 117, 119, 129, 136, 134, 134, 124, 116, 117, 116, 116, 117, 119, 126, 134, 134, 134, 124, 129, 128, 117, 122, 131, 134, 136, 138, 138, 136, 134, 129, 119, 119, 119, 119, 119, 119, 117, 124, 133, 129, 131, 136, 133, 131, 134, 134, 131, 131, 133, 133, 133, 133, 134, 134, 128, 128, 121, 119, 119, 117, 117, 121, 122, 124, 134, 134, 129, 119, 117, 116, 117, 117, 117, 116, 126, 136, 136, 129, 121, 119, 117, 128, 134, 128, 122, 131, 124, 131, 136, 138, 131, 119, 116, 117, 117, 124, 128, 121, 133, 136, 136, 134, 133, 133, 134, 131, 133, 131, 121, 122, 124, 133, 136, 136, 136, 131, 121, 119, 131, 129, 121, 129, 131, 133, 133, 134, 136, 138, 139, 138, 129, 117, 121, 122, 133, 129, 126, 131, 122, 128, 124, 121, 121, 121, 121, 122, 126, 134, 136, 136, 133, 122, 129, 134, 134, 136, 134, 133, 136, 136, 133, 124, 129, 122, 117, 119, 119, 128, 124, 119, 128, 131, 121, 128, 134, 136, 129, 121, 117, 117, 119, 129, 133, 119, 121, 133, 134, 133, 133, 126, 119, 121, 119, 121, 119, 119, 121, 124, 122, 119, 124, 131, 131, 122, 119, 119, 121, 128, 133, 121, 116, 121, 134, 134, 134, 134, 134, 134, 133, 126, 119, 119, 121, 124, 131, 133, 126, 133, 136, 136, 129, 126, 133, 134, 134, 136, 133, 133, 134, 134, 134, 133, 134, 136, 138, 134, 131, 129, 131, 134, 133, 129, 133, 134, 133, 136, 134, 136, 136, 136, 134, 136, 131, 122, 122, 129, 134, 134, 134, 129, 128, 133, 136, 136, 129, 124, 133, 133, 134, 124, 121, 122, 121, 122, 119, 121, 133, 136, 136, 134, 133, 121, 119, 122, 131, 124, 129, 122, 121, 121, 129, 136, 136, 128, 119, 121, 121, 121, 119, 121, 121, 124, 128, 119, 119, 121, 122, 122, 121, 119, 119, 121, 129, 128, 119, 119, 117, 119, 119, 119, 119, 119, 119, 119, 117, 117, 117, 117, 119, 121, 129, 136, 134, 134, 136, 134, 133, 133, 126, 119, 126, 136, 136, 136, 131, 121, 119, 117, 119, 119, 119, 117, 119, 119, 117, 117, 116, 117, 117, 119, 119, 128, 134, 128, 129, 136, 136, 136, 134, 133, 133, 134, 136, 133, 133, 126, 121, 119, 117, 119, 119, 121, 124, 124, 121, 122, 122, 119, 119, 117, 119, 121, 122, 121, 121, 124, 131, 134, 136, 136, 134, 134, 131, 124, 122, 119, 121, 124, 126, 129, 128, 119, 119, 129, 131, 122, 119, 128, 124, 121, 119, 117, 119, 122, 122, 122, 129, 131, 131, 131, 131, 131, 133, 131, 129, 124, 122, 121, 126, 133, 131, 133, 134, 133, 122, 121, 122, 124, 119, 117, 119, 119, 119, 119, 119, 119, 119, 121, 122, 122, 129, 131, 131, 131, 124, 121, 119, 126, 129, 129, 128, 126, 133, 129, 133, 128, 124, 121, 121, 122, 124, 126, 122, 121, 122, 122, 122, 121, 119, 117, 119, 121, 122, 131, 133, 134, 134, 134, 134, 131, 129, 129, 131, 134, 133, 133, 133, 133, 133, 131, 124, 126, 131, 131, 133, 128, 122, 121, 122, 124, 122, 121, 122, 119, 119, 121, 126, 133, 131, 129, 131, 133, 134, 134, 133, 133, 133, 133, 133, 133, 134, 133, 126, 133, 134, 133, 133, 133, 134, 136, 131, 121, 121, 122, 121, 121, 121, 128, 124, 121, 129, 133, 134, 131, 124, 124, 128, 133, 133, 126, 128, 133, 131, 126, 121, 124, 124, 126, 134, 134, 134, 134, 134, 134, 134, 134, 133, 131, 133, 126, 119, 121, 121, 126, 129, 129, 126, 133, 129, 121, 119, 121, 121, 129, 128, 121, 121, 122, 122, 121, 121, 124, 131, 133, 134, 134, 134, 134, 133, 131, 131, 131, 131, 126, 124, 131, 131, 124, 119, 119, 121, 121, 121, 121, 121, 119, 119, 119, 122, 131, 129, 124, 122, 122, 124, 128, 122, 122, 129, 134, 134, 134, 128, 129, 133, 129, 129, 131, 133, 129, 124, 122, 126, 133, 134, 128, 119, 121, 121, 122, 131, 124, 124, 131, 131, 133, 133, 133, 129, 129, 124, 121, 122, 128, 129, 126, 131, 133, 133, 131, 121, 121, 122, 121, 126, 133, 131, 133, 129, 131, 133, 133, 134, 134, 129, 122, 124, 121, 129, 133, 131, 133, 134, 133, 133, 131, 126, 124, 124, 122, 121, 121, 121, 126, 126, 128, 131, 131, 129, 122, 128, 131, 131, 131, 131, 133, 133, 133, 126, 124, 122, 128, 133, 133, 128, 122, 122, 126, 129, 124, 129, 133, 131, 129, 133, 128, 126, 126, 131, 133, 133, 131, 126, 131, 124, 122, 122, 122, 121, 126, 131, 131, 133, 133, 134, 133, 131, 129, 128, 119, 121, 122, 129, 133, 133, 129, 131, 133, 129, 122, 129, 124, 122, 121, 122, 124, 124, 126, 126, 133, 128, 122, 122, 121, 121, 121, 121, 121, 121, 121, 122, 122, 129, 129, 133, 129, 124, 122, 119, 121, 121, 122, 124, 124, 124, 128, 122, 122, 122, 122, 122, 126, 133, 131, 133, 129, 128, 124, 126, 122, 122, 122, 122, 122, 119, 119, 121, 121, 124, 126, 131, 131, 131, 128, 129, 131, 131, 122, 121, 121, 121, 121, 126, 128, 129, 131, 124, 129, 128, 122, 121, 121, 121, 126, 133, 133, 133, 131, 131, 131, 129, 131, 129, 133, 134, 134, 134, 131, 131, 131, 129, 131, 133, 133, 131, 131, 131, 131, 131, 126, 124, 124, 124, 122, 122, 126, 128, 122, 126, 131, 129, 129, 131, 129, 129, 129, 129, 131, 133, 128, 121, 121, 122, 122, 121, 128, 133, 134, 134, 133, 133, 133, 133, 133, 126, 126, 133, 128, 124, 122, 124, 124, 131, 126, 124, 126, 128, 124, 122, 122, 121, 121, 121, 124, 128, 131, 131, 131, 131, 131, 131, 131, 133, 131, 124, 121, 121, 119, 119, 119, 121, 126, 128, 124, 126, 131, 131, 131, 124, 122, 122, 122, 122, 122, 121, 121, 122, 124, 122, 121, 121, 122, 124, 122, 126, 129, 129, 131, 133, 131, 124, 126, 126, 124, 128, 131, 131, 129, 122, 122, 122, 122, 121, 121, 121, 122, 122, 122, 122, 121, 122, 122, 121, 122, 121, 128, 133, 129, 129, 129, 122, 121, 124, 124, 122, 121, 121, 121, 122, 121, 122, 122, 122, 126, 131, 128, 121, 128, 133, 133, 131, 122, 121, 121, 121, 121, 122, 122, 124, 131, 131, 131, 133, 133, 133, 131, 131, 131, 133, 129, 126, 124, 122, 122, 124, 122, 122, 121, 128, 134, 133, 133, 133, 133, 133, 133, 133, 131, 131, 129, 124, 121, 121, 121, 122, 124, 124, 126, 126, 124, 122, 126, 133, 133, 134, 133, 133, 131, 122, 121, 121, 121, 121, 121, 121, 121, 122, 126, 133, 133, 133, 133, 133, 131, 131, 131, 129, 126, 122, 122, 121, 122, 124, 129, 133, 129, 126, 124, 121, 124, 122, 128, 131, 129, 131, 131, 131, 131, 131, 131, 126, 129, 124, 122, 124, 122, 129, 126, 124, 131, 131, 131, 133, 133, 133, 133, 133, 133, 133, 131, 131, 131, 131, 131, 131, 133, 131, 131, 131, 131, 129, 129, 133, 129, 121, 126, 126, 119, 121, 121, 121, 121, 126, 128, 124, 128, 131, 131, 131, 131, 131, 131, 129, 129, 131, 129, 126, 128, 131, 129, 128, 131, 131, 131, 131, 133, 131, 131, 131, 129, 124, 124, 124, 128, 122, 126, 124, 124, 122, 124, 128, 122, 122, 121, 124, 122, 122, 121, 122, 129, 131, 126, 122, 124, 128, 131, 129, 131, 131, 131, 131, 131, 131, 133, 133, 133, 131, 131, 131, 131, 133, 133, 133, 131, 131, 129, 131, 129, 124, 122, 122, 121, 122, 122, 124, 122, 121, 121, 124, 129, 126, 122, 121, 121, 122, 122, 122, 122, 122, 122, 122, 121, 122, 122, 122, 124, 124, 122, 121, 122, 122, 122, 124, 122, 121, 122, 122, 122, 121, 121, 121, 122, 124, 124, 124, 122, 121, 122, 131, 129, 129, 129, 124, 122, 124, 124, 124, 124, 122, 124, 122, 122, 124, 124, 122, 124, 129, 128, 124, 128, 126, 124, 124, 129, 131, 129, 129, 131, 133, 131, 133, 133, 131, 131, 133, 131, 131, 131, 133, 131, 129, 129, 124, 122, 122, 122, 122, 122, 124, 126, 122, 122, 124, 124, 124, 124, 129, 131, 129, 129, 129, 128, 126, 122, 128, 129, 129, 131, 131, 129, 129, 126, 124, 128, 129, 131, 131, 131, 131, 126, 122, 128, 128, 128, 131, 129, 131, 129, 122, 122, 122, 122, 122, 124, 128, 131, 131, 129, 122, 124, 122, 122, 124, 126, 129, 129, 129, 128, 124, 122, 124, 122, 122, 122, 124, 124, 129, 129, 128, 128, 126, 124, 126, 126, 124, 124, 124, 124, 122, 124, 126, 129, 129, 128, 126, 124, 124, 122, 124, 124, 126, 129, 131, 131, 131, 131, 131, 129, 128, 126, 124, 128, 129, 129, 129, 124, 122, 124, 122, 122, 122, 124, 122, 122, 122, 124, 122, 124, 122, 122, 122, 124, 124, 124, 124, 126, 124, 126, 124, 121, 122, 122, 122, 122, 122, 122, 122, 122, 124, 122, 122, 122, 122, 122, 122, 124, 124, 124, 122, 124, 124, 122, 122, 124, 129, 131, 129, 129, 129, 129, 131, 129, 126, 124, 128, 129, 131, 131, 131, 129, 128, 128, 129, 128, 124, 124, 128, 131, 129, 129, 129, 126, 122, 122, 122, 124, 131, 131, 131, 131, 129, 128, 128, 129, 128, 122, 122, 126, 131, 129, 129, 129, 129, 126, 124, 126, 129, 129, 129, 128, 129, 131, 128, 122, 124, 122, 124, 122, 124, 124, 124, 124, 126, 129, 131, 128, 122, 122, 122, 124, 128, 124, 124, 124, 128, 129, 129, 128, 124, 124, 124, 124, 126, 128, 124, 126, 129, 129, 131, 131, 131, 128, 128, 129, 129, 129, 126, 128, 128, 128, 131, 126, 128, 131, 131, 129, 129, 129, 129, 131, 129, 131, 131, 129, 126, 122, 122, 122, 128, 131, 131, 129, 128, 129, 129, 129, 131, 131, 129, 124, 122, 122, 122, 128, 131, 128, 122, 122, 122, 122, 122, 126, 129, 128, 122, 122, 121, 122, 124, 124, 122, 122, 124, 126, 126, 122, 128, 129, 126, 122, 122, 122, 124, 128, 124, 124, 122, 124, 129, 129, 124, 126, 131, 128, 126, 126, 124, 122, 124, 126, 124, 124, 124, 124, 128, 124, 122, 128, 129, 129, 131, 131, 128, 124, 124, 126, 129, 128, 124, 128, 129, 129, 129, 131, 131, 129, 131, 131, 131, 131, 131, 131, 129, 131, 126, 124, 128, 129, 129, 129, 131, 129, 131, 131, 131, 129, 131, 129, 131, 128, 126, 126, 126, 129, 129, 131, 129, 129, 129, 129, 129, 129, 124, 122, 124, 124, 124, 122, 126, 129, 129, 129, 131, 131, 129, 129, 129, 126, 128, 128, 128, 129, 126, 129, 131, 131, 129, 129, 129, 129, 129, 129, 128, 128, 128, 124, 126, 126, 129, 126, 124, 129, 131, 131, 131, 131, 131, 131, 129, 129, 131, 129, 129, 129, 126, 128, 129, 129, 129, 128, 124, 124, 126, 129, 129, 129, 131, 129, 131, 129, 126, 124, 124, 124, 129, 129, 129, 129, 129, 124, 124, 128, 129, 128, 124, 124, 128, 131, 129, 128, 124, 128, 126, 124, 124, 124, 124, 128, 124, 124, 128, 131, 131, 131, 126, 124, 126, 124, 126, 129, 129, 129, 126, 124, 124, 124, 124, 124, 124, 126, 129, 131, 131, 131, 131, 129, 126, 124, 126, 128, 128, 129, 124, 122, 122, 122, 124, 128, 129, 126, 128, 128, 124, 126, 129, 128, 128, 129, 128, 129, 126, 124, 124, 124, 124, 126, 129, 129, 129, 131, 129, 129, 126, 124, 124, 124, 124, 126, 129, 129, 129, 128, 124, 122, 124, 129, 129, 129, 129, 126, 124, 124, 129, 129, 129, 129, 126, 124, 124, 124, 128, 129, 129, 129, 129, 128, 129, 126, 122, 122, 122, 124, 122, 122, 124, 124, 124, 124, 126, 128, 126, 128, 129, 129, 129, 129, 131, 129, 131, 128, 124, 124, 122, 124, 126, 124, 124, 126, 124, 122, 124, 129, 129, 129, 128, 126, 129, 126, 126, 129, 129, 129, 128, 124, 124, 124, 126, 129, 129, 129, 126, 124, 124, 126, 131, 129, 131, 126, 124, 126, 124, 124, 126, 126, 124, 124, 124, 128, 128, 128, 128, 129, 126, 124, 124, 124, 128, 129, 129, 129, 128, 126, 128, 124, 126, 126, 126, 126, 124, 124, 124, 129, 128, 126, 124, 126, 124, 128, 126, 126, 129, 129, 128, 122, 124, 124, 128, 126, 126, 128, 128, 129, 129, 126, 126, 128, 128, 124, 124, 128, 129, 126, 124, 124, 128, 129, 129, 124, 126, 128, 124, 124, 124, 124, 124, 126, 129, 129, 129, 129, 129, 129, 129, 124, 124, 124, 122, 122, 124, 124, 124, 124, 128, 129, 129, 126, 124, 124, 124, 124, 124, 126, 129, 129, 129, 129, 126, 126, 129, 128, 128, 124, 126, 129, 126, 124, 124, 124, 128, 128, 128, 124, 124, 126, 128, 126, 128, 129, 129, 129, 128, 129, 126, 124, 124, 128, 129, 129, 129, 129, 129, 128, 129, 129, 129, 128, 126, 126, 124, 124, 126, 126, 124, 128, 128, 128, 128, 126, 129, 129, 128, 126, 124, 126, 129, 129, 129, 126, 124, 126, 128, 129, 129, 129, 128, 124, 126, 129, 129, 126, 128, 129, 129, 129, 129, 129, 129, 128, 129, 129, 129, 129, 129, 129, 129, 128, 124, 124, 124, 128, 129, 128, 129, 128, 129, 129, 129, 128, 128, 129, 129, 129, 129, 129, 129, 126, 126, 129, 129, 128, 128, 128, 129, 129, 129, 128, 124, 124, 126, 129, 129, 129, 129, 129, 128, 124, 128, 129, 129, 124, 124, 128, 129, 129, 129, 129, 129, 131, 128, 124, 124, 126, 128, 128, 126, 126, 126, 126, 128, 128, 129, 128, 128, 126, 124, 124, 128, 126, 124, 126, 129, 129, 129, 129, 129, 129, 129, 129, 126, 124, 126, 126, 124, 124, 128, 129, 126, 124, 124, 124, 126, 129, 129, 129, 126, 126, 128, 129, 128, 129, 129, 131, 129, 129, 129, 129, 128, 124, 124, 124, 128, 128, 128, 126, 126, 124, 124, 124, 124, 124, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 124, 128, 126, 126, 124, 124, 124, 128, 129, 129, 126, 124, 124, 124, 126, 124, 124, 124, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 124, 124, 124, 128, 129, 129, 126, 124, 124, 128, 128, 128, 128, 126, 128, 129, 129, 128, 124, 124, 124, 126, 126, 128, 128, 126, 128, 129, 129, 129, 126, 126, 124, 124, 126, 126, 128, 129, 129, 128, 124, 124, 126, 126, 128, 129, 129, 128, 129, 126, 124, 126, 126, 126, 124, 126, 126, 126, 124, 124, 124, 126, 126, 126, 124, 124, 124, 124, 124, 126, 126, 126, 129, 124, 124, 126, 128, 129, 129, 129, 129, 126, 124, 124, 124, 124, 124, 124, 128, 128, 124, 124, 124, 128, 129, 128, 128, 128, 128, 128, 124, 124, 124, 128, 129, 128, 128, 126, 128, 128, 128, 128, 129, 128, 128, 128, 124, 124, 124, 124, 124, 124, 128, 128, 124, 124, 124, 124, 128, 129, 126, 128, 129, 129, 128, 124, 124, 126, 126, 124, 128, 128, 128, 129, 128, 126, 124, 126, 126, 124, 126, 126, 124, 126, 129, 126, 124, 126, 126, 128, 128, 128, 129, 128, 126, 126, 124, 128, 129, 126, 124, 124, 124, 124, 124, 124, 126, 124, 124, 126, 124, 124, 124, 126, 126, 124, 124, 126, 126, 126, 129, 129, 126, 126, 129, 129, 129, 129, 128, 126, 126, 126, 126, 128, 128, 126, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 126, 128, 126, 124, 124, 124, 124, 124, 124, 126, 126, 129, 128, 128, 128, 129, 129, 129, 129, 126, 124, 124, 126, 129, 129, 129, 128, 128, 129, 129, 128, 128, 126, 126, 128, 124, 126, 129, 128, 128, 126, 124, 126, 124, 124, 124, 128, 128, 126, 126, 126, 128, 128, 129, 129, 128, 128, 128, 126, 124, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 129, 128, 129, 126, 126, 129, 128, 126, 126, 126, 126, 128, 126, 126, 129, 129, 128, 126, 126, 128, 128, 128, 128, 128, 126, 124, 126, 126, 126, 124, 124, 124, 124, 126, 126, 126, 126, 126, 124, 126, 126, 128, 128, 128, 129, 129, 128, 128, 128, 129, 129, 128, 124, 128, 129, 128, 126, 126, 126, 126, 128, 126, 126, 124, 124, 124, 124, 124, 126, 126, 124, 126, 126, 124, 124, 126, 128, 126, 124, 124, 124, 126, 128, 128, 128, 128, 126, 126, 128, 129, 129, 129, 128, 128, 129, 128, 128, 126, 126, 124, 126, 128, 129, 126, 124, 126, 126, 128, 128, 128, 129, 129, 129, 128, 124, 126, 126, 124, 124, 126, 126, 124, 126, 126, 124, 124, 124, 124, 124, 124, 126, 126, 128, 129, 128, 129, 129, 126, 128, 128, 124, 126, 128, 129, 129, 126, 126, 128, 128, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 126, 124, 124, 126, 128, 126, 126, 124, 124, 124, 124, 126, 126, 126, 126, 126, 128, 128, 128, 129, 129, 126, 126, 126, 126, 128, 128, 129, 128, 126, 126, 128, 129, 129, 129, 128, 128, 129, 128, 129, 129, 128, 129, 128, 128, 126, 124, 128, 128, 128, 126, 126, 124, 126, 126, 128, 128, 126, 126, 128, 129, 128, 129, 129, 129, 126, 124, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 129, 128, 126, 124, 128, 129, 128, 129, 129, 129, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 129, 126, 126, 128, 128, 128, 128, 128, 128, 129, 128, 124, 124, 126, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 124, 124, 126, 128, 128, 128, 128, 128, 126, 128, 126, 126, 126, 126, 126, 124, 126, 126, 128, 128, 128, 128, 128, 128, 129, 128, 126, 126, 126, 126, 124, 124, 124, 126, 128, 128, 126, 126, 128, 129, 129, 129, 128, 126, 124, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 128, 126, 126, 124, 126, 128, 129, 129, 128, 126, 128, 129, 129, 128, 124, 124, 124, 124, 126, 129, 129, 129, 126, 126, 128, 128, 126, 126, 126, 128, 129, 128, 126, 128, 129, 128, 128, 128, 126, 126, 128, 129, 128, 128, 128, 126, 126, 126, 126, 128, 129, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 126, 126, 124, 124, 126, 128, 128, 128, 126, 126, 128, 129, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 124, 124, 126, 126, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 129, 128, 128, 126, 126, 126, 126, 128, 126, 128, 126, 128, 126, 126, 128, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 124, 126, 128, 126, 126, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 128, 129, 129, 128, 129, 129, 129, 129, 129, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 128, 126, 124, 126, 128, 128, 128, 128, 126, 128, 128, 129, 129, 128, 126, 128, 128, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 126, 126, 128, 128, 126, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 129, 128, 126, 126, 128, 128, 128, 128, 129, 128, 126, 126, 128, 128, 128, 126, 126, 128, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 126, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 128, 126, 126, 126, 128, 128, 126, 126, 126, 128, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 126, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 126, 126, 126, 126, 126, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 126, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 128, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 128, 126, 126, 128, 126, 126, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 128, 126, 128, 128, 126, 126, 128, 126, 126, 128, 128, 128, 126, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 126, 128, 128, 128, 128, 126, 126, 126, 128, 126, 128, 128, 126, 126, 126, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 126, 126, 128, 126, 126, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 128, 126, 128, 128, 126, 126, 128, 128, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 126, 128, 128, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 128, 126, 128, 128, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 128, 128, 128, 126, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 128, 126, 126, 128, 128, 126, 128, 128, 128, 126, 126, 128, 126, 126, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 128, 126, 126, 126, 128, 128, 126, 128, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 126, 128, 126, 126, 128, 128, 128, 126, 126, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 128, 128, 126, 126, 126, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 126, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 126, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 128, 126, 126, 128, 128, 128, 128, 126, 126, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 128, 126, 128, 128, 128, 128, 126, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 128, 126, 126, 126, 126, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 126, 126, 128, 128, 126, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 126, 128, 126, 126, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 126, 126, 126, 128, 126, 128, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 126, 128, 128, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 128, 128, 128, 128, 128, 126, 128, 126, 128, 126, 126, 128, 126, 128, 128, 128, 128, 126, 128, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 128, 126, 126, 126, 128, 126, 126, 126, 126, 126, 126, 128, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 126, 128, 126, 126, 126, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 128, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 126, 128, 128, 128, 128, 126, 128, 126, 126, 126, 126, 126, 128, 128, 126, 126, 126, 128, 126, 128, 128, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 128, 128, 126, 126, 128, 128, 128, 126, 128, 128, 128, 128, 126, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 128, 126, 128, 128, 128, 126, 126, 126, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 128, 128, 128, 126, 126, 126, 128, 126, 128, 128, 126, 126, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, };

const int LEDPin = 10;        // pin para el LED
const int PIRPin = 4;        // pin de entrada (for PIR sensor)

int pirState = LOW;           // de inicio no hay movimiento
int val = 0;                  // estado del pin

void setup()
{
 pinMode(LEDPin, OUTPUT);
 pinMode(PIRPin, INPUT);
 Serial.begin(9600);
}

void loop()
{
 val = digitalRead(PIRPin);
 if (val == LOW)   //si está desactivado
 {
 startPlayback(sample, sizeof(sample));//sizeof termina la reproducción
 digitalWrite(LEDPin, LOW);  //LED LOW
 if (pirState == LOW)  //si previamente estaba apagado
 {
   Serial.println("Sensor parado");
   pirState = HIGH;
 }
 }
 else   //si esta desactivado
 {
 digitalWrite(LEDPin, HIGH); // LED OFF
 if (pirState == HIGH)  //si previamente estaba encendido
 {
   Serial.println("Sensor activado");
   pirState = LOW;
 }
 }
}
[/code]

Nota: para obtener los valores de audio a incorporar en el código, revisar el siguiente vínculo: https://medium.com/@colten_jackson/simple-sound-triggers-with-arduino-bfa135eabad0

Proyecto original de https://fabricadigital.org/2015/11/como-hacer-una-alarma-con-un-sensor-de-movimiento-pir-un-buzzer-y-un-led/

Popular Posts

Xochimeh. Con la tecnología de Blogger.