Răsfoiți Sursa

add sample and wavetable examples, parsers for both

Jack Humbert 7 ani în urmă
părinte
comite
f52faeb5d6

+ 39 - 0
keyboards/planck/keymaps/synth_sample/config.h

@@ -0,0 +1,39 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+    #define STARTUP_SONG SONG(PLANCK_SOUND)
+    // #define STARTUP_SONG SONG(NO_SOUND)
+
+    #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+                                  SONG(COLEMAK_SOUND), \
+                                  SONG(DVORAK_SOUND) \
+                                }
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+// Most tactile encoders have detents every 4 stages
+#define ENCODER_RESOLUTION 4
+

+ 298 - 0
keyboards/planck/keymaps/synth_sample/keymap.c

@@ -0,0 +1,298 @@
+/* Copyright 2019 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+enum planck_layers {
+  _QWERTY,
+  _COLEMAK,
+  _DVORAK,
+  _LOWER,
+  _RAISE,
+  _PLOVER,
+  _ADJUST
+};
+
+enum planck_keycodes {
+  QWERTY = SAFE_RANGE,
+  COLEMAK,
+  DVORAK,
+  PLOVER,
+  BACKLIT,
+  EXT_PLV
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_planck_grid(
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
+    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
+    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
+    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+),
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = LAYOUT_planck_grid(
+    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC,
+    KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,
+    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
+    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+),
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  |  /   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = LAYOUT_planck_grid(
+    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC,
+    KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH,
+    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT ,
+    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | | Home | End  |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_planck_grid(
+    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
+    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
+    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
+    _______, _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |Pg Up |Pg Dn |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_planck_grid(
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
+    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
+    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Plover layer (http://opensteno.org)
+ * ,-----------------------------------------------------------------------------------.
+ * |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |   S  |   T  |   P  |   H  |   *  |   *  |   F  |   P  |   L  |   T  |   D  |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |   S  |   K  |   W  |   R  |   *  |   *  |   R  |   B  |   G  |   S  |   Z  |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Exit |      |      |   A  |   O  |             |   E  |   U  |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_PLOVER] = LAYOUT_planck_grid(
+    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   ,
+    XXXXXXX, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC,
+    XXXXXXX, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
+    EXT_PLV, XXXXXXX, XXXXXXX, KC_C,    KC_V,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * |      | Reset|      |      |      |      |      |      |      |      |      |  Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover|      |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      |      |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_planck_grid(
+    _______, RESET,   DEBUG,   RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,  RGB_VAI, RGB_VAD, KC_DEL ,
+    _______, _______, MU_MOD,  AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  COLEMAK,  DVORAK,  PLOVER,  _______,
+    _______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  TERM_ON, TERM_OFF, _______, _______, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______, _______, _______
+)
+
+};
+
+#ifdef AUDIO_ENABLE
+  float plover_song[][2]     = SONG(PLOVER_SOUND);
+  float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND);
+#endif
+
+uint32_t layer_state_set_user(uint32_t state) {
+  return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case QWERTY:
+      if (record->event.pressed) {
+        print("mode just switched to qwerty and this is a huge string\n");
+        set_single_persistent_default_layer(_QWERTY);
+      }
+      return false;
+      break;
+    case COLEMAK:
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_COLEMAK);
+      }
+      return false;
+      break;
+    case DVORAK:
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_DVORAK);
+      }
+      return false;
+      break;
+    case BACKLIT:
+      if (record->event.pressed) {
+        register_code(KC_RSFT);
+        #ifdef BACKLIGHT_ENABLE
+          backlight_step();
+        #endif
+        #ifdef KEYBOARD_planck_rev5
+          PORTE &= ~(1<<6);
+        #endif
+      } else {
+        unregister_code(KC_RSFT);
+        #ifdef KEYBOARD_planck_rev5
+          PORTE |= (1<<6);
+        #endif
+      }
+      return false;
+      break;
+    case PLOVER:
+      if (record->event.pressed) {
+        #ifdef AUDIO_ENABLE
+          stop_all_notes();
+          PLAY_SONG(plover_song);
+        #endif
+        layer_off(_RAISE);
+        layer_off(_LOWER);
+        layer_off(_ADJUST);
+        layer_on(_PLOVER);
+        if (!eeconfig_is_enabled()) {
+            eeconfig_init();
+        }
+        keymap_config.raw = eeconfig_read_keymap();
+        keymap_config.nkro = 1;
+        eeconfig_update_keymap(keymap_config.raw);
+      }
+      return false;
+      break;
+    case EXT_PLV:
+      if (record->event.pressed) {
+        #ifdef AUDIO_ENABLE
+          PLAY_SONG(plover_gb_song);
+        #endif
+        layer_off(_PLOVER);
+      }
+      return false;
+      break;
+  }
+  return true;
+}
+
+void encoder_update(bool clockwise) {
+    if (clockwise) {
+      #ifdef MOUSEKEY_ENABLE
+        register_code(KC_MS_WH_DOWN);
+        unregister_code(KC_MS_WH_DOWN);
+      #else
+        register_code(KC_PGDN);
+        unregister_code(KC_PGDN);
+      #endif
+    } else {
+      #ifdef MOUSEKEY_ENABLE
+        register_code(KC_MS_WH_UP);
+        unregister_code(KC_MS_WH_UP);
+      #else
+        register_code(KC_PGUP);
+        unregister_code(KC_PGUP);
+      #endif
+    }
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool music_mask_user(uint16_t keycode) {
+  switch (keycode) {
+    case RAISE:
+    case LOWER:
+      return false;
+    default:
+      return true;
+  }
+}
+
+#include "sample.h"
+
+uint32_t dac_sample_custom_counter = 0;
+
+uint16_t dac_value_generate(void) {
+  if (is_playing_note()) {
+    uint16_t sample = dac_sample_custom[dac_sample_custom_counter];
+    dac_sample_custom_counter = (dac_sample_custom_counter + 1) % DAC_SAMPLE_CUSTOM_LENGTH;
+    return sample;
+  } else {
+    return DAC_OFF_VALUE;
+  }
+}

+ 0 - 0
keyboards/planck/keymaps/synth_sample/rules.mk


+ 3780 - 0
keyboards/planck/keymaps/synth_sample/sample.h

@@ -0,0 +1,3780 @@
+#define DAC_SAMPLE_CUSTOM_LENGTH 30208
+
+static const dacsample_t dac_sample_custom[30208] = {
+    2041, 2039, 2039, 2037, 2035, 2037, 2037, 2037, 
+    2038, 2037, 2037, 2040, 2039, 2038, 2036, 2035, 
+    2036, 2036, 2036, 2034, 2034, 2034, 2032, 2032, 
+    2033, 2034, 2032, 2030, 2029, 2031, 2030, 2029, 
+    2029, 2030, 2029, 2030, 2030, 2031, 2028, 2028, 
+    2028, 2027, 2025, 2026, 2027, 2026, 2025, 2026, 
+    2026, 2025, 2023, 2022, 2023, 2021, 2021, 2023, 
+    2020, 2023, 2023, 2022, 2022, 2021, 2021, 2020, 
+    2022, 2020, 2017, 2016, 2015, 2018, 2017, 2015, 
+    2013, 2012, 2015, 2013, 2011, 2012, 2011, 2011, 
+    2010, 2008, 2008, 2010, 2010, 2006, 2006, 2006, 
+    2004, 2005, 2006, 2006, 2005, 2002, 2005, 2003, 
+    2003, 2004, 2002, 2001, 2003, 2003, 2002, 2003, 
+    2003, 2000, 2000, 2000, 1998, 1997, 1998, 1999, 
+    1997, 1995, 1995, 1996, 1996, 1992, 1995, 1995, 
+    1994, 1994, 1995, 1997, 1996, 1996, 1997, 1997, 
+    1997, 1996, 1996, 1995, 1997, 1997, 1996, 1998, 
+    1995, 1996, 1996, 1996, 1996, 1994, 1990, 1991, 
+    1992, 1991, 1994, 1992, 1993, 1995, 1994, 1995, 
+    1992, 1991, 1991, 1992, 1993, 1992, 1992, 1993, 
+    1993, 1992, 1990, 1989, 1991, 1992, 1991, 1991, 
+    1990, 1990, 1992, 1992, 1991, 1992, 1992, 1994, 
+    1992, 1992, 1992, 1993, 1993, 1994, 1995, 1993, 
+    1991, 1992, 1990, 1989, 1990, 1988, 1988, 1987, 
+    1989, 1989, 1985, 1986, 1987, 1985, 1986, 1986, 
+    1987, 1988, 1988, 1989, 1989, 1988, 1988, 1990, 
+    1991, 1991, 1990, 1991, 1992, 1994, 1994, 1995, 
+    1994, 1995, 1997, 1995, 1995, 1995, 1997, 1997, 
+    1997, 1996, 1999, 2000, 1997, 1998, 1999, 2002, 
+    2001, 2001, 2001, 2002, 2000, 1998, 2000, 2004, 
+    2002, 2001, 2003, 2005, 2004, 2004, 2002, 2004, 
+    2004, 2001, 2000, 2001, 2003, 2005, 2005, 2005, 
+    2005, 2006, 2010, 2010, 2009, 2007, 2006, 2008, 
+    2006, 2007, 2007, 2005, 2005, 2005, 2007, 2005, 
+    2006, 2007, 2009, 2010, 2008, 2007, 2006, 2006, 
+    2005, 2005, 2005, 2004, 2005, 2004, 2004, 2003, 
+    2007, 2006, 2006, 2004, 2005, 2006, 2007, 2007, 
+    2006, 2010, 2007, 2008, 2009, 2012, 2012, 2010, 
+    2011, 2010, 2014, 2012, 2013, 2013, 2014, 2014, 
+    2013, 2012, 2012, 2012, 2010, 2013, 2012, 2010, 
+    2011, 2011, 2012, 2012, 2013, 2013, 2015, 2016, 
+    2015, 2015, 2015, 2015, 2015, 2014, 2012, 2014, 
+    2016, 2017, 2016, 2015, 2018, 2019, 2017, 2017, 
+    2017, 2017, 2016, 2016, 2017, 2017, 2018, 2021, 
+    2020, 2019, 2019, 2022, 2022, 2024, 2024, 2023, 
+    2023, 2023, 2024, 2025, 2026, 2025, 2024, 2025, 
+    2025, 2026, 2026, 2023, 2023, 2023, 2023, 2023, 
+    2023, 2024, 2024, 2025, 2024, 2022, 2022, 2021, 
+    2021, 2022, 2022, 2024, 2023, 2023, 2023, 2021, 
+    2023, 2023, 2024, 2024, 2025, 2024, 2026, 2027, 
+    2025, 2026, 2028, 2026, 2027, 2027, 2025, 2024, 
+    2027, 2028, 2027, 2028, 2027, 2027, 2028, 2028, 
+    2030, 2029, 2032, 2031, 2030, 2029, 2028, 2030, 
+    2027, 2028, 2028, 2028, 2026, 2027, 2028, 2027, 
+    2029, 2032, 2030, 2030, 2032, 2033, 2030, 2030, 
+    2032, 2030, 2030, 2030, 2032, 2032, 2033, 2031, 
+    2034, 2032, 2029, 2028, 2028, 2030, 2028, 2029, 
+    2030, 2028, 2029, 2029, 2029, 2030, 2032, 2033, 
+    2031, 2036, 2034, 2032, 2032, 2031, 2032, 2031, 
+    2032, 2033, 2035, 2033, 2032, 2034, 2035, 2036, 
+    2037, 2038, 2039, 2038, 2038, 2038, 2040, 2040, 
+    2041, 2041, 2041, 2043, 2041, 2041, 2043, 2043, 
+    2041, 2040, 2042, 2042, 2042, 2044, 2044, 2041, 
+    2042, 2043, 2042, 2044, 2043, 2044, 2044, 2045, 
+    2045, 2044, 2045, 2044, 2045, 2043, 2042, 2043, 
+    2043, 2043, 2043, 2044, 2044, 2044, 2045, 2044, 
+    2044, 2043, 2042, 2045, 2046, 2045, 2046, 2048, 
+    2048, 2046, 2046, 2046, 2049, 2048, 2050, 2049, 
+    2049, 2050, 2053, 2051, 2049, 2050, 2047, 2050, 
+    2048, 2052, 2050, 2051, 2053, 2051, 2051, 2048, 
+    2051, 2050, 2049, 2051, 2052, 2051, 2050, 2051, 
+    2050, 2050, 2051, 2050, 2048, 2049, 2049, 2048, 
+    2050, 2050, 2050, 2049, 2048, 2048, 2048, 2048, 
+    2049, 2049, 2049, 2050, 2051, 2050, 2053, 2051, 
+    2051, 2053, 2052, 2052, 2052, 2051, 2053, 2055, 
+    2056, 2056, 2055, 2056, 2056, 2056, 2059, 2058, 
+    2055, 2057, 2059, 2057, 2056, 2056, 2056, 2057, 
+    2059, 2060, 2060, 2059, 2059, 2059, 2059, 2061, 
+    2059, 2059, 2060, 2061, 2059, 2057, 2058, 2060, 
+    2060, 2061, 2060, 2061, 2062, 2063, 2062, 2060, 
+    2062, 2060, 2061, 2061, 2060, 2060, 2061, 2062, 
+    2062, 2062, 2061, 2059, 2062, 2063, 2062, 2063, 
+    2063, 2063, 2063, 2063, 2063, 2063, 2065, 2063, 
+    2063, 2065, 2065, 2066, 2065, 2067, 2067, 2066, 
+    2065, 2065, 2065, 2066, 2066, 2063, 2064, 2062, 
+    2063, 2062, 2062, 2061, 2062, 2063, 2062, 2061, 
+    2061, 2062, 2058, 2059, 2061, 2062, 2062, 2062, 
+    2062, 2064, 2063, 2063, 2062, 2061, 2061, 2063, 
+    2060, 2059, 2059, 2058, 2059, 2059, 2059, 2062, 
+    2063, 2063, 2062, 2061, 2061, 2061, 2061, 2062, 
+    2060, 2058, 2059, 2060, 2060, 2059, 2059, 2057, 
+    2059, 2059, 2056, 2057, 2056, 2057, 2056, 2056, 
+    2056, 2057, 2057, 2057, 2055, 2055, 2055, 2053, 
+    2054, 2054, 2054, 2054, 2052, 2051, 2054, 2055, 
+    2055, 2053, 2055, 2054, 2055, 2055, 2053, 2053, 
+    2054, 2052, 2051, 2053, 2051, 2052, 2052, 2054, 
+    2054, 2053, 2051, 2051, 2053, 2052, 2051, 2050, 
+    2049, 2049, 2048, 2049, 2049, 2047, 2046, 2047, 
+    2047, 2047, 2046, 2048, 2046, 2046, 2046, 2044, 
+    2043, 2044, 2045, 2046, 2043, 2044, 2043, 2046, 
+    2044, 2044, 2043, 2043, 2042, 2039, 2037, 2039, 
+    2038, 2039, 2039, 2038, 2038, 2038, 2039, 2036, 
+    2034, 2034, 2033, 2035, 2034, 2032, 2031, 2034, 
+    2035, 2033, 2034, 2032, 2032, 2033, 2031, 2031, 
+    2031, 2032, 2032, 2032, 2030, 2030, 2029, 2029, 
+    2029, 2025, 2024, 2024, 2024, 2025, 2025, 2028, 
+    2028, 2025, 2024, 2026, 2025, 2022, 2023, 2021, 
+    2018, 2019, 2020, 2020, 2020, 2021, 2021, 2018, 
+    2017, 2019, 2017, 2016, 2018, 2019, 2018, 2016, 
+    2017, 2016, 2014, 2017, 2017, 2017, 2016, 2014, 
+    2012, 2011, 2011, 2011, 2011, 2012, 2011, 2009, 
+    2011, 2011, 2011, 2012, 2009, 2009, 2010, 2011, 
+    2011, 2011, 2008, 2008, 2010, 2009, 2009, 2008, 
+    2007, 2010, 2009, 2011, 2012, 2011, 2012, 2012, 
+    2010, 2010, 2011, 2009, 2010, 2010, 2010, 2012, 
+    2011, 2011, 2011, 2010, 2010, 2009, 2012, 2008, 
+    2009, 2010, 2010, 2008, 2008, 2009, 2007, 2007, 
+    2007, 2007, 2009, 2008, 2006, 2006, 2010, 2011, 
+    2011, 2009, 2010, 2007, 2008, 2007, 2009, 2011, 
+    2009, 2009, 2008, 2009, 2009, 2009, 2007, 2010, 
+    2008, 2009, 2013, 2011, 2011, 2009, 2010, 2009, 
+    2007, 2007, 2008, 2008, 2009, 2010, 2008, 2009, 
+    2009, 2010, 2010, 2010, 2009, 2007, 2008, 2007, 
+    2011, 2012, 2010, 2009, 2009, 2010, 2008, 2010, 
+    2011, 2010, 2010, 2012, 2011, 2010, 2013, 2014, 
+    2013, 2014, 2016, 2015, 2016, 2017, 2016, 2020, 
+    2022, 2022, 2020, 2022, 2023, 2024, 2023, 2022, 
+    2021, 2020, 2023, 2022, 2023, 2022, 2023, 2024, 
+    2022, 2021, 2021, 2021, 2021, 2021, 2021, 2023, 
+    2024, 2024, 2022, 2022, 2023, 2026, 2027, 2024, 
+    2025, 2029, 2027, 2029, 2030, 2029, 2029, 2028, 
+    2029, 2029, 2028, 2031, 2031, 2029, 2027, 2026, 
+    2026, 2028, 2025, 2025, 2021, 2022, 2025, 2025, 
+    2028, 2026, 2025, 2025, 2023, 2024, 2024, 2027, 
+    2027, 2029, 2028, 2025, 2027, 2029, 2031, 2028, 
+    2026, 2028, 2028, 2028, 2028, 2030, 2026, 2028, 
+    2029, 2029, 2030, 2030, 2030, 2032, 2032, 2032, 
+    2031, 2030, 2031, 2031, 2033, 2035, 2033, 2032, 
+    2031, 2032, 2032, 2032, 2032, 2031, 2030, 2030, 
+    2028, 2030, 2029, 2027, 2029, 2028, 2027, 2029, 
+    2032, 2031, 2031, 2032, 2030, 2029, 2032, 2033, 
+    2032, 2027, 2026, 2029, 2030, 2031, 2033, 2033, 
+    2033, 2035, 2035, 2034, 2035, 2034, 2035, 2036, 
+    2037, 2035, 2035, 2034, 2034, 2034, 2037, 2036, 
+    2035, 2033, 2033, 2034, 2033, 2035, 2035, 2036, 
+    2038, 2037, 2035, 2038, 2038, 2033, 2033, 2035, 
+    2036, 2036, 2038, 2037, 2037, 2038, 2038, 2039, 
+    2039, 2038, 2038, 2040, 2041, 2040, 2042, 2042, 
+    2042, 2043, 2042, 2040, 2041, 2040, 2041, 2043, 
+    2040, 2042, 2042, 2041, 2044, 2045, 2043, 2043, 
+    2045, 2045, 2047, 2045, 2044, 2046, 2045, 2048, 
+    2049, 2050, 2050, 2050, 2050, 2048, 2050, 2051, 
+    2050, 2050, 2052, 2053, 2053, 2055, 2054, 2053, 
+    2055, 2053, 2053, 2052, 2050, 2052, 2052, 2053, 
+    2053, 2054, 2053, 2055, 2056, 2055, 2053, 2053, 
+    2054, 2054, 2056, 2054, 2054, 2056, 2054, 2053, 
+    2054, 2057, 2055, 2054, 2056, 2057, 2056, 2058, 
+    2057, 2058, 2059, 2057, 2058, 2057, 2057, 2055, 
+    2056, 2056, 2055, 2059, 2057, 2055, 2052, 2050, 
+    2053, 2054, 2052, 2053, 2055, 2056, 2055, 2054, 
+    2055, 2055, 2053, 2053, 2053, 2054, 2055, 2055, 
+    2055, 2052, 2054, 2056, 2057, 2059, 2058, 2055, 
+    2056, 2057, 2056, 2056, 2056, 2057, 2057, 2056, 
+    2057, 2056, 2057, 2055, 2056, 2057, 2057, 2058, 
+    2057, 2055, 2055, 2056, 2057, 2056, 2056, 2056, 
+    2057, 2057, 2058, 2058, 2058, 2059, 2057, 2056, 
+    2057, 2055, 2053, 2055, 2056, 2056, 2056, 2057, 
+    2059, 2058, 2058, 2058, 2057, 2060, 2058, 2058, 
+    2058, 2059, 2059, 2060, 2061, 2060, 2058, 2059, 
+    2060, 2060, 2058, 2058, 2059, 2058, 2056, 2058, 
+    2059, 2059, 2058, 2058, 2057, 2059, 2060, 2058, 
+    2058, 2058, 2057, 2059, 2058, 2056, 2061, 2061, 
+    2060, 2059, 2061, 2062, 2062, 2062, 2059, 2061, 
+    2059, 2058, 2060, 2061, 2058, 2058, 2058, 2059, 
+    2059, 2057, 2060, 2058, 2058, 2057, 2055, 2054, 
+    2056, 2056, 2059, 2056, 2056, 2059, 2059, 2057, 
+    2055, 2052, 2051, 2052, 2052, 2052, 2053, 2051, 
+    2052, 2052, 2051, 2050, 2048, 2049, 2050, 2052, 
+    2050, 2052, 2051, 2052, 2053, 2052, 2050, 2050, 
+    2052, 2051, 2051, 2053, 2052, 2051, 2053, 2055, 
+    2055, 2054, 2053, 2054, 2051, 2052, 2052, 2053, 
+    2053, 2052, 2052, 2053, 2053, 2049, 2048, 2051, 
+    2048, 2048, 2049, 2050, 2051, 2049, 2047, 2047, 
+    2049, 2050, 2051, 2049, 2048, 2045, 2045, 2046, 
+    2046, 2046, 2045, 2046, 2045, 2043, 2044, 2043, 
+    2043, 2043, 2044, 2042, 2042, 2042, 2044, 2046, 
+    2044, 2039, 2040, 2039, 2038, 2040, 2040, 2040, 
+    2040, 2039, 2039, 2039, 2037, 2036, 2036, 2037, 
+    2037, 2034, 2036, 2035, 2034, 2033, 2033, 2031, 
+    2029, 2027, 2029, 2028, 2028, 2029, 2030, 2029, 
+    2027, 2027, 2026, 2028, 2028, 2026, 2026, 2024, 
+    2025, 2028, 2027, 2025, 2026, 2027, 2023, 2018, 
+    2017, 2021, 2020, 2019, 2018, 2016, 2014, 2013, 
+    2011, 2010, 2007, 2010, 2009, 2006, 2008, 2008, 
+    2004, 2005, 2006, 2009, 2009, 2010, 2009, 2007, 
+    2007, 2008, 2007, 2006, 2008, 2009, 2008, 2008, 
+    2006, 2007, 2009, 2008, 2007, 2007, 2008, 2007, 
+    2007, 2009, 2008, 2007, 2008, 2009, 2007, 2006, 
+    2005, 2004, 2007, 2006, 2006, 2004, 2004, 2003, 
+    2001, 2001, 2002, 2004, 2003, 2003, 2001, 2001, 
+    2002, 1998, 2000, 1999, 2000, 2001, 2001, 1999, 
+    2000, 1999, 1998, 1998, 2001, 2000, 1998, 1997, 
+    1996, 1995, 1994, 1994, 1995, 1995, 1993, 1996, 
+    1996, 1994, 1992, 1992, 1993, 1991, 1990, 1989, 
+    1991, 1987, 1988, 1989, 1989, 1989, 1992, 1990, 
+    1992, 1993, 1992, 1993, 1992, 1990, 1989, 1991, 
+    1990, 1990, 1988, 1989, 1991, 1991, 1992, 1991, 
+    1994, 1993, 1991, 1991, 1991, 1991, 1989, 1990, 
+    1990, 1991, 1989, 1991, 1990, 1991, 1989, 1988, 
+    1988, 1987, 1987, 1990, 1990, 1988, 1988, 1988, 
+    1988, 1987, 1987, 1984, 1986, 1985, 1986, 1988, 
+    1988, 1987, 1987, 1988, 1987, 1988, 1989, 1988, 
+    1989, 1991, 1990, 1988, 1990, 1989, 1987, 1987, 
+    1987, 1985, 1986, 1987, 1988, 1985, 1987, 1985, 
+    1986, 1988, 1988, 1988, 1988, 1987, 1988, 1988, 
+    1988, 1988, 1989, 1987, 1988, 1989, 1989, 1991, 
+    1990, 1992, 1990, 1990, 1991, 1991, 1993, 1994, 
+    1994, 1996, 1993, 1995, 1995, 1998, 1997, 1996, 
+    1997, 1997, 1998, 1998, 1997, 1999, 1999, 2000, 
+    2001, 2003, 2004, 2004, 2006, 2005, 2003, 2008, 
+    2006, 2005, 2005, 2005, 2008, 2009, 2011, 2011, 
+    2009, 2008, 2010, 2010, 2012, 2013, 2014, 2015, 
+    2015, 2014, 2015, 2015, 2013, 2013, 2013, 2013, 
+    2014, 2015, 2018, 2018, 2016, 2016, 2018, 2019, 
+    2017, 2015, 2017, 2016, 2016, 2016, 2015, 2017, 
+    2018, 2018, 2017, 2016, 2018, 2017, 2019, 2018, 
+    2016, 2015, 2014, 2014, 2016, 2018, 2018, 2015, 
+    2016, 2016, 2017, 2017, 2016, 2015, 2015, 2015, 
+    2015, 2018, 2016, 2017, 2016, 2014, 2016, 2017, 
+    2020, 2019, 2018, 2018, 2016, 2017, 2019, 2017, 
+    2017, 2013, 2015, 2016, 2015, 2015, 2016, 2016, 
+    2017, 2015, 2013, 2016, 2016, 2017, 2018, 2017, 
+    2016, 2017, 2016, 2016, 2017, 2019, 2019, 2021, 
+    2020, 2018, 2019, 2019, 2019, 2018, 2018, 2018, 
+    2020, 2021, 2022, 2023, 2019, 2018, 2022, 2022, 
+    2022, 2022, 2023, 2024, 2021, 2022, 2023, 2024, 
+    2024, 2024, 2025, 2027, 2028, 2029, 2030, 2028, 
+    2029, 2027, 2028, 2026, 2029, 2028, 2029, 2030, 
+    2029, 2031, 2029, 2030, 2029, 2028, 2028, 2030, 
+    2029, 2029, 2031, 2029, 2029, 2030, 2029, 2030, 
+    2030, 2029, 2027, 2026, 2025, 2024, 2024, 2023, 
+    2024, 2024, 2024, 2023, 2024, 2024, 2025, 2029, 
+    2027, 2025, 2027, 2029, 2029, 2033, 2034, 2035, 
+    2034, 2036, 2038, 2035, 2035, 2036, 2037, 2038, 
+    2036, 2038, 2038, 2037, 2038, 2039, 2039, 2033, 
+    2031, 2031, 2030, 2030, 2029, 2031, 2031, 2031, 
+    2031, 2032, 2034, 2034, 2037, 2038, 2038, 2039, 
+    2038, 2037, 2040, 2039, 2041, 2040, 2039, 2039, 
+    2038, 2041, 2038, 2035, 2037, 2037, 2037, 2035, 
+    2033, 2036, 2037, 2037, 2037, 2036, 2036, 2037, 
+    2035, 2036, 2038, 2039, 2040, 2039, 2039, 2038, 
+    2039, 2041, 2042, 2042, 2044, 2042, 2042, 2041, 
+    2041, 2040, 2041, 2041, 2040, 2041, 2041, 2042, 
+    2042, 2039, 2041, 2040, 2040, 2038, 2030, 2025, 
+    2024, 2015, 1982, 1933, 1910, 1911, 1896, 1878, 
+    1888, 1889, 1882, 1894, 1915, 1938, 1950, 1959, 
+    1977, 1987, 1989, 2008, 2032, 2054, 2074, 2093, 
+    2112, 2129, 2145, 2158, 2166, 2164, 2146, 2135, 
+    2129, 2105, 2079, 2064, 2040, 2017, 1999, 1987, 
+    1980, 1972, 1963, 1962, 1963, 1965, 1968, 1974, 
+    1982, 1991, 2001, 2014, 2031, 2043, 2058, 2074, 
+    2089, 2102, 2120, 2136, 2134, 2127, 2123, 2121, 
+    2116, 2102, 2092, 2087, 2073, 2048, 2032, 2017, 
+    1998, 1986, 1973, 1960, 1956, 1949, 1945, 1951, 
+    1957, 1960, 1964, 1976, 1985, 1994, 2014, 2031, 
+    2039, 2059, 2079, 2089, 2104, 2113, 2117, 2118, 
+    2114, 2115, 2117, 2112, 2108, 2106, 2085, 2057, 
+    2049, 2039, 2026, 2019, 2006, 1988, 1975, 1961, 
+    1958, 1961, 1957, 1956, 1962, 1965, 1966, 1975, 
+    1988, 1997, 2008, 2012, 2018, 2029, 2036, 2047, 
+    2059, 2063, 2061, 2057, 2059, 2065, 2062, 2053, 
+    2048, 2042, 2029, 2024, 2023, 2023, 2023, 2020, 
+    2015, 2015, 2020, 2021, 2028, 2040, 2042, 2043, 
+    2049, 2053, 2053, 2058, 2066, 2068, 2061, 2071, 
+    2089, 2081, 2072, 2088, 2089, 2074, 2061, 2052, 
+    2049, 2041, 2027, 2014, 2011, 2007, 2010, 2025, 
+    2026, 2000, 1982, 1984, 1991, 1993, 1992, 1998, 
+    1997, 2001, 2015, 2038, 2052, 2052, 2057, 2068, 
+    2070, 2067, 2071, 2084, 2092, 2087, 2079, 2086, 
+    2089, 2076, 2091, 2106, 2076, 2063, 2079, 2070, 
+    2058, 2064, 2060, 2040, 2022, 2035, 2043, 2023, 
+    2024, 2042, 2037, 2022, 2026, 2044, 2030, 2014, 
+    2025, 2029, 2023, 2034, 2043, 2048, 2051, 2031, 
+    2030, 2043, 2037, 2039, 2046, 2041, 2033, 2026, 
+    2038, 2050, 2044, 2050, 2056, 2047, 2041, 2035, 
+    2036, 2044, 2035, 2028, 2033, 2028, 2029, 2031, 
+    2038, 2048, 2027, 2017, 2036, 2036, 2033, 2036, 
+    2039, 2039, 2031, 2034, 2049, 2050, 2045, 2033, 
+    2032, 2037, 2022, 2021, 2036, 2032, 2031, 2028, 
+    2032, 2038, 2028, 2028, 2036, 2025, 2017, 2013, 
+    2017, 2021, 2014, 2018, 2027, 2020, 2021, 2038, 
+    2042, 2032, 2021, 2026, 2036, 2026, 2014, 2021, 
+    2023, 2009, 2001, 2003, 2002, 1998, 1986, 1985, 
+    1992, 1981, 1979, 2006, 2013, 2003, 2013, 2026, 
+    2027, 2029, 2047, 2064, 2055, 2040, 2052, 2069, 
+    2069, 2063, 2053, 2052, 2046, 2028, 2007, 1999, 
+    1993, 1985, 1981, 1977, 1976, 1971, 1976, 1986, 
+    1977, 1973, 1984, 1996, 2006, 2018, 2029, 2038, 
+    2045, 2052, 2073, 2092, 2105, 2115, 2106, 2063, 
+    2025, 2028, 2033, 1998, 1963, 1962, 1957, 1928, 
+    1932, 1964, 1977, 1980, 1979, 1996, 2011, 2003, 
+    2001, 2012, 2028, 2039, 2041, 2060, 2086, 2091, 
+    2093, 2112, 2108, 2078, 2072, 2073, 2047, 2018, 
+    1989, 1972, 1968, 1939, 1916, 1928, 1925, 1906, 
+    1904, 1923, 1950, 1953, 1945, 1974, 2006, 2012, 
+    2042, 2095, 2105, 2098, 2110, 2108, 2097, 2111, 
+    2111, 2067, 2035, 2022, 1989, 1970, 1956, 1929, 
+    1915, 1889, 1861, 1867, 1873, 1875, 1893, 1898, 
+    1916, 1937, 1945, 1985, 2034, 2062, 2080, 2101, 
+    2113, 2117, 2142, 2178, 2174, 2152, 2142, 2126, 
+    2110, 2077, 2040, 2046, 2017, 1943, 1932, 1944, 
+    1911, 1882, 1892, 1928, 1922, 1899, 1949, 1987, 
+    1968, 1974, 2010, 2042, 2041, 2024, 2063, 2094, 
+    2082, 2105, 2114, 2114, 2123, 2111, 2131, 2121, 
+    2064, 2060, 2046, 2015, 2001, 1965, 1958, 1953, 
+    1938, 1957, 1955, 1979, 2008, 1983, 2027, 2079, 
+    2038, 2052, 2115, 2120, 2093, 2092, 2122, 2126, 
+    2103, 2103, 2109, 2106, 2073, 2025, 2035, 2018, 
+    1956, 1950, 1939, 1887, 1861, 1850, 1851, 1873, 
+    1863, 1870, 1912, 1936, 1960, 1994, 2022, 2060, 
+    2082, 2081, 2114, 2142, 2132, 2146, 2165, 2166, 
+    2156, 2137, 2143, 2144, 2100, 2076, 2083, 2051, 
+    2018, 2004, 1984, 1971, 1946, 1935, 1955, 1962, 
+    1973, 1991, 1990, 2012, 2041, 2054, 2094, 2122, 
+    2104, 2120, 2135, 2114, 2136, 2152, 2137, 2137, 
+    2123, 2128, 2127, 2082, 2083, 2077, 2017, 1986, 
+    1969, 1938, 1910, 1894, 1901, 1896, 1905, 1928, 
+    1921, 1958, 2016, 2007, 2012, 2046, 2031, 2038, 
+    2079, 2074, 2074, 2093, 2091, 2102, 2131, 2117, 
+    2102, 2109, 2101, 2084, 2076, 2073, 2058, 2032, 
+    2016, 2006, 2004, 2009, 1990, 1981, 2006, 1996, 
+    1982, 2010, 2035, 2023, 2021, 2040, 2045, 2035, 
+    2033, 2065, 2079, 2050, 2047, 2074, 2093, 2116, 
+    2124, 2123, 2129, 2117, 2126, 2145, 2157, 2161, 
+    2115, 2056, 2011, 1943, 1899, 1882, 1861, 1837, 
+    1795, 1781, 1812, 1825, 1842, 1895, 1920, 1929, 
+    1948, 1966, 1998, 2039, 2072, 2100, 2139, 2179, 
+    2230, 2299, 2359, 2371, 2355, 2347, 2345, 2314, 
+    2274, 2244, 2183, 2096, 2018, 1968, 1954, 1911, 
+    1860, 1868, 1870, 1850, 1854, 1874, 1916, 1951, 
+    1948, 1976, 2058, 2103, 2106, 2166, 2246, 2250, 
+    2237, 2292, 2361, 2357, 2314, 2333, 2334, 2254, 
+    2225, 2223, 2161, 2099, 2047, 2009, 2004, 1971, 
+    1936, 1926, 1887, 1852, 1883, 1911, 1896, 1942, 
+    1999, 1955, 1965, 2055, 2063, 2096, 2166, 2165, 
+    2156, 2152, 2153, 2179, 2174, 2160, 2142, 2090, 
+    2086, 2085, 2045, 2052, 2047, 2003, 1985, 1996, 
+    2024, 2019, 2009, 2035, 2003, 1957, 1988, 2028, 
+    2047, 2039, 2015, 2029, 2040, 2024, 2046, 2086, 
+    2086, 2049, 2036, 2066, 2056, 2031, 2046, 2058, 
+    2024, 2008, 2029, 2032, 2023, 2038, 2043, 2026, 
+    2034, 2052, 2059, 2071, 2082, 2069, 2042, 2059, 
+    2091, 2079, 2065, 2085, 2086, 2066, 2100, 2140, 
+    2106, 2090, 2131, 2120, 2080, 2087, 2088, 2031, 
+    1987, 1986, 1965, 1930, 1928, 1957, 1972, 1962, 
+    1969, 2023, 2075, 2066, 2085, 2149, 2139, 2113, 
+    2166, 2204, 2159, 2145, 2185, 2183, 2164, 2192, 
+    2207, 2198, 2220, 2226, 2194, 2186, 2185, 2160, 
+    2127, 2116, 2092, 2018, 1990, 2024, 2011, 1975, 
+    2015, 2069, 2056, 2051, 2112, 2149, 2131, 2136, 
+    2165, 2167, 2147, 2143, 2161, 2183, 2178, 2173, 
+    2217, 2237, 2217, 2227, 2217, 2182, 2153, 2107, 
+    2080, 2073, 2026, 1969, 1939, 1909, 1879, 1869, 
+    1888, 1899, 1891, 1904, 1935, 1966, 1995, 2030, 
+    2069, 2105, 2107, 2085, 2107, 2134, 2109, 2104, 
+    2149, 2159, 2133, 2156, 2196, 2187, 2184, 2200, 
+    2191, 2162, 2140, 2110, 2059, 1991, 1940, 1916, 
+    1882, 1870, 1864, 1831, 1829, 1866, 1889, 1900, 
+    1928, 1948, 1934, 1917, 1941, 1954, 1934, 1942, 
+    1953, 1937, 1957, 1998, 2036, 2076, 2104, 2124, 
+    2126, 2111, 2113, 2116, 2079, 2029, 1992, 1945, 
+    1883, 1881, 1918, 1894, 1878, 1928, 1936, 1936, 
+    1997, 2025, 2012, 2037, 2053, 2045, 2058, 2068, 
+    2078, 2105, 2120, 2110, 2107, 2116, 2123, 2133, 
+    2150, 2145, 2135, 2139, 2111, 2106, 2141, 2125, 
+    2099, 2107, 2100, 2097, 2109, 2113, 2126, 2133, 
+    2135, 2158, 2179, 2177, 2167, 2177, 2189, 2156, 
+    2127, 2146, 2115, 2068, 2098, 2095, 2055, 2055, 
+    2064, 2077, 2086, 2096, 2135, 2152, 2148, 2171, 
+    2176, 2162, 2172, 2168, 2159, 2144, 2126, 2121, 
+    2095, 2097, 2110, 2083, 2090, 2108, 2094, 2086, 
+    2083, 2064, 2042, 2027, 2022, 2000, 1986, 1994, 
+    1989, 1997, 2002, 2004, 2048, 2075, 2066, 2096, 
+    2114, 2096, 2102, 2113, 2081, 2049, 2051, 2061, 
+    2039, 2025, 2034, 2017, 2016, 2032, 2055, 2065, 
+    2063, 2080, 2084, 2063, 2042, 2053, 2030, 1987, 
+    2002, 1986, 1928, 1937, 1953, 1924, 1937, 1982, 
+    1985, 1973, 1983, 1989, 1971, 1963, 1975, 1953, 
+    1915, 1900, 1906, 1928, 1934, 1936, 1935, 1944, 
+    1964, 1966, 1954, 1945, 1926, 1895, 1876, 1856, 
+    1826, 1814, 1808, 1791, 1785, 1797, 1802, 1819, 
+    1840, 1849, 1875, 1900, 1890, 1886, 1908, 1923, 
+    1913, 1891, 1897, 1915, 1902, 1902, 1923, 1935, 
+    1960, 1988, 2021, 2066, 2093, 2121, 2153, 2175, 
+    2204, 2227, 2229, 2241, 2257, 2266, 2270, 2291, 
+    2314, 2318, 2338, 2362, 2337, 2306, 2310, 2309, 
+    2272, 2231, 2194, 2176, 2193, 2173, 2148, 2166, 
+    2180, 2188, 2212, 2244, 2271, 2300, 2316, 2313, 
+    2346, 2371, 2353, 2356, 2371, 2361, 2340, 2332, 
+    2340, 2330, 2322, 2329, 2336, 2339, 2331, 2337, 
+    2354, 2328, 2297, 2297, 2276, 2254, 2251, 2251, 
+    2267, 2287, 2299, 2312, 2353, 2396, 2393, 2380, 
+    2388, 2374, 2323, 2274, 2243, 2211, 2164, 2120, 
+    2103, 2099, 2073, 2055, 2068, 2065, 2049, 2043, 
+    2037, 2025, 2017, 2011, 2000, 1995, 1992, 1977, 
+    1967, 1979, 1977, 1955, 1948, 1951, 1946, 1923, 
+    1905, 1895, 1864, 1815, 1765, 1733, 1683, 1627, 
+    1593, 1563, 1542, 1544, 1551, 1563, 1590, 1613, 
+    1631, 1654, 1676, 1692, 1698, 1703, 1716, 1731, 
+    1743, 1767, 1789, 1802, 1817, 1839, 1859, 1863, 
+    1856, 1843, 1827, 1801, 1774, 1754, 1727, 1695, 
+    1677, 1654, 1635, 1635, 1625, 1610, 1618, 1634, 
+    1634, 1643, 1665, 1681, 1689, 1711, 1726, 1742, 
+    1774, 1815, 1880, 1951, 2022, 2119, 2197, 2263, 
+    2363, 2462, 2534, 2609, 2666, 2684, 2710, 2746, 
+    2766, 2776, 2767, 2757, 2763, 2765, 2770, 2760, 
+    2731, 2718, 2701, 2673, 2666, 2653, 2622, 2604, 
+    2616, 2632, 2630, 2655, 2718, 2777, 2832, 2873, 
+    2915, 2982, 3039, 3059, 3076, 3083, 3031, 2947, 
+    2886, 2790, 2659, 2541, 2422, 2298, 2187, 2089, 
+    2012, 1960, 1912, 1862, 1820, 1812, 1835, 1854, 
+    1884, 1926, 1963, 1992, 2034, 2093, 2133, 2162, 
+    2205, 2232, 2233, 2245, 2258, 2252, 2247, 2228, 
+    2184, 2136, 2088, 2040, 1994, 1963, 1932, 1898, 
+    1889, 1908, 1931, 1964, 2010, 2050, 2083, 2116, 
+    2151, 2177, 2197, 2209, 2200, 2178, 2150, 2115, 
+    2066, 2015, 1957, 1883, 1804, 1730, 1654, 1568, 
+    1487, 1408, 1326, 1253, 1202, 1167, 1145, 1151, 
+    1180, 1227, 1295, 1377, 1462, 1555, 1648, 1727, 
+    1796, 1855, 1892, 1913, 1929, 1931, 1916, 1892, 
+    1856, 1820, 1784, 1738, 1689, 1637, 1584, 1541, 
+    1504, 1470, 1443, 1431, 1421, 1422, 1454, 1496, 
+    1546, 1619, 1694, 1765, 1857, 1957, 2043, 2126, 
+    2187, 2228, 2280, 2307, 2307, 2322, 2309, 2280, 
+    2262, 2240, 2227, 2237, 2241, 2254, 2279, 2311, 
+    2352, 2392, 2436, 2473, 2505, 2567, 2638, 2668, 
+    2697, 2757, 2812, 2856, 2902, 2928, 2945, 2967, 
+    2985, 2986, 2985, 2982, 2970, 2957, 2932, 2917, 
+    2937, 2958, 2961, 2977, 3007, 3023, 3065, 3135, 
+    3154, 3137, 3091, 2996, 2881, 2762, 2607, 2430, 
+    2270, 2102, 1967, 1888, 1827, 1784, 1774, 1771, 
+    1771, 1779, 1790, 1792, 1788, 1781, 1776, 1780, 
+    1798, 1843, 1889, 1941, 2014, 2092, 2170, 2242, 
+    2299, 2344, 2381, 2408, 2411, 2392, 2350, 2297, 
+    2244, 2188, 2151, 2119, 2096, 2080, 2086, 2108, 
+    2139, 2178, 2208, 2221, 2219, 2211, 2187, 2143, 
+    2087, 2017, 1940, 1863, 1792, 1733, 1681, 1631, 
+    1583, 1530, 1478, 1435, 1393, 1353, 1316, 1282, 
+    1257, 1246, 1248, 1269, 1308, 1345, 1390, 1452, 
+    1515, 1573, 1631, 1676, 1708, 1738, 1755, 1752, 
+    1740, 1718, 1678, 1636, 1597, 1560, 1527, 1500, 
+    1476, 1460, 1463, 1478, 1487, 1506, 1540, 1576, 
+    1612, 1668, 1726, 1786, 1863, 1927, 1999, 2116, 
+    2199, 2257, 2356, 2424, 2455, 2493, 2514, 2529, 
+    2536, 2529, 2516, 2496, 2487, 2480, 2468, 2461, 
+    2452, 2449, 2466, 2501, 2527, 2557, 2594, 2636, 
+    2682, 2733, 2769, 2807, 2872, 2910, 2921, 2966, 
+    3030, 3088, 3147, 3185, 3218, 3259, 3314, 3374, 
+    3388, 3375, 3362, 3368, 3375, 3366, 3338, 3227, 
+    3059, 2936, 2802, 2623, 2447, 2265, 2083, 1951, 
+    1873, 1837, 1819, 1812, 1806, 1806, 1824, 1841, 
+    1851, 1853, 1825, 1786, 1762, 1759, 1778, 1799, 
+    1811, 1841, 1898, 1971, 2050, 2110, 2151, 2179, 
+    2195, 2203, 2203, 2192, 2176, 2146, 2138, 2149, 
+    2172, 2204, 2235, 2273, 2315, 2363, 2418, 2466, 
+    2496, 2505, 2495, 2469, 2439, 2397, 2321, 2217, 
+    2109, 2007, 1915, 1837, 1772, 1708, 1649, 1602, 
+    1566, 1526, 1470, 1398, 1324, 1250, 1186, 1129, 
+    1086, 1072, 1075, 1104, 1155, 1226, 1311, 1390, 
+    1462, 1520, 1560, 1586, 1597, 1584, 1562, 1537, 
+    1500, 1471, 1448, 1423, 1402, 1392, 1403, 1417, 
+    1436, 1462, 1497, 1531, 1571, 1613, 1654, 1693, 
+    1722, 1758, 1814, 1873, 1932, 1999, 2068, 2129, 
+    2200, 2288, 2360, 2394, 2415, 2415, 2392, 2377, 
+    2356, 2314, 2263, 2220, 2206, 2218, 2251, 2294, 
+    2337, 2363, 2393, 2438, 2495, 2547, 2566, 2559, 
+    2562, 2588, 2624, 2666, 2709, 2732, 2741, 2785, 
+    2857, 2907, 2948, 2987, 3028, 3078, 3140, 3206, 
+    3255, 3286, 3297, 3318, 3359, 3381, 3376, 3373, 
+    3353, 3261, 3141, 3049, 2919, 2735, 2553, 2360, 
+    2188, 2078, 2000, 1936, 1890, 1861, 1845, 1848, 
+    1861, 1863, 1847, 1832, 1817, 1805, 1799, 1786, 
+    1774, 1775, 1787, 1792, 1805, 1849, 1912, 1961, 
+    1996, 2042, 2087, 2111, 2118, 2115, 2101, 2083, 
+    2073, 2081, 2105, 2128, 2151, 2186, 2238, 2297, 
+    2350, 2399, 2441, 2474, 2487, 2480, 2458, 2418, 
+    2344, 2245, 2137, 2031, 1931, 1843, 1758, 1680, 
+    1623, 1574, 1514, 1466, 1423, 1358, 1288, 1243, 
+    1198, 1146, 1111, 1103, 1113, 1150, 1195, 1244, 
+    1311, 1383, 1443, 1495, 1540, 1567, 1569, 1559, 
+    1540, 1517, 1485, 1447, 1408, 1367, 1337, 1320, 
+    1311, 1321, 1340, 1356, 1389, 1459, 1526, 1582, 
+    1659, 1739, 1799, 1864, 1928, 1978, 2035, 2088, 
+    2126, 2179, 2241, 2284, 2325, 2368, 2389, 2399, 
+    2414, 2406, 2385, 2367, 2333, 2295, 2294, 2309, 
+    2314, 2334, 2371, 2399, 2441, 2502, 2553, 2596, 
+    2635, 2651, 2679, 2731, 2789, 2823, 2844, 2861, 
+    2884, 2921, 2960, 3004, 3027, 3029, 3057, 3111, 
+    3181, 3251, 3291, 3320, 3363, 3407, 3433, 3458, 
+    3475, 3419, 3287, 3161, 3060, 2925, 2788, 2641, 
+    2459, 2316, 2249, 2211, 2185, 2170, 2134, 2079, 
+    2044, 2037, 2017, 1964, 1880, 1795, 1725, 1681, 
+    1658, 1653, 1655, 1661, 1694, 1754, 1843, 1947, 
+    2015, 2054, 2081, 2102, 2127, 2137, 2118, 2081, 
+    2049, 2039, 2058, 2094, 2124, 2144, 2165, 2204, 
+    2265, 2332, 2388, 2414, 2420, 2416, 2411, 2405, 
+    2381, 2315, 2216, 2133, 2069, 2004, 1955, 1909, 
+    1847, 1795, 1757, 1709, 1660, 1607, 1516, 1410, 
+    1330, 1252, 1168, 1113, 1080, 1063, 1082, 1126, 
+    1180, 1255, 1338, 1398, 1449, 1496, 1523, 1519, 
+    1495, 1465, 1438, 1404, 1357, 1317, 1292, 1272, 
+    1262, 1270, 1293, 1314, 1343, 1394, 1447, 1498, 
+    1554, 1607, 1645, 1702, 1762, 1800, 1846, 1912, 
+    1975, 2039, 2110, 2189, 2264, 2336, 2396, 2435, 
+    2467, 2473, 2457, 2433, 2402, 2364, 2333, 2317, 
+    2315, 2329, 2356, 2391, 2441, 2503, 2557, 2593, 
+    2632, 2678, 2718, 2738, 2745, 2762, 2784, 2803, 
+    2835, 2876, 2895, 2927, 2997, 3046, 3098, 3186, 
+    3242, 3273, 3344, 3410, 3434, 3453, 3465, 3456, 
+    3444, 3411, 3316, 3201, 3100, 2979, 2842, 2716, 
+    2594, 2480, 2382, 2314, 2287, 2267, 2228, 2179, 
+    2143, 2119, 2086, 2047, 2013, 1979, 1939, 1893, 
+    1847, 1832, 1837, 1824, 1802, 1801, 1828, 1864, 
+    1900, 1931, 1955, 1974, 1982, 1989, 1997, 2002, 
+    1990, 1983, 2001, 2040, 2081, 2108, 2145, 2201, 
+    2261, 2317, 2368, 2413, 2445, 2458, 2460, 2458, 
+    2449, 2422, 2357, 2270, 2201, 2148, 2088, 2020, 
+    1948, 1869, 1802, 1737, 1670, 1617, 1554, 1464, 
+    1386, 1338, 1296, 1250, 1212, 1189, 1191, 1213, 
+    1236, 1271, 1320, 1364, 1392, 1423, 1454, 1468, 
+    1455, 1429, 1400, 1373, 1340, 1305, 1263, 1234, 
+    1211, 1192, 1197, 1219, 1242, 1268, 1303, 1353, 
+    1421, 1491, 1555, 1618, 1679, 1757, 1830, 1879, 
+    1944, 2019, 2070, 2119, 2181, 2235, 2279, 2319, 
+    2346, 2361, 2380, 2383, 2365, 2357, 2355, 2347, 
+    2335, 2344, 2368, 2396, 2431, 2472, 2520, 2574, 
+    2619, 2666, 2725, 2772, 2805, 2838, 2875, 2914, 
+    2949, 2979, 3001, 3024, 3055, 3082, 3106, 3134, 
+    3177, 3221, 3258, 3312, 3367, 3408, 3456, 3495, 
+    3502, 3481, 3419, 3321, 3218, 3105, 2971, 2827, 
+    2692, 2583, 2498, 2440, 2404, 2379, 2350, 2316, 
+    2286, 2255, 2220, 2176, 2115, 2057, 1997, 1929, 
+    1867, 1819, 1781, 1752, 1726, 1714, 1726, 1754, 
+    1793, 1837, 1879, 1922, 1953, 1968, 1976, 1982, 
+    1979, 1967, 1966, 1976, 1985, 1999, 2030, 2074, 
+    2130, 2188, 2247, 2309, 2355, 2385, 2403, 2412, 
+    2403, 2378, 2338, 2284, 2218, 2152, 2109, 2076, 
+    2025, 1959, 1898, 1840, 1775, 1715, 1658, 1580, 
+    1500, 1425, 1356, 1307, 1269, 1221, 1177, 1165, 
+    1162, 1160, 1184, 1220, 1250, 1276, 1309, 1337, 
+    1359, 1372, 1375, 1364, 1345, 1319, 1288, 1252, 
+    1217, 1188, 1163, 1152, 1157, 1178, 1204, 1244, 
+    1288, 1344, 1407, 1466, 1524, 1589, 1649, 1710, 
+    1771, 1834, 1901, 1960, 2014, 2073, 2125, 2176, 
+    2223, 2261, 2295, 2329, 2348, 2362, 2376, 2384, 
+    2391, 2403, 2417, 2418, 2421, 2439, 2465, 2501, 
+    2540, 2581, 2624, 2676, 2722, 2765, 2824, 2870, 
+    2891, 2916, 2943, 2961, 2993, 3028, 3063, 3097, 
+    3136, 3183, 3238, 3300, 3345, 3372, 3400, 3428, 
+    3440, 3420, 3379, 3313, 3222, 3138, 3059, 2955, 
+    2843, 2738, 2634, 2561, 2514, 2465, 2418, 2379, 
+    2338, 2299, 2283, 2268, 2230, 2181, 2127, 2056, 
+    1974, 1906, 1857, 1802, 1741, 1704, 1690, 1699, 
+    1727, 1761, 1793, 1825, 1850, 1868, 1881, 1891, 
+    1887, 1875, 1873, 1881, 1885, 1895, 1920, 1950, 
+    1988, 2035, 2085, 2133, 2175, 2214, 2248, 2264, 
+    2275, 2286, 2280, 2258, 2233, 2198, 2148, 2109, 
+    2083, 2027, 1964, 1908, 1840, 1773, 1732, 1686, 
+    1620, 1566, 1512, 1443, 1392, 1359, 1301, 1247, 
+    1218, 1187, 1163, 1171, 1189, 1205, 1224, 1252, 
+    1279, 1300, 1323, 1338, 1335, 1319, 1303, 1288, 
+    1265, 1238, 1213, 1189, 1181, 1186, 1187, 1195, 
+    1223, 1250, 1283, 1334, 1388, 1436, 1500, 1563, 
+    1619, 1679, 1740, 1802, 1859, 1914, 1962, 2008, 
+    2057, 2107, 2156, 2209, 2258, 2293, 2321, 2359, 
+    2388, 2407, 2427, 2442, 2446, 2445, 2452, 2471, 
+    2494, 2516, 2543, 2579, 2620, 2666, 2717, 2769, 
+    2816, 2854, 2889, 2933, 2971, 3001, 3042, 3079, 
+    3106, 3147, 3185, 3217, 3254, 3285, 3299, 3323, 
+    3344, 3334, 3313, 3300, 3253, 3184, 3133, 3067, 
+    2976, 2893, 2808, 2725, 2666, 2615, 2555, 2509, 
+    2470, 2425, 2393, 2374, 2345, 2315, 2282, 2231, 
+    2180, 2124, 2060, 2004, 1955, 1900, 1851, 1821, 
+    1799, 1792, 1804, 1815, 1827, 1841, 1848, 1860, 
+    1876, 1881, 1882, 1888, 1893, 1893, 1898, 1914, 
+    1932, 1951, 1980, 2011, 2047, 2082, 2116, 2147, 
+    2170, 2184, 2199, 2208, 2201, 2187, 2157, 2122, 
+    2101, 2066, 2014, 1960, 1903, 1839, 1794, 1760, 
+    1711, 1669, 1632, 1587, 1555, 1537, 1503, 1467, 
+    1444, 1412, 1372, 1358, 1353, 1341, 1344, 1350, 
+    1354, 1363, 1384, 1393, 1401, 1402, 1397, 1393, 
+    1383, 1358, 1334, 1310, 1288, 1273, 1266, 1266, 
+    1268, 1275, 1299, 1334, 1370, 1415, 1467, 1515, 
+    1564, 1620, 1676, 1722, 1775, 1825, 1861, 1903, 
+    1945, 1981, 2024, 2073, 2109, 2143, 2190, 2241, 
+    2276, 2320, 2372, 2402, 2426, 2457, 2481, 2498, 
+    2521, 2544, 2563, 2584, 2603, 2629, 2662, 2696, 
+    2729, 2758, 2785, 2808, 2839, 2876, 2907, 2936, 
+    2972, 3010, 3045, 3083, 3121, 3150, 3175, 3200, 
+    3217, 3234, 3245, 3238, 3220, 3201, 3178, 3145, 
+    3107, 3061, 3001, 2936, 2877, 2827, 2774, 2718, 
+    2665, 2610, 2561, 2522, 2484, 2447, 2410, 2366, 
+    2317, 2266, 2210, 2155, 2110, 2059, 2010, 1968, 
+    1935, 1910, 1905, 1903, 1896, 1898, 1906, 1903, 
+    1903, 1912, 1912, 1910, 1919, 1926, 1926, 1927, 
+    1937, 1948, 1952, 1965, 1980, 1986, 2000, 2015, 
+    2021, 2031, 2046, 2058, 2061, 2059, 2048, 2036, 
+    2025, 2005, 1976, 1943, 1905, 1860, 1823, 1798, 
+    1772, 1745, 1719, 1685, 1659, 1644, 1621, 1597, 
+    1580, 1550, 1511, 1484, 1466, 1451, 1450, 1453, 
+    1443, 1434, 1441, 1454, 1460, 1458, 1453, 1445, 
+    1434, 1423, 1406, 1386, 1371, 1360, 1343, 1334, 
+    1335, 1333, 1336, 1350, 1370, 1394, 1429, 1471, 
+    1509, 1546, 1585, 1641, 1696, 1740, 1781, 1824, 
+    1865, 1905, 1950, 1988, 2018, 2056, 2093, 2130, 
+    2176, 2220, 2252, 2289, 2337, 2370, 2389, 2427, 
+    2464, 2479, 2504, 2542, 2566, 2591, 2627, 2654, 
+    2677, 2712, 2753, 2788, 2812, 2841, 2886, 2932, 
+    2976, 3012, 3042, 3078, 3118, 3143, 3160, 3180, 
+    3197, 3204, 3206, 3206, 3202, 3195, 3183, 3166, 
+    3140, 3105, 3074, 3045, 3003, 2952, 2903, 2859, 
+    2823, 2780, 2725, 2682, 2646, 2608, 2573, 2532, 
+    2486, 2443, 2399, 2342, 2287, 2244, 2199, 2152, 
+    2109, 2065, 2033, 2022, 2002, 1975, 1960, 1952, 
+    1938, 1935, 1934, 1928, 1921, 1922, 1924, 1924, 
+    1933, 1944, 1947, 1958, 1973, 1981, 1985, 1992, 
+    2002, 2004, 2004, 2013, 2020, 2019, 2009, 1999, 
+    1993, 1984, 1969, 1945, 1904, 1864, 1831, 1797, 
+    1768, 1741, 1709, 1678, 1655, 1641, 1628, 1613, 
+    1605, 1595, 1572, 1557, 1554, 1547, 1537, 1535, 
+    1531, 1522, 1520, 1525, 1520, 1512, 1509, 1497, 
+    1480, 1465, 1446, 1427, 1406, 1392, 1378, 1364, 
+    1360, 1354, 1347, 1355, 1374, 1390, 1413, 1439, 
+    1471, 1510, 1558, 1606, 1657, 1707, 1748, 1791, 
+    1834, 1869, 1906, 1940, 1965, 1998, 2029, 2063, 
+    2099, 2138, 2175, 2211, 2250, 2283, 2310, 2340, 
+    2370, 2396, 2422, 2455, 2477, 2504, 2533, 2565, 
+    2596, 2632, 2667, 2695, 2730, 2768, 2806, 2845, 
+    2889, 2920, 2951, 2991, 3035, 3069, 3094, 3113, 
+    3129, 3141, 3149, 3150, 3145, 3139, 3127, 3111, 
+    3102, 3091, 3065, 3039, 3017, 2982, 2948, 2918, 
+    2886, 2846, 2807, 2770, 2729, 2696, 2669, 2632, 
+    2587, 2544, 2495, 2441, 2389, 2344, 2289, 2232, 
+    2189, 2143, 2101, 2072, 2048, 2023, 2002, 1987, 
+    1970, 1954, 1949, 1935, 1922, 1923, 1914, 1906, 
+    1911, 1919, 1927, 1936, 1946, 1950, 1955, 1959, 
+    1959, 1950, 1942, 1930, 1922, 1916, 1905, 1889, 
+    1879, 1871, 1854, 1836, 1807, 1772, 1738, 1707, 
+    1679, 1653, 1632, 1608, 1582, 1569, 1559, 1542, 
+    1534, 1531, 1515, 1497, 1492, 1487, 1482, 1485, 
+    1487, 1481, 1478, 1482, 1484, 1479, 1473, 1458, 
+    1437, 1416, 1395, 1372, 1348, 1332, 1317, 1303, 
+    1295, 1293, 1294, 1301, 1313, 1328, 1347, 1367, 
+    1390, 1421, 1458, 1496, 1534, 1576, 1621, 1660, 
+    1696, 1734, 1765, 1797, 1829, 1853, 1877, 1910, 
+    1939, 1970, 2010, 2049, 2077, 2111, 2144, 2166, 
+    2196, 2231, 2253, 2281, 2309, 2331, 2361, 2403, 
+    2436, 2469, 2507, 2536, 2567, 2600, 2636, 2673, 
+    2707, 2743, 2776, 2812, 2856, 2893, 2921, 2950, 
+    2976, 2994, 3003, 3010, 3014, 3014, 3015, 3013, 
+    3005, 2999, 2989, 2978, 2966, 2953, 2939, 2915, 
+    2891, 2861, 2835, 2809, 2781, 2758, 2734, 2705, 
+    2666, 2628, 2588, 2532, 2478, 2426, 2371, 2312, 
+    2257, 2206, 2159, 2124, 2094, 2064, 2034, 2016, 
+    1990, 1973, 1967, 1947, 1929, 1921, 1907, 1890, 
+    1888, 1892, 1893, 1897, 1902, 1908, 1907, 1908, 
+    1906, 1893, 1879, 1864, 1849, 1830, 1814, 1803, 
+    1789, 1775, 1765, 1748, 1722, 1693, 1662, 1629, 
+    1597, 1568, 1539, 1512, 1496, 1481, 1467, 1458, 
+    1452, 1437, 1425, 1412, 1399, 1390, 1389, 1391, 
+    1394, 1392, 1394, 1404, 1406, 1410, 1411, 1403, 
+    1383, 1364, 1345, 1318, 1294, 1276, 1257, 1238, 
+    1231, 1226, 1222, 1227, 1234, 1240, 1255, 1274, 
+    1291, 1314, 1346, 1384, 1420, 1460, 1504, 1544, 
+    1583, 1622, 1651, 1679, 1707, 1733, 1750, 1773, 
+    1802, 1829, 1857, 1892, 1927, 1955, 1985, 2014, 
+    2040, 2061, 2090, 2114, 2132, 2160, 2194, 2226, 
+    2265, 2306, 2346, 2383, 2419, 2459, 2497, 2534, 
+    2571, 2603, 2633, 2671, 2709, 2742, 2778, 2811, 
+    2836, 2864, 2886, 2902, 2915, 2925, 2924, 2932, 
+    2938, 2943, 2943, 2944, 2945, 2942, 2941, 2935, 
+    2923, 2914, 2897, 2878, 2861, 2840, 2818, 2800, 
+    2779, 2755, 2726, 2693, 2651, 2602, 2556, 2504, 
+    2453, 2399, 2341, 2291, 2243, 2208, 2172, 2138, 
+    2111, 2082, 2053, 2035, 2022, 2002, 1987, 1977, 
+    1958, 1944, 1939, 1934, 1931, 1932, 1934, 1930, 
+    1928, 1925, 1916, 1898, 1883, 1861, 1839, 1824, 
+    1810, 1800, 1787, 1775, 1762, 1741, 1714, 1682, 
+    1650, 1616, 1578, 1545, 1514, 1482, 1464, 1449, 
+    1430, 1420, 1414, 1396, 1380, 1373, 1367, 1355, 
+    1352, 1349, 1345, 1346, 1352, 1360, 1362, 1365, 
+    1366, 1355, 1341, 1332, 1317, 1294, 1277, 1255, 
+    1233, 1221, 1215, 1209, 1208, 1212, 1212, 1219, 
+    1233, 1250, 1270, 1293, 1319, 1353, 1388, 1425, 
+    1469, 1515, 1552, 1580, 1612, 1636, 1655, 1678, 
+    1698, 1712, 1734, 1769, 1789, 1813, 1848, 1878, 
+    1901, 1929, 1952, 1969, 1991, 2013, 2035, 2059, 
+    2092, 2123, 2156, 2192, 2233, 2275, 2314, 2360, 
+    2404, 2440, 2479, 2518, 2555, 2595, 2632, 2669, 
+    2705, 2739, 2766, 2794, 2818, 2836, 2861, 2881, 
+    2889, 2901, 2915, 2929, 2946, 2966, 2973, 2975, 
+    2988, 2990, 2982, 2985, 2976, 2953, 2937, 2926, 
+    2910, 2889, 2876, 2858, 2831, 2800, 2767, 2722, 
+    2670, 2624, 2575, 2517, 2462, 2414, 2361, 2314, 
+    2276, 2243, 2208, 2180, 2156, 2125, 2099, 2085, 
+    2068, 2051, 2041, 2029, 2015, 2008, 2007, 2011, 
+    2013, 2010, 2007, 1996, 1985, 1972, 1958, 1933, 
+    1908, 1892, 1873, 1855, 1845, 1836, 1821, 1807, 
+    1790, 1762, 1733, 1706, 1674, 1638, 1604, 1576, 
+    1547, 1521, 1503, 1483, 1462, 1449, 1431, 1410, 
+    1396, 1383, 1366, 1360, 1355, 1346, 1343, 1343, 
+    1343, 1343, 1342, 1340, 1334, 1323, 1311, 1297, 
+    1283, 1268, 1251, 1236, 1220, 1209, 1204, 1200, 
+    1201, 1202, 1208, 1215, 1227, 1244, 1262, 1287, 
+    1318, 1352, 1385, 1424, 1459, 1490, 1522, 1554, 
+    1578, 1598, 1620, 1637, 1656, 1680, 1711, 1740, 
+    1764, 1797, 1826, 1854, 1884, 1916, 1945, 1967, 
+    1994, 2019, 2044, 2074, 2108, 2145, 2178, 2217, 
+    2253, 2294, 2334, 2374, 2419, 2463, 2506, 2552, 
+    2594, 2640, 2681, 2717, 2756, 2793, 2820, 2849, 
+    2878, 2903, 2924, 2948, 2968, 2982, 3009, 3030, 
+    3045, 3064, 3082, 3095, 3100, 3105, 3103, 3093, 
+    3089, 3073, 3057, 3045, 3028, 3009, 2985, 2956, 
+    2922, 2881, 2833, 2776, 2716, 2661, 2599, 2537, 
+    2483, 2428, 2378, 2336, 2295, 2260, 2229, 2206, 
+    2178, 2153, 2136, 2116, 2102, 2092, 2084, 2069, 
+    2061, 2058, 2057, 2055, 2056, 2054, 2046, 2036, 
+    2025, 2008, 1990, 1969, 1946, 1923, 1903, 1888, 
+    1873, 1860, 1852, 1833, 1811, 1788, 1760, 1735, 
+    1711, 1686, 1662, 1634, 1608, 1593, 1569, 1541, 
+    1518, 1491, 1454, 1426, 1406, 1382, 1369, 1364, 
+    1347, 1326, 1324, 1318, 1307, 1298, 1290, 1277, 
+    1261, 1252, 1242, 1229, 1219, 1211, 1195, 1178, 
+    1171, 1163, 1149, 1145, 1145, 1137, 1139, 1149, 
+    1159, 1173, 1191, 1215, 1239, 1265, 1293, 1321, 
+    1353, 1382, 1414, 1446, 1469, 1497, 1524, 1551, 
+    1583, 1614, 1642, 1665, 1697, 1727, 1753, 1787, 
+    1818, 1840, 1868, 1896, 1921, 1948, 1980, 2009, 
+    2040, 2077, 2113, 2149, 2187, 2226, 2267, 2309, 
+    2357, 2405, 2452, 2501, 2549, 2596, 2644, 2685, 
+    2722, 2759, 2797, 2831, 2863, 2900, 2934, 2958, 
+    2993, 3021, 3042, 3068, 3094, 3116, 3134, 3152, 
+    3165, 3173, 3181, 3180, 3173, 3164, 3154, 3139, 
+    3123, 3103, 3075, 3049, 3014, 2979, 2933, 2869, 
+    2798, 2732, 2669, 2597, 2532, 2466, 2396, 2341, 
+    2299, 2259, 2228, 2201, 2176, 2148, 2125, 2107, 
+    2094, 2082, 2076, 2066, 2044, 2034, 2033, 2031, 
+    2033, 2038, 2032, 2023, 2020, 2010, 1995, 1976, 
+    1956, 1932, 1907, 1887, 1870, 1854, 1843, 1834, 
+    1811, 1788, 1770, 1748, 1728, 1712, 1700, 1684, 
+    1667, 1652, 1636, 1615, 1592, 1569, 1534, 1489, 
+    1447, 1408, 1380, 1354, 1328, 1301, 1280, 1260, 
+    1242, 1231, 1219, 1201, 1179, 1159, 1137, 1121, 
+    1108, 1095, 1087, 1077, 1069, 1064, 1058, 1055, 
+    1057, 1054, 1051, 1059, 1064, 1070, 1081, 1096, 
+    1113, 1134, 1158, 1179, 1200, 1218, 1240, 1267, 
+    1293, 1322, 1349, 1373, 1409, 1452, 1491, 1529, 
+    1570, 1605, 1632, 1663, 1693, 1718, 1749, 1780, 
+    1799, 1822, 1858, 1896, 1928, 1963, 2001, 2033, 
+    2066, 2107, 2141, 2177, 2223, 2264, 2301, 2351, 
+    2400, 2449, 2498, 2546, 2593, 2636, 2683, 2730, 
+    2769, 2810, 2858, 2901, 2939, 2986, 3032, 3065, 
+    3101, 3137, 3164, 3193, 3219, 3236, 3257, 3273, 
+    3275, 3276, 3281, 3273, 3258, 3247, 3225, 3201, 
+    3173, 3143, 3108, 3061, 3009, 2947, 2872, 2788, 
+    2704, 2627, 2545, 2457, 2380, 2310, 2243, 2191, 
+    2156, 2123, 2094, 2072, 2046, 2025, 2014, 2002, 
+    1984, 1972, 1967, 1955, 1950, 1958, 1961, 1965, 
+    1970, 1975, 1972, 1964, 1960, 1943, 1920, 1898, 
+    1872, 1844, 1816, 1799, 1781, 1767, 1757, 1748, 
+    1733, 1716, 1706, 1700, 1701, 1704, 1706, 1710, 
+    1710, 1702, 1692, 1675, 1648, 1616, 1578, 1536, 
+    1492, 1453, 1411, 1382, 1356, 1321, 1289, 1266, 
+    1241, 1208, 1179, 1152, 1115, 1085, 1062, 1038, 
+    1020, 1006, 997, 994, 988, 987, 986, 993, 
+    998, 1002, 1012, 1021, 1036, 1049, 1060, 1076, 
+    1091, 1109, 1128, 1149, 1166, 1179, 1193, 1215, 
+    1245, 1276, 1307, 1339, 1374, 1413, 1456, 1500, 
+    1540, 1574, 1602, 1635, 1670, 1709, 1747, 1783, 
+    1820, 1860, 1899, 1941, 1988, 2035, 2076, 2112, 
+    2146, 2181, 2215, 2252, 2287, 2320, 2360, 2401, 
+    2450, 2498, 2546, 2597, 2649, 2697, 2747, 2800, 
+    2851, 2901, 2953, 3010, 3057, 3100, 3144, 3182, 
+    3221, 3265, 3301, 3327, 3359, 3385, 3406, 3427, 
+    3442, 3454, 3457, 3447, 3431, 3412, 3385, 3351, 
+    3320, 3284, 3234, 3187, 3136, 3076, 3012, 2935, 
+    2845, 2749, 2654, 2562, 2465, 2374, 2289, 2216, 
+    2153, 2100, 2059, 2020, 1990, 1968, 1946, 1926, 
+    1911, 1899, 1891, 1889, 1887, 1887, 1894, 1902, 
+    1915, 1926, 1932, 1937, 1932, 1922, 1911, 1893, 
+    1876, 1861, 1845, 1827, 1808, 1794, 1784, 1779, 
+    1776, 1762, 1745, 1734, 1725, 1730, 1743, 1757, 
+    1771, 1783, 1787, 1790, 1792, 1781, 1756, 1720, 
+    1674, 1624, 1580, 1541, 1498, 1459, 1422, 1384, 
+    1352, 1326, 1281, 1230, 1189, 1144, 1086, 1040, 
+    1005, 966, 939, 923, 915, 908, 911, 917, 
+    919, 922, 931, 944, 948, 952, 961, 972, 
+    981, 1004, 1031, 1046, 1060, 1074, 1088, 1104, 
+    1126, 1151, 1174, 1203, 1239, 1279, 1322, 1376, 
+    1421, 1457, 1494, 1528, 1559, 1586, 1625, 1665, 
+    1702, 1747, 1794, 1851, 1909, 1968, 2021, 2064, 
+    2103, 2136, 2169, 2198, 2223, 2252, 2281, 2316, 
+    2356, 2398, 2446, 2496, 2543, 2593, 2645, 2697, 
+    2748, 2803, 2862, 2919, 2979, 3036, 3090, 3140, 
+    3185, 3221, 3251, 3278, 3300, 3323, 3348, 3375, 
+    3398, 3422, 3441, 3464, 3489, 3504, 3505, 3499, 
+    3489, 3467, 3440, 3414, 3375, 3335, 3309, 3270, 
+    3221, 3180, 3122, 3038, 2947, 2844, 2737, 2623, 
+    2503, 2388, 2277, 2176, 2098, 2039, 1989, 1943, 
+    1901, 1864, 1828, 1809, 1791, 1762, 1748, 1749, 
+    1745, 1753, 1780, 1804, 1828, 1854, 1876, 1889, 
+    1902, 1911, 1910, 1896, 1888, 1889, 1886, 1879, 
+    1876, 1875, 1866, 1859, 1857, 1841, 1817, 1795, 
+    1771, 1753, 1754, 1763, 1769, 1785, 1813, 1843, 
+    1868, 1885, 1883, 1853, 1819, 1786, 1750, 1709, 
+    1667, 1624, 1580, 1548, 1525, 1496, 1462, 1419, 
+    1361, 1298, 1228, 1154, 1083, 1016, 951, 889, 
+    843, 808, 789, 778, 772, 776, 785, 797, 
+    812, 830, 841, 858, 880, 893, 912, 938, 
+    960, 985, 1021, 1052, 1081, 1115, 1145, 1182, 
+    1227, 1268, 1313, 1356, 1390, 1424, 1460, 1487, 
+    1507, 1530, 1547, 1561, 1586, 1620, 1659, 1709, 
+    1764, 1823, 1885, 1945, 1994, 2039, 2079, 2113, 
+    2138, 2162, 2190, 2211, 2237, 2270, 2316, 2368, 
+    2419, 2473, 2530, 2584, 2638, 2705, 2766, 2821, 
+    2877, 2941, 2995, 3046, 3103, 3157, 3202, 3240, 
+    3280, 3322, 3364, 3401, 3433, 3476, 3516, 3548, 
+    3588, 3630, 3656, 3656, 3652, 3650, 3629, 3599, 
+    3563, 3524, 3479, 3434, 3398, 3367, 3334, 3294, 
+    3252, 3205, 3128, 3029, 2911, 2771, 2633, 2492, 
+    2352, 2209, 2076, 1972, 1887, 1824, 1787, 1752, 
+    1719, 1689, 1660, 1634, 1620, 1605, 1591, 1586, 
+    1588, 1592, 1610, 1642, 1675, 1703, 1733, 1762, 
+    1787, 1819, 1843, 1856, 1865, 1872, 1877, 1878, 
+    1867, 1854, 1840, 1821, 1804, 1786, 1765, 1743, 
+    1726, 1723, 1741, 1769, 1793, 1828, 1861, 1902, 
+    1944, 1976, 1994, 2000, 1988, 1959, 1929, 1908, 
+    1883, 1843, 1800, 1754, 1711, 1658, 1596, 1535, 
+    1455, 1354, 1259, 1171, 1075, 977, 877, 780, 
+    701, 638, 580, 545, 531, 516, 513, 548, 
+    590, 623, 669, 724, 767, 808, 859, 898, 
+    925, 951, 978, 1007, 1033, 1070, 1111, 1141, 
+    1169, 1209, 1251, 1287, 1318, 1342, 1356, 1376, 
+    1397, 1415, 1431, 1450, 1475, 1504, 1544, 1595, 
+    1645, 1687, 1739, 1799, 1853, 1903, 1953, 1994, 
+    2023, 2052, 2082, 2102, 2123, 2147, 2168, 2184, 
+    2213, 2256, 2294, 2331, 2382, 2434, 2480, 2536, 
+    2592, 2645, 2699, 2760, 2820, 2878, 2951, 3015, 
+    3072, 3132, 3193, 3263, 3327, 3380, 3423, 3474, 
+    3526, 3562, 3598, 3642, 3672, 3691, 3711, 3728, 
+    3735, 3723, 3700, 3678, 3657, 3608, 3548, 3499, 
+    3457, 3382, 3313, 3273, 3208, 3142, 3075, 2959, 
+    2817, 2667, 2519, 2370, 2221, 2069, 1919, 1806, 
+    1717, 1645, 1604, 1570, 1528, 1489, 1456, 1427, 
+    1402, 1369, 1344, 1348, 1363, 1373, 1404, 1457, 
+    1507, 1553, 1606, 1660, 1709, 1755, 1788, 1814, 
+    1831, 1842, 1851, 1841, 1823, 1812, 1799, 1787, 
+    1788, 1790, 1774, 1756, 1750, 1751, 1765, 1798, 
+    1819, 1836, 1865, 1907, 1947, 1986, 2017, 2027, 
+    2025, 2025, 2033, 2050, 2070, 2073, 2068, 2054, 
+    2022, 1971, 1907, 1814, 1695, 1575, 1452, 1322, 
+    1207, 1104, 999, 907, 833, 756, 684, 625, 
+    552, 482, 446, 421, 396, 394, 417, 445, 
+    486, 556, 636, 709, 784, 863, 927, 986, 
+    1044, 1096, 1138, 1182, 1228, 1277, 1328, 1379, 
+    1423, 1452, 1474, 1484, 1485, 1486, 1495, 1510, 
+    1525, 1544, 1574, 1609, 1638, 1671, 1709, 1738, 
+    1758, 1777, 1800, 1826, 1856, 1892, 1932, 1975, 
+    2014, 2050, 2083, 2116, 2140, 2148, 2151, 2157, 
+    2161, 2170, 2187, 2210, 2240, 2284, 2344, 2409, 
+    2477, 2550, 2624, 2702, 2778, 2854, 2938, 3026, 
+    3115, 3202, 3281, 3353, 3429, 3507, 3561, 3601, 
+    3650, 3683, 3706, 3747, 3797, 3830, 3873, 3924, 
+    3949, 3972, 3978, 3955, 3922, 3887, 3821, 3732, 
+    3655, 3579, 3479, 3401, 3352, 3285, 3209, 3141, 
+    3040, 2876, 2688, 2517, 2355, 2168, 1979, 1819, 
+    1679, 1564, 1495, 1459, 1424, 1386, 1344, 1301, 
+    1274, 1256, 1223, 1201, 1210, 1236, 1261, 1312, 
+    1384, 1449, 1511, 1577, 1641, 1695, 1750, 1801, 
+    1834, 1853, 1880, 1912, 1919, 1911, 1910, 1906, 
+    1897, 1903, 1903, 1884, 1856, 1834, 1824, 1842, 
+    1887, 1927, 1954, 1992, 2046, 2096, 2142, 2177, 
+    2194, 2185, 2167, 2166, 2186, 2213, 2246, 2277, 
+    2306, 2334, 2333, 2288, 2207, 2101, 1966, 1800, 
+    1634, 1475, 1312, 1164, 1042, 941, 857, 784, 
+    716, 654, 599, 541, 481, 435, 405, 384, 
+    379, 399, 446, 520, 616, 713, 806, 898, 
+    986, 1072, 1150, 1217, 1280, 1331, 1368, 1404, 
+    1442, 1478, 1507, 1520, 1518, 1506, 1489, 1474, 
+    1482, 1505, 1526, 1549, 1577, 1614, 1655, 1687, 
+    1707, 1719, 1719, 1711, 1715, 1727, 1744, 1767, 
+    1803, 1848, 1899, 1953, 1994, 2024, 2043, 2045, 
+    2035, 2020, 2002, 1986, 1975, 1971, 1987, 2018, 
+    2059, 2111, 2166, 2228, 2299, 2377, 2464, 2553, 
+    2637, 2724, 2814, 2914, 3028, 3140, 3240, 3332, 
+    3412, 3474, 3542, 3616, 3671, 3720, 3764, 3805, 
+    3855, 3908, 3953, 3986, 4025, 4042, 4044, 4048, 
+    4038, 3998, 3961, 3927, 3885, 3828, 3774, 3712, 
+    3639, 3573, 3491, 3406, 3320, 3221, 3102, 2943, 
+    2742, 2530, 2346, 2173, 1982, 1799, 1648, 1520, 
+    1422, 1366, 1330, 1297, 1248, 1199, 1170, 1160, 
+    1130, 1098, 1100, 1128, 1156, 1198, 1264, 1342, 
+    1427, 1518, 1601, 1680, 1763, 1838, 1889, 1930, 
+    1965, 1996, 2010, 2003, 1990, 1980, 1974, 1977, 
+    1988, 1997, 1998, 1992, 1984, 2002, 2047, 2085, 
+    2102, 2124, 2152, 2181, 2216, 2246, 2262, 2268, 
+    2263, 2275, 2302, 2335, 2376, 2413, 2447, 2483, 
+    2511, 2513, 2494, 2446, 2364, 2246, 2118, 1985, 
+    1833, 1679, 1530, 1383, 1250, 1135, 1038, 947, 
+    858, 776, 700, 640, 579, 518, 464, 420, 
+    396, 395, 421, 465, 520, 577, 648, 746, 
+    848, 938, 1029, 1115, 1188, 1256, 1322, 1372, 
+    1413, 1441, 1448, 1443, 1450, 1461, 1469, 1480, 
+    1500, 1528, 1562, 1606, 1649, 1675, 1692, 1699, 
+    1687, 1682, 1680, 1671, 1665, 1675, 1693, 1724, 
+    1764, 1809, 1853, 1888, 1915, 1933, 1945, 1947, 
+    1929, 1901, 1866, 1838, 1823, 1814, 1817, 1829, 
+    1846, 1875, 1915, 1969, 2030, 2093, 2161, 2232, 
+    2308, 2389, 2471, 2554, 2644, 2731, 2823, 2918, 
+    3032, 3147, 3228, 3317, 3411, 3490, 3582, 3674, 
+    3736, 3781, 3821, 3846, 3882, 3932, 3947, 3947, 
+    3976, 4000, 4013, 4047, 4080, 4083, 4083, 4079, 
+    4052, 4025, 3978, 3903, 3825, 3745, 3646, 3543, 
+    3457, 3355, 3229, 3081, 2872, 2637, 2440, 2233, 
+    2004, 1804, 1624, 1462, 1332, 1234, 1156, 1091, 
+    1036, 971, 913, 884, 848, 800, 797, 850, 
+    917, 990, 1081, 1192, 1306, 1426, 1536, 1625, 
+    1715, 1785, 1832, 1867, 1904, 1953, 1978, 1982, 
+    1993, 2014, 2031, 2047, 2067, 2072, 2064, 2041, 
+    2013, 2008, 2027, 2043, 2045, 2054, 2088, 2131, 
+    2168, 2198, 2230, 2248, 2259, 2287, 2329, 2375, 
+    2421, 2470, 2517, 2569, 2613, 2619, 2593, 2547, 
+    2484, 2404, 2326, 2256, 2172, 2065, 1941, 1812, 
+    1679, 1549, 1416, 1271, 1127, 994, 860, 747, 
+    663, 577, 491, 424, 376, 356, 342, 336, 
+    334, 347, 378, 429, 509, 594, 677, 766, 
+    867, 969, 1064, 1145, 1220, 1288, 1342, 1389, 
+    1428, 1461, 1481, 1503, 1528, 1554, 1589, 1622, 
+    1627, 1615, 1602, 1584, 1577, 1569, 1559, 1560, 
+    1566, 1571, 1585, 1614, 1640, 1660, 1670, 1685, 
+    1706, 1720, 1723, 1727, 1731, 1736, 1740, 1743, 
+    1747, 1745, 1731, 1709, 1690, 1678, 1671, 1667, 
+    1676, 1700, 1740, 1787, 1841, 1903, 1965, 2033, 
+    2109, 2189, 2267, 2352, 2441, 2527, 2626, 2743, 
+    2857, 2965, 3071, 3173, 3259, 3334, 3404, 3461, 
+    3530, 3603, 3653, 3704, 3752, 3795, 3834, 3883, 
+    3935, 3970, 4002, 4038, 4052, 4058, 4075, 4095, 
+    4094, 4084, 4076, 4046, 4017, 3989, 3933, 3855, 
+    3773, 3674, 3558, 3452, 3351, 3209, 3023, 2797, 
+    2555, 2342, 2122, 1878, 1665, 1482, 1308, 1166, 
+    1067, 979, 909, 855, 779, 731, 714, 658, 
+    615, 635, 679, 744, 832, 920, 1027, 1152, 
+    1272, 1387, 1507, 1618, 1709, 1767, 1810, 1867, 
+    1929, 1956, 1961, 1974, 1984, 1992, 2018, 2034, 
+    2038, 2044, 2024, 2000, 2018, 2051, 2063, 2059, 
+    2067, 2090, 2128, 2158, 2185, 2209, 2224, 2237, 
+    2277, 2334, 2395, 2452, 2504, 2562, 2627, 2677, 
+    2694, 2677, 2632, 2570, 2504, 2446, 2397, 2332, 
+    2259, 2182, 2109, 2034, 1951, 1852, 1732, 1593, 
+    1437, 1291, 1167, 1047, 926, 810, 706, 632, 
+    577, 522, 487, 465, 427, 397, 412, 435, 
+    454, 488, 532, 593, 675, 760, 828, 903, 
+    980, 1041, 1108, 1181, 1249, 1306, 1354, 1402, 
+    1465, 1533, 1578, 1605, 1614, 1611, 1609, 1603, 
+    1592, 1592, 1597, 1588, 1594, 1620, 1651, 1686, 
+    1702, 1700, 1696, 1700, 1695, 1694, 1695, 1690, 
+    1693, 1699, 1717, 1743, 1753, 1754, 1754, 1751, 
+    1742, 1731, 1719, 1702, 1688, 1687, 1693, 1706, 
+    1723, 1741, 1767, 1803, 1851, 1905, 1964, 2034, 
+    2106, 2183, 2272, 2373, 2471, 2564, 2660, 2756, 
+    2847, 2947, 3037, 3120, 3209, 3289, 3362, 3432, 
+    3508, 3576, 3621, 3668, 3712, 3749, 3784, 3803, 
+    3821, 3862, 3892, 3900, 3928, 3973, 3988, 4005, 
+    4037, 4047, 4036, 4022, 3988, 3946, 3912, 3858, 
+    3784, 3710, 3633, 3546, 3446, 3344, 3221, 3046, 
+    2803, 2566, 2353, 2113, 1878, 1678, 1481, 1308, 
+    1191, 1088, 989, 921, 837, 727, 653, 596, 
+    519, 479, 498, 538, 606, 699, 799, 919, 
+    1049, 1174, 1286, 1387, 1485, 1579, 1642, 1695, 
+    1788, 1878, 1921, 1960, 2014, 2042, 2065, 2100, 
+    2117, 2128, 2133, 2116, 2104, 2123, 2160, 2166, 
+    2160, 2179, 2208, 2224, 2237, 2255, 2260, 2261, 
+    2285, 2325, 2381, 2455, 2530, 2598, 2674, 2751, 
+    2806, 2823, 2811, 2779, 2726, 2681, 2652, 2618, 
+    2569, 2519, 2465, 2408, 2352, 2286, 2196, 2075, 
+    1944, 1798, 1652, 1527, 1395, 1256, 1133, 1024, 
+    935, 856, 784, 704, 619, 550, 509, 485, 
+    458, 435, 419, 429, 462, 503, 547, 591, 
+    633, 673, 727, 792, 851, 912, 984, 1059, 
+    1136, 1222, 1305, 1377, 1427, 1460, 1488, 1512, 
+    1532, 1549, 1570, 1601, 1635, 1683, 1734, 1790, 
+    1841, 1867, 1888, 1905, 1912, 1910, 1904, 1894, 
+    1890, 1904, 1926, 1936, 1943, 1950, 1957, 1959, 
+    1952, 1930, 1901, 1864, 1822, 1795, 1773, 1754, 
+    1730, 1700, 1677, 1663, 1646, 1629, 1627, 1634, 
+    1652, 1687, 1739, 1801, 1868, 1938, 2004, 2077, 
+    2152, 2223, 2290, 2356, 2436, 2523, 2615, 2721, 
+    2831, 2939, 3034, 3118, 3199, 3263, 3307, 3338, 
+    3360, 3385, 3412, 3443, 3484, 3532, 3590, 3636, 
+    3678, 3741, 3795, 3823, 3843, 3860, 3869, 3883, 
+    3905, 3922, 3931, 3949, 3961, 3967, 3971, 3950, 
+    3917, 3867, 3796, 3725, 3641, 3527, 3364, 3145, 
+    2925, 2727, 2501, 2257, 2038, 1833, 1624, 1458, 
+    1332, 1208, 1102, 997, 875, 772, 695, 608, 
+    539, 519, 519, 538, 589, 658, 758, 881, 
+    1002, 1121, 1249, 1370, 1484, 1576, 1646, 1729, 
+    1821, 1872, 1910, 1966, 2011, 2047, 2093, 2135, 
+    2168, 2194, 2196, 2185, 2192, 2210, 2209, 2187, 
+    2176, 2179, 2183, 2183, 2191, 2198, 2198, 2214, 
+    2249, 2296, 2358, 2432, 2503, 2580, 2662, 2731, 
+    2778, 2798, 2799, 2781, 2760, 2744, 2719, 2690, 
+    2660, 2627, 2593, 2566, 2531, 2471, 2388, 2293, 
+    2188, 2074, 1965, 1850, 1725, 1591, 1448, 1321, 
+    1214, 1114, 1024, 945, 875, 819, 781, 749, 
+    711, 677, 640, 606, 595, 587, 579, 581, 
+    595, 622, 669, 735, 803, 875, 950, 1028, 
+    1106, 1177, 1229, 1266, 1295, 1321, 1350, 1381, 
+    1407, 1440, 1481, 1528, 1587, 1654, 1716, 1771, 
+    1812, 1836, 1853, 1871, 1877, 1876, 1877, 1878, 
+    1887, 1903, 1917, 1932, 1943, 1947, 1954, 1959, 
+    1961, 1953, 1935, 1911, 1883, 1851, 1812, 1763, 
+    1708, 1651, 1605, 1568, 1536, 1512, 1488, 1474, 
+    1470, 1482, 1502, 1527, 1554, 1580, 1608, 1649, 
+    1698, 1750, 1808, 1878, 1960, 2048, 2149, 2257, 
+    2358, 2448, 2534, 2620, 2711, 2796, 2863, 2917, 
+    2964, 3004, 3034, 3064, 3108, 3140, 3164, 3205, 
+    3250, 3293, 3327, 3355, 3386, 3423, 3462, 3484, 
+    3508, 3534, 3552, 3569, 3604, 3639, 3672, 3707, 
+    3737, 3772, 3803, 3829, 3844, 3850, 3840, 3814, 
+    3772, 3714, 3647, 3559, 3425, 3233, 3027, 2851, 
+    2657, 2445, 2257, 2089, 1918, 1770, 1645, 1522, 
+    1414, 1300, 1158, 1036, 939, 826, 725, 680, 
+    664, 668, 707, 755, 830, 935, 1031, 1122, 
+    1213, 1296, 1373, 1440, 1486, 1558, 1641, 1689, 
+    1732, 1791, 1842, 1889, 1940, 1977, 2013, 2045, 
+    2051, 2040, 2045, 2053, 2046, 2029, 2016, 2016, 
+    2020, 2012, 2010, 2013, 2013, 2034, 2069, 2111, 
+    2173, 2244, 2312, 2387, 2472, 2545, 2598, 2627, 
+    2643, 2655, 2658, 2667, 2675, 2678, 2686, 2699, 
+    2704, 2707, 2705, 2682, 2629, 2562, 2483, 2394, 
+    2306, 2212, 2115, 2022, 1933, 1845, 1755, 1661, 
+    1569, 1481, 1391, 1305, 1234, 1166, 1093, 1024, 
+    968, 922, 897, 866, 837, 821, 809, 795, 
+    792, 812, 829, 848, 872, 913, 966, 1020, 
+    1062, 1098, 1135, 1167, 1191, 1217, 1244, 1277, 
+    1316, 1357, 1410, 1472, 1532, 1583, 1633, 1677, 
+    1716, 1747, 1761, 1770, 1783, 1802, 1821, 1844, 
+    1872, 1897, 1918, 1929, 1934, 1937, 1934, 1922, 
+    1908, 1891, 1875, 1863, 1849, 1833, 1815, 1797, 
+    1774, 1753, 1730, 1706, 1679, 1652, 1636, 1622, 
+    1616, 1617, 1624, 1633, 1648, 1671, 1695, 1721, 
+    1752, 1794, 1843, 1894, 1958, 2022, 2084, 2144, 
+    2203, 2264, 2320, 2372, 2412, 2457, 2501, 2538, 
+    2577, 2616, 2651, 2683, 2711, 2736, 2764, 2789, 
+    2798, 2808, 2817, 2824, 2838, 2858, 2873, 2897, 
+    2921, 2939, 2971, 3004, 3030, 3054, 3079, 3104, 
+    3131, 3168, 3202, 3242, 3282, 3308, 3342, 3376, 
+    3408, 3432, 3444, 3445, 3442, 3428, 3404, 3378, 
+    3344, 3295, 3219, 3110, 2992, 2886, 2763, 2622, 
+    2498, 2377, 2254, 2155, 2056, 1960, 1891, 1803, 
+    1704, 1622, 1549, 1471, 1411, 1370, 1342, 1334, 
+    1331, 1342, 1378, 1427, 1475, 1521, 1557, 1594, 
+    1638, 1671, 1699, 1738, 1774, 1794, 1821, 1855, 
+    1876, 1905, 1924, 1930, 1937, 1943, 1935, 1919, 
+    1905, 1898, 1885, 1871, 1865, 1867, 1867, 1863, 
+    1862, 1859, 1865, 1878, 1891, 1909, 1942, 1989, 
+    2040, 2100, 2166, 2229, 2279, 2325, 2362, 2394, 
+    2427, 2458, 2478, 2496, 2523, 2549, 2567, 2590, 
+    2601, 2602, 2588, 2564, 2529, 2490, 2444, 2390, 
+    2334, 2279, 2227, 2174, 2121, 2068, 2014, 1954, 
+    1887, 1820, 1760, 1701, 1638, 1580, 1524, 1479, 
+    1444, 1415, 1391, 1372, 1355, 1338, 1322, 1314, 
+    1304, 1293, 1293, 1302, 1311, 1328, 1351, 1377, 
+    1413, 1450, 1478, 1506, 1535, 1567, 1604, 1641, 
+    1678, 1714, 1746, 1777, 1808, 1834, 1856, 1867, 
+    1870, 1869, 1870, 1866, 1856, 1852, 1852, 1853, 
+    1858, 1861, 1865, 1868, 1872, 1880, 1883, 1885, 
+    1885, 1886, 1887, 1888, 1891, 1895, 1895, 1888, 
+    1885, 1881, 1872, 1860, 1841, 1834, 1823, 1813, 
+    1809, 1804, 1803, 1804, 1810, 1817, 1825, 1836, 
+    1847, 1857, 1870, 1888, 1904, 1919, 1937, 1960, 
+    1983, 2004, 2026, 2045, 2066, 2084, 2098, 2115, 
+    2132, 2150, 2169, 2185, 2206, 2227, 2243, 2257, 
+    2271, 2285, 2295, 2302, 2309, 2316, 2323, 2333, 
+    2347, 2361, 2379, 2395, 2410, 2421, 2436, 2449, 
+    2465, 2480, 2491, 2500, 2513, 2525, 2538, 2557, 
+    2577, 2595, 2613, 2632, 2651, 2674, 2691, 2710, 
+    2727, 2745, 2758, 2769, 2785, 2800, 2810, 2816, 
+    2826, 2832, 2828, 2823, 2817, 2805, 2797, 2779, 
+    2750, 2716, 2684, 2650, 2609, 2569, 2528, 2485, 
+    2447, 2408, 2377, 2351, 2323, 2301, 2281, 2267, 
+    2257, 2247, 2241, 2243, 2247, 2247, 2253, 2259, 
+    2270, 2289, 2301, 2308, 2320, 2331, 2341, 2346, 
+    2348, 2350, 2347, 2338, 2330, 2321, 2311, 2302, 
+    2290, 2271, 2256, 2239, 2211, 2183, 2161, 2140, 
+    2115, 2087, 2064, 2047, 2029, 2015, 2001, 1988, 
+    1980, 1971, 1959, 1954, 1955, 1956, 1962, 1970, 
+    1978, 1987, 1995, 1998, 2001, 2003, 2000, 1997, 
+    1989, 1984, 1980, 1973, 1967, 1963, 1958, 1947, 
+    1939, 1929, 1917, 1905, 1893, 1880, 1869, 1860, 
+    1850, 1841, 1833, 1827, 1820, 1820, 1821, 1822, 
+    1824, 1824, 1822, 1824, 1830, 1831, 1837, 1849, 
+    1857, 1864, 1874, 1880, 1884, 1894, 1902, 1901, 
+    1900, 1900, 1903, 1909, 1910, 1909, 1901, 1895, 
+    1891, 1884, 1875, 1867, 1854, 1839, 1829, 1821, 
+    1811, 1803, 1791, 1779, 1774, 1764, 1751, 1735, 
+    1724, 1714, 1703, 1693, 1684, 1676, 1669, 1663, 
+    1659, 1656, 1655, 1653, 1650, 1650, 1651, 1652, 
+    1652, 1652, 1654, 1656, 1661, 1670, 1677, 1681, 
+    1690, 1700, 1711, 1719, 1729, 1742, 1750, 1761, 
+    1771, 1782, 1793, 1803, 1815, 1826, 1836, 1849, 
+    1861, 1874, 1884, 1894, 1910, 1921, 1934, 1947, 
+    1960, 1969, 1980, 1995, 2005, 2014, 2022, 2029, 
+    2035, 2040, 2048, 2054, 2059, 2066, 2074, 2082, 
+    2088, 2091, 2096, 2102, 2100, 2101, 2104, 2107, 
+    2113, 2121, 2131, 2136, 2140, 2145, 2148, 2151, 
+    2156, 2162, 2165, 2170, 2175, 2179, 2184, 2191, 
+    2198, 2206, 2219, 2229, 2240, 2252, 2268, 2282, 
+    2295, 2310, 2328, 2346, 2364, 2383, 2402, 2420, 
+    2439, 2456, 2472, 2489, 2503, 2516, 2530, 2545, 
+    2561, 2575, 2587, 2595, 2602, 2610, 2615, 2620, 
+    2620, 2619, 2615, 2612, 2609, 2600, 2594, 2583, 
+    2571, 2559, 2545, 2531, 2513, 2496, 2477, 2465, 
+    2451, 2438, 2426, 2409, 2395, 2385, 2369, 2354, 
+    2344, 2332, 2321, 2310, 2299, 2293, 2289, 2284, 
+    2277, 2265, 2256, 2249, 2234, 2223, 2215, 2201, 
+    2189, 2180, 2169, 2158, 2148, 2136, 2120, 2105, 
+    2091, 2073, 2053, 2034, 2016, 1998, 1982, 1968, 
+    1959, 1946, 1936, 1929, 1919, 1914, 1909, 1902, 
+    1899, 1894, 1892, 1890, 1891, 1894, 1895, 1897, 
+    1895, 1895, 1892, 1892, 1888, 1882, 1877, 1872, 
+    1869, 1862, 1859, 1858, 1854, 1849, 1843, 1837, 
+    1828, 1821, 1813, 1801, 1788, 1781, 1772, 1763, 
+    1752, 1745, 1735, 1724, 1713, 1704, 1693, 1685, 
+    1677, 1671, 1667, 1667, 1668, 1668, 1670, 1674, 
+    1678, 1680, 1681, 1683, 1686, 1688, 1689, 1694, 
+    1696, 1694, 1694, 1700, 1704, 1707, 1711, 1717, 
+    1721, 1730, 1736, 1741, 1746, 1753, 1760, 1765, 
+    1775, 1782, 1786, 1793, 1798, 1803, 1811, 1815, 
+    1822, 1830, 1836, 1844, 1852, 1857, 1864, 1870, 
+    1873, 1878, 1883, 1885, 1888, 1893, 1894, 1900, 
+    1905, 1908, 1912, 1916, 1921, 1925, 1927, 1931, 
+    1936, 1935, 1940, 1945, 1945, 1946, 1952, 1955, 
+    1958, 1963, 1965, 1967, 1970, 1969, 1969, 1974, 
+    1974, 1973, 1974, 1975, 1977, 1979, 1983, 1984, 
+    1989, 1996, 2002, 2002, 2007, 2016, 2021, 2022, 
+    2029, 2038, 2039, 2041, 2049, 2051, 2054, 2058, 
+    2063, 2065, 2072, 2079, 2084, 2091, 2100, 2109, 
+    2114, 2122, 2128, 2135, 2142, 2153, 2162, 2167, 
+    2179, 2191, 2195, 2204, 2215, 2222, 2233, 2244, 
+    2253, 2259, 2267, 2275, 2281, 2289, 2297, 2302, 
+    2301, 2308, 2316, 2316, 2321, 2324, 2324, 2329, 
+    2334, 2335, 2337, 2339, 2339, 2341, 2342, 2344, 
+    2344, 2345, 2346, 2349, 2348, 2349, 2350, 2351, 
+    2350, 2351, 2352, 2350, 2350, 2351, 2347, 2346, 
+    2346, 2346, 2340, 2339, 2340, 2341, 2337, 2335, 
+    2335, 2329, 2327, 2324, 2322, 2318, 2318, 2315, 
+    2311, 2309, 2305, 2303, 2300, 2303, 2301, 2295, 
+    2292, 2290, 2286, 2282, 2277, 2272, 2267, 2256, 
+    2248, 2242, 2231, 2220, 2207, 2196, 2185, 2176, 
+    2166, 2153, 2144, 2132, 2121, 2111, 2100, 2087, 
+    2074, 2060, 2051, 2042, 2030, 2025, 2015, 2005, 
+    1998, 1993, 1985, 1978, 1969, 1960, 1954, 1947, 
+    1940, 1932, 1928, 1921, 1915, 1912, 1904, 1899, 
+    1892, 1889, 1887, 1879, 1873, 1866, 1860, 1852, 
+    1848, 1842, 1837, 1835, 1833, 1832, 1828, 1827, 
+    1826, 1825, 1825, 1824, 1823, 1827, 1829, 1830, 
+    1833, 1835, 1839, 1841, 1843, 1842, 1846, 1848, 
+    1851, 1853, 1857, 1863, 1866, 1870, 1871, 1875, 
+    1877, 1879, 1880, 1881, 1882, 1882, 1883, 1882, 
+    1884, 1885, 1886, 1886, 1889, 1890, 1890, 1893, 
+    1893, 1891, 1891, 1893, 1892, 1894, 1896, 1897, 
+    1900, 1904, 1908, 1913, 1913, 1914, 1919, 1919, 
+    1923, 1929, 1932, 1937, 1940, 1945, 1949, 1953, 
+    1955, 1958, 1962, 1967, 1973, 1976, 1977, 1982, 
+    1986, 1989, 1993, 1999, 2001, 2007, 2009, 2012, 
+    2018, 2022, 2025, 2033, 2040, 2045, 2051, 2059, 
+    2064, 2073, 2081, 2082, 2092, 2098, 2105, 2111, 
+    2116, 2121, 2128, 2133, 2136, 2139, 2142, 2146, 
+    2152, 2156, 2158, 2161, 2167, 2165, 2169, 2173, 
+    2174, 2179, 2175, 2176, 2179, 2181, 2184, 2185, 
+    2186, 2188, 2191, 2189, 2190, 2190, 2191, 2193, 
+    2197, 2197, 2196, 2199, 2199, 2199, 2201, 2203, 
+    2205, 2208, 2210, 2212, 2214, 2216, 2219, 2222, 
+    2222, 2227, 2229, 2229, 2233, 2234, 2236, 2238, 
+    2240, 2242, 2244, 2248, 2249, 2251, 2250, 2250, 
+    2251, 2248, 2248, 2247, 2248, 2250, 2250, 2248, 
+    2247, 2247, 2247, 2247, 2248, 2250, 2252, 2253, 
+    2253, 2254, 2256, 2258, 2257, 2257, 2256, 2259, 
+    2258, 2257, 2257, 2256, 2253, 2256, 2258, 2254, 
+    2251, 2247, 2245, 2243, 2240, 2236, 2231, 2227, 
+    2224, 2221, 2217, 2215, 2214, 2210, 2206, 2202, 
+    2200, 2199, 2193, 2190, 2186, 2182, 2180, 2175, 
+    2171, 2168, 2162, 2157, 2152, 2148, 2144, 2139, 
+    2131, 2125, 2118, 2113, 2109, 2104, 2099, 2095, 
+    2090, 2087, 2082, 2076, 2070, 2068, 2065, 2056, 
+    2052, 2051, 2048, 2048, 2043, 2041, 2037, 2034, 
+    2030, 2026, 2023, 2021, 2020, 2017, 2014, 2011, 
+    2009, 2005, 2004, 2003, 2002, 2001, 2000, 1995, 
+    1993, 1992, 1987, 1984, 1984, 1979, 1976, 1972, 
+    1967, 1966, 1962, 1960, 1957, 1956, 1956, 1955, 
+    1953, 1951, 1949, 1946, 1944, 1942, 1938, 1936, 
+    1937, 1934, 1932, 1932, 1930, 1928, 1929, 1926, 
+    1925, 1925, 1923, 1923, 1922, 1919, 1922, 1920, 
+    1920, 1921, 1919, 1924, 1926, 1928, 1929, 1929, 
+    1934, 1936, 1936, 1937, 1937, 1939, 1939, 1943, 
+    1944, 1947, 1948, 1950, 1952, 1955, 1959, 1959, 
+    1963, 1964, 1967, 1970, 1972, 1975, 1978, 1981, 
+    1985, 1985, 1991, 1994, 1997, 2002, 2007, 2013, 
+    2016, 2022, 2025, 2028, 2031, 2032, 2033, 2035, 
+    2040, 2043, 2046, 2049, 2053, 2052, 2052, 2051, 
+    2050, 2052, 2054, 2053, 2053, 2058, 2062, 2063, 
+    2064, 2066, 2068, 2066, 2069, 2070, 2071, 2073, 
+    2074, 2074, 2076, 2076, 2076, 2078, 2077, 2079, 
+    2078, 2079, 2079, 2078, 2078, 2077, 2074, 2074, 
+    2073, 2074, 2070, 2068, 2070, 2069, 2067, 2067, 
+    2064, 2064, 2066, 2065, 2065, 2064, 2063, 2066, 
+    2066, 2066, 2064, 2065, 2067, 2065, 2067, 2068, 
+    2067, 2067, 2068, 2068, 2068, 2068, 2069, 2069, 
+    2071, 2071, 2072, 2075, 2076, 2076, 2076, 2076, 
+    2076, 2077, 2078, 2080, 2082, 2084, 2087, 2089, 
+    2090, 2091, 2091, 2093, 2091, 2093, 2097, 2097, 
+    2098, 2100, 2102, 2102, 2105, 2104, 2103, 2103, 
+    2105, 2105, 2111, 2112, 2109, 2111, 2111, 2110, 
+    2108, 2108, 2109, 2110, 2112, 2110, 2106, 2106, 
+    2106, 2106, 2101, 2102, 2103, 2101, 2098, 2098, 
+    2098, 2096, 2092, 2092, 2088, 2089, 2085, 2082, 
+    2081, 2077, 2074, 2069, 2068, 2062, 2058, 2057, 
+    2054, 2051, 2048, 2046, 2042, 2041, 2037, 2037, 
+    2031, 2026, 2026, 2021, 2018, 2015, 2011, 2006, 
+    2000, 1999, 1994, 1991, 1986, 1983, 1984, 1982, 
+    1980, 1978, 1978, 1977, 1976, 1975, 1973, 1974, 
+    1974, 1974, 1974, 1974, 1977, 1978, 1977, 1976, 
+    1976, 1977, 1976, 1978, 1981, 1982, 1980, 1983, 
+    1984, 1985, 1986, 1985, 1982, 1983, 1983, 1984, 
+    1984, 1987, 1984, 1983, 1984, 1980, 1979, 1984, 
+    1981, 1980, 1983, 1985, 1984, 1984, 1982, 1982, 
+    1987, 1987, 1986, 1992, 1989, 1989, 1998, 2001, 
+    2000, 2002, 2003, 2003, 2004, 2005, 2007, 2009, 
+    2010, 2010, 2013, 2013, 2014, 2014, 2016, 2021, 
+    2018, 2019, 2022, 2026, 2029, 2028, 2029, 2029, 
+    2033, 2034, 2032, 2035, 2035, 2035, 2038, 2039, 
+    2041, 2044, 2047, 2046, 2047, 2052, 2054, 2058, 
+    2059, 2058, 2060, 2063, 2065, 2068, 2067, 2069, 
+    2068, 2067, 2071, 2073, 2073, 2073, 2075, 2073, 
+    2071, 2069, 2072, 2072, 2072, 2073, 2072, 2067, 
+    2063, 2068, 2069, 2068, 2067, 2066, 2066, 2064, 
+    2065, 2064, 2063, 2061, 2061, 2059, 2061, 2061, 
+    2059, 2058, 2059, 2056, 2051, 2052, 2051, 2047, 
+    2045, 2042, 2039, 2041, 2041, 2036, 2035, 2032, 
+    2031, 2032, 2031, 2028, 2028, 2026, 2026, 2023, 
+    2022, 2021, 2022, 2022, 2020, 2019, 2016, 2018, 
+    2017, 2016, 2015, 2013, 2016, 2019, 2019, 2021, 
+    2023, 2024, 2025, 2027, 2029, 2030, 2033, 2032, 
+    2035, 2041, 2042, 2043, 2046, 2050, 2051, 2053, 
+    2057, 2056, 2058, 2055, 2056, 2056, 2054, 2051, 
+    2051, 2051, 2046, 2045, 2047, 2046, 2046, 2047, 
+    2046, 2043, 2044, 2041, 2041, 2040, 2040, 2041, 
+    2040, 2041, 2038, 2036, 2035, 2036, 2037, 2037, 
+    2034, 2035, 2033, 2030, 2030, 2029, 2029, 2028, 
+    2027, 2028, 2028, 2026, 2025, 2025, 2028, 2028, 
+    2030, 2031, 2031, 2033, 2038, 2039, 2040, 2042, 
+    2044, 2048, 2050, 2050, 2055, 2059, 2064, 2065, 
+    2068, 2071, 2074, 2076, 2076, 2080, 2086, 2085, 
+    2086, 2091, 2090, 2092, 2096, 2096, 2097, 2100, 
+    2103, 2105, 2103, 2104, 2104, 2106, 2107, 2106, 
+    2107, 2108, 2107, 2108, 2109, 2107, 2107, 2109, 
+    2107, 2108, 2105, 2103, 2102, 2101, 2101, 2101, 
+    2101, 2100, 2102, 2099, 2100, 2103, 2100, 2098, 
+    2095, 2096, 2091, 2088, 2087, 2087, 2086, 2084, 
+    2084, 2081, 2082, 2081, 2077, 2075, 2073, 2071, 
+    2069, 2067, 2067, 2067, 2066, 2065, 2068, 2068, 
+    2066, 2066, 2064, 2063, 2063, 2060, 2058, 2058, 
+    2057, 2057, 2057, 2055, 2051, 2048, 2049, 2047, 
+    2046, 2045, 2042, 2042, 2042, 2040, 2040, 2039, 
+    2038, 2034, 2032, 2032, 2032, 2031, 2029, 2029, 
+    2028, 2028, 2028, 2026, 2024, 2025, 2026, 2023, 
+    2024, 2024, 2023, 2023, 2020, 2021, 2020, 2021, 
+    2023, 2024, 2024, 2026, 2026, 2026, 2026, 2030, 
+    2028, 2030, 2032, 2034, 2032, 2032, 2032, 2034, 
+    2038, 2039, 2039, 2037, 2036, 2041, 2043, 2043, 
+    2044, 2046, 2050, 2052, 2046, 2045, 2048, 2051, 
+    2049, 2049, 2047, 2047, 2046, 2042, 2041, 2043, 
+    2040, 2040, 2045, 2045, 2043, 2043, 2038, 2040, 
+    2037, 2030, 2027, 2031, 2038, 2034, 2038, 2039, 
+    2033, 2032, 2032, 2028, 2029, 2035, 2037, 2038, 
+    2038, 2038, 2044, 2047, 2042, 2039, 2043, 2042, 
+    2044, 2048, 2048, 2051, 2051, 2056, 2058, 2058, 
+    2055, 2055, 2055, 2060, 2066, 2067, 2070, 2072, 
+    2074, 2069, 2069, 2070, 2070, 2074, 2076, 2074, 
+    2074, 2077, 2079, 2080, 2080, 2081, 2078, 2082, 
+    2084, 2084, 2086, 2086, 2087, 2081, 2087, 2090, 
+    2088, 2089, 2090, 2087, 2087, 2087, 2086, 2090, 
+    2094, 2090, 2088, 2093, 2093, 2091, 2090, 2089, 
+    2087, 2088, 2089, 2092, 2095, 2092, 2086, 2085, 
+    2085, 2085, 2088, 2087, 2084, 2078, 2075, 2078, 
+    2079, 2073, 2065, 2063, 2066, 2066, 2065, 2067, 
+    2063, 2056, 2060, 2062, 2060, 2059, 2062, 2057, 
+    2056, 2055, 2056, 2059, 2058, 2059, 2052, 2052, 
+    2054, 2054, 2057, 2055, 2053, 2055, 2056, 2054, 
+    2048, 2044, 2043, 2041, 2037, 2033, 2031, 2033, 
+    2035, 2035, 2030, 2025, 2024, 2025, 2028, 2024, 
+    2021, 2023, 2020, 2016, 2020, 2020, 2012, 2009, 
+    2015, 2019, 2021, 2019, 2015, 2018, 2017, 2012, 
+    2011, 2017, 2015, 2012, 2011, 2010, 2011, 2017, 
+    2018, 2014, 2013, 2015, 2011, 2006, 2006, 2005, 
+    2005, 2006, 2001, 2002, 2009, 2009, 2010, 2013, 
+    2017, 2021, 2019, 2020, 2024, 2025, 2028, 2029, 
+    2028, 2032, 2034, 2037, 2040, 2038, 2036, 2036, 
+    2040, 2039, 2034, 2034, 2033, 2027, 2030, 2033, 
+    2030, 2030, 2032, 2030, 2028, 2029, 2027, 2023, 
+    2022, 2022, 2017, 2018, 2021, 2020, 2017, 2014, 
+    2017, 2017, 2015, 2020, 2021, 2018, 2019, 2020, 
+    2021, 2019, 2017, 2017, 2018, 2021, 2021, 2021, 
+    2024, 2029, 2031, 2035, 2035, 2035, 2036, 2035, 
+    2038, 2043, 2047, 2048, 2046, 2043, 2045, 2047, 
+    2046, 2047, 2047, 2048, 2051, 2052, 2052, 2052, 
+    2052, 2051, 2052, 2050, 2045, 2047, 2050, 2048, 
+    2049, 2048, 2046, 2050, 2051, 2051, 2052, 2052, 
+    2055, 2056, 2056, 2055, 2060, 2061, 2057, 2061, 
+    2064, 2064, 2061, 2061, 2060, 2064, 2064, 2065, 
+    2068, 2067, 2066, 2066, 2067, 2069, 2070, 2068, 
+    2069, 2069, 2069, 2073, 2074, 2074, 2075, 2078, 
+    2082, 2081, 2079, 2084, 2088, 2086, 2085, 2088, 
+    2091, 2092, 2096, 2100, 2107, 2109, 2110, 2110, 
+    2113, 2112, 2110, 2114, 2116, 2116, 2116, 2115, 
+    2114, 2112, 2109, 2110, 2111, 2112, 2112, 2109, 
+    2108, 2108, 2111, 2113, 2113, 2111, 2109, 2107, 
+    2107, 2106, 2106, 2106, 2106, 2104, 2100, 2105, 
+    2105, 2101, 2104, 2104, 2104, 2103, 2098, 2096, 
+    2100, 2102, 2098, 2098, 2097, 2094, 2094, 2091, 
+    2089, 2090, 2091, 2091, 2087, 2086, 2086, 2086, 
+    2087, 2088, 2085, 2082, 2079, 2078, 2079, 2077, 
+    2079, 2077, 2078, 2078, 2077, 2078, 2083, 2083, 
+    2082, 2082, 2085, 2086, 2092, 2095, 2092, 2092, 
+    2096, 2096, 2100, 2102, 2103, 2106, 2108, 2106, 
+    2104, 2106, 2108, 2109, 2108, 2108, 2106, 2106, 
+    2103, 2103, 2105, 2103, 2102, 2099, 2098, 2101, 
+    2101, 2103, 2104, 2107, 2106, 2105, 2106, 2108, 
+    2108, 2107, 2107, 2106, 2109, 2111, 2108, 2107, 
+    2107, 2108, 2104, 2105, 2104, 2102, 2101, 2103, 
+    2107, 2103, 2101, 2099, 2096, 2097, 2098, 2098, 
+    2098, 2098, 2098, 2100, 2099, 2098, 2099, 2098, 
+    2098, 2100, 2102, 2099, 2098, 2096, 2095, 2097, 
+    2094, 2095, 2092, 2086, 2081, 2079, 2070, 2063, 
+    2053, 2046, 1902, 1613, 1570, 1719, 1812, 1882, 
+    1946, 1964, 1959, 1931, 1918, 1942, 1980, 2003, 
+    2025, 2040, 2049, 2063, 2059, 2053, 2062, 2086, 
+    2102, 2119, 2114, 2081, 2034, 2009, 2013, 2033, 
+    2068, 2109, 2134, 2126, 2096, 2053, 2007, 1980, 
+    1980, 2016, 2063, 2086, 2092, 2088, 2082, 2065, 
+    2051, 2037, 2030, 2040, 2056, 2065, 2048, 2026, 
+    2014, 2015, 2032, 2054, 2075, 2080, 2069, 2054, 
+    2031, 2011, 1994, 1982, 1987, 2005, 2030, 2055, 
+    2064, 2037, 1997, 1967, 1965, 1984, 2004, 2011, 
+    2007, 2002, 1993, 1985, 1985, 1984, 1985, 1988, 
+    1994, 1991, 1979, 1960, 1946, 1938, 1931, 1937, 
+    1952, 1972, 1984, 1979, 1953, 1927, 1909, 1894, 
+    1897, 1914, 1932, 1939, 1932, 1920, 1914, 1907, 
+    1913, 1933, 1944, 1937, 1933, 1935, 1925, 1916, 
+    1909, 1909, 1918, 1936, 1954, 1958, 1953, 1941, 
+    1927, 1914, 1908, 1925, 1941, 1949, 1955, 1954, 
+    1950, 1946, 1940, 1929, 1926, 1929, 1937, 1945, 
+    1950, 1942, 1932, 1925, 1928, 1940, 1947, 1950, 
+    1951, 1947, 1937, 1924, 1922, 1928, 1931, 1939, 
+    1947, 1950, 1948, 1941, 1938, 1932, 1927, 1924, 
+    1926, 1929, 1929, 1931, 1928, 1915, 1909, 1906, 
+    1909, 1914, 1919, 1921, 1919, 1912, 1903, 1897, 
+    1899, 1901, 1906, 1909, 1901, 1896, 1897, 1896, 
+    1893, 1887, 1880, 1884, 1884, 1878, 1878, 1881, 
+    1875, 1866, 1863, 1854, 1852, 1860, 1865, 1861, 
+    1853, 1859, 1865, 1865, 1858, 1859, 1858, 1853, 
+    1852, 1849, 1848, 1846, 1845, 1841, 1830, 1820, 
+    1827, 1834, 1827, 1828, 1826, 1806, 1804, 1805, 
+    1806, 1818, 1818, 1813, 1814, 1808, 1804, 1806, 
+    1813, 1816, 1820, 1821, 1816, 1815, 1813, 1814, 
+    1818, 1823, 1831, 1841, 1844, 1831, 1825, 1825, 
+    1821, 1826, 1827, 1827, 1831, 1836, 1841, 1840, 
+    1830, 1834, 1843, 1845, 1851, 1855, 1849, 1842, 
+    1839, 1838, 1837, 1841, 1841, 1842, 1842, 1836, 
+    1830, 1826, 1830, 1842, 1846, 1855, 1864, 1860, 
+    1859, 1857, 1850, 1853, 1859, 1858, 1862, 1867, 
+    1868, 1862, 1850, 1842, 1842, 1839, 1847, 1864, 
+    1870, 1869, 1870, 1862, 1850, 1842, 1846, 1856, 
+    1859, 1866, 1870, 1866, 1857, 1847, 1844, 1848, 
+    1858, 1863, 1863, 1861, 1856, 1853, 1858, 1867, 
+    1873, 1883, 1889, 1892, 1891, 1885, 1884, 1886, 
+    1891, 1904, 1919, 1925, 1924, 1919, 1911, 1904, 
+    1894, 1894, 1904, 1915, 1927, 1936, 1937, 1936, 
+    1926, 1918, 1920, 1926, 1931, 1938, 1937, 1935, 
+    1936, 1946, 1958, 1962, 1965, 1963, 1953, 1950, 
+    1947, 1935, 1923, 1914, 1911, 1914, 1925, 1931, 
+    1933, 1934, 1927, 1923, 1921, 1926, 1926, 1924, 
+    1929, 1938, 1952, 1956, 1956, 1959, 1957, 1960, 
+    1964, 1958, 1946, 1947, 1953, 1960, 1969, 1977, 
+    1983, 1981, 1975, 1965, 1955, 1948, 1937, 1921, 
+    1916, 1922, 1931, 1945, 1954, 1960, 1957, 1944, 
+    1927, 1922, 1923, 1925, 1929, 1932, 1943, 1952, 
+    1960, 1958, 1953, 1953, 1939, 1914, 1901, 1887, 
+    1880, 1878, 1878, 1883, 1881, 1882, 1888, 1896, 
+    1895, 1879, 1864, 1846, 1829, 1831, 1842, 1846, 
+    1851, 1867, 1873, 1866, 1852, 1838, 1834, 1833, 
+    1831, 1828, 1823, 1820, 1829, 1836, 1838, 1838, 
+    1837, 1827, 1814, 1801, 1801, 1802, 1797, 1797, 
+    1814, 1830, 1837, 1844, 1847, 1840, 1830, 1818, 
+    1803, 1797, 1801, 1811, 1823, 1838, 1837, 1823, 
+    1810, 1798, 1783, 1765, 1744, 1723, 1708, 1701, 
+    1701, 1715, 1728, 1737, 1731, 1725, 1723, 1719, 
+    1700, 1679, 1672, 1671, 1668, 1672, 1678, 1683, 
+    1692, 1698, 1695, 1684, 1671, 1662, 1660, 1653, 
+    1641, 1639, 1644, 1657, 1672, 1668, 1647, 1632, 
+    1626, 1617, 1598, 1584, 1588, 1597, 1603, 1613, 
+    1622, 1621, 1614, 1606, 1600, 1592, 1575, 1551, 
+    1537, 1531, 1525, 1531, 1557, 1573, 1574, 1571, 
+    1571, 1568, 1558, 1561, 1554, 1538, 1531, 1539, 
+    1553, 1560, 1558, 1547, 1531, 1511, 1498, 1493, 
+    1491, 1500, 1509, 1508, 1505, 1502, 1505, 1519, 
+    1531, 1527, 1524, 1529, 1524, 1513, 1517, 1521, 
+    1527, 1547, 1569, 1592, 1598, 1587, 1569, 1553, 
+    1538, 1528, 1531, 1538, 1540, 1540, 1544, 1552, 
+    1552, 1552, 1551, 1557, 1560, 1557, 1557, 1550, 
+    1535, 1513, 1493, 1501, 1524, 1536, 1543, 1542, 
+    1534, 1531, 1533, 1544, 1568, 1596, 1616, 1636, 
+    1653, 1658, 1654, 1647, 1641, 1634, 1637, 1632, 
+    1630, 1634, 1634, 1637, 1639, 1639, 1650, 1674, 
+    1689, 1687, 1672, 1663, 1647, 1635, 1646, 1661, 
+    1680, 1707, 1728, 1731, 1732, 1727, 1710, 1702, 
+    1711, 1730, 1758, 1770, 1772, 1779, 1778, 1776, 
+    1793, 1811, 1815, 1822, 1828, 1821, 1811, 1809, 
+    1812, 1828, 1852, 1871, 1891, 1899, 1881, 1856, 
+    1837, 1828, 1834, 1853, 1882, 1912, 1930, 1936, 
+    1931, 1924, 1934, 1962, 1991, 2007, 2007, 2003, 
+    2001, 1999, 2015, 2038, 2066, 2093, 2112, 2120, 
+    2119, 2112, 2104, 2106, 2123, 2136, 2155, 2178, 
+    2195, 2188, 2162, 2145, 2144, 2148, 2160, 2180, 
+    2194, 2201, 2196, 2189, 2186, 2197, 2213, 2233, 
+    2243, 2238, 2230, 2217, 2201, 2203, 2216, 2232, 
+    2251, 2267, 2278, 2283, 2276, 2258, 2252, 2264, 
+    2279, 2294, 2304, 2302, 2293, 2283, 2277, 2285, 
+    2302, 2315, 2320, 2313, 2309, 2311, 2316, 2322, 
+    2334, 2349, 2359, 2368, 2381, 2390, 2384, 2377, 
+    2381, 2404, 2430, 2449, 2464, 2479, 2481, 2471, 
+    2475, 2491, 2510, 2524, 2528, 2524, 2520, 2516, 
+    2523, 2539, 2550, 2559, 2572, 2582, 2583, 2579, 
+    2573, 2570, 2572, 2574, 2581, 2589, 2600, 2610, 
+    2602, 2594, 2596, 2610, 2629, 2641, 2642, 2638, 
+    2643, 2648, 2652, 2660, 2672, 2683, 2682, 2682, 
+    2692, 2700, 2699, 2703, 2715, 2721, 2724, 2734, 
+    2740, 2740, 2732, 2726, 2729, 2733, 2731, 2725, 
+    2721, 2722, 2718, 2708, 2703, 2707, 2714, 2720, 
+    2722, 2722, 2719, 2708, 2701, 2698, 2693, 2686, 
+    2679, 2678, 2676, 2676, 2672, 2671, 2663, 2648, 
+    2632, 2620, 2614, 2615, 2617, 2616, 2611, 2609, 
+    2603, 2592, 2586, 2587, 2590, 2594, 2590, 2584, 
+    2574, 2561, 2548, 2534, 2522, 2511, 2503, 2503, 
+    2501, 2496, 2488, 2488, 2486, 2484, 2492, 2504, 
+    2499, 2484, 2478, 2474, 2467, 2461, 2458, 2456, 
+    2449, 2438, 2429, 2426, 2422, 2413, 2404, 2394, 
+    2387, 2390, 2392, 2392, 2389, 2382, 2375, 2372, 
+    2367, 2355, 2347, 2346, 2344, 2340, 2333, 2325, 
+    2317, 2313, 2307, 2303, 2307, 2305, 2297, 2292, 
+    2288, 2282, 2280, 2282, 2289, 2295, 2298, 2289, 
+    2276, 2262, 2254, 2253, 2254, 2252, 2249, 2246, 
+    2234, 2221, 2213, 2214, 2208, 2198, 2192, 2194, 
+    2190, 2179, 2169, 2167, 2166, 2167, 2167, 2163, 
+    2155, 2144, 2133, 2130, 2130, 2127, 2123, 2124, 
+    2124, 2120, 2120, 2116, 2112, 2114, 2116, 2103, 
+    2083, 2074, 2068, 2068, 2069, 2079, 2093, 2098, 
+    2089, 2085, 2088, 2090, 2084, 2075, 2074, 2075, 
+    2079, 2081, 2079, 2075, 2076, 2086, 2096, 2099, 
+    2104, 2107, 2109, 2112, 2112, 2111, 2113, 2119, 
+    2123, 2128, 2131, 2130, 2123, 2117, 2118, 2120, 
+    2125, 2128, 2134, 2135, 2139, 2137, 2131, 2126, 
+    2123, 2127, 2127, 2126, 2121, 2119, 2114, 2115, 
+    2118, 2121, 2123, 2123, 2123, 2119, 2113, 2110, 
+    2107, 2102, 2102, 2105, 2109, 2109, 2099, 2085, 
+    2077, 2076, 2081, 2087, 2097, 2101, 2102, 2103, 
+    2104, 2103, 2104, 2108, 2111, 2112, 2111, 2109, 
+    2106, 2100, 2097, 2095, 2089, 2094, 2094, 2085, 
+    2074, 2067, 2058, 2053, 2056, 2058, 2056, 2052, 
+    2044, 2038, 2030, 2023, 2024, 2027, 2028, 2026, 
+    2019, 2015, 2020, 2022, 2020, 2013, 2013, 2010, 
+    2005, 2005, 2007, 2009, 2017, 2019, 2020, 2020, 
+    2021, 2021, 2019, 2015, 2019, 2023, 2031, 2039, 
+    2044, 2046, 2042, 2041, 2039, 2042, 2039, 2034, 
+    2030, 2025, 2019, 2020, 2022, 2026, 2028, 2026, 
+    2017, 2007, 1996, 1983, 1981, 1984, 1984, 1976, 
+    1973, 1974, 1966, 1953, 1947, 1948, 1947, 1943, 
+    1933, 1922, 1911, 1905, 1911, 1918, 1924, 1934, 
+    1942, 1938, 1933, 1927, 1928, 1932, 1937, 1950, 
+    1960, 1963, 1961, 1960, 1964, 1962, 1959, 1963, 
+    1964, 1956, 1946, 1936, 1935, 1931, 1925, 1926, 
+    1935, 1935, 1927, 1914, 1905, 1899, 1901, 1907, 
+    1910, 1912, 1910, 1908, 1908, 1909, 1914, 1918, 
+    1917, 1912, 1909, 1911, 1909, 1905, 1909, 1921, 
+    1931, 1936, 1938, 1940, 1942, 1937, 1934, 1926, 
+    1929, 1948, 1961, 1960, 1960, 1963, 1963, 1957, 
+    1954, 1955, 1955, 1953, 1950, 1948, 1953, 1959, 
+    1956, 1945, 1945, 1952, 1951, 1941, 1929, 1923, 
+    1926, 1931, 1933, 1940, 1959, 1969, 1961, 1949, 
+    1948, 1956, 1955, 1955, 1952, 1952, 1957, 1961, 
+    1968, 1977, 1986, 1991, 1985, 1987, 1991, 1988, 
+    1989, 1996, 2004, 2010, 2019, 2036, 2048, 2048, 
+    2044, 2041, 2040, 2048, 2062, 2075, 2078, 2074, 
+    2080, 2092, 2105, 2118, 2129, 2129, 2123, 2130, 
+    2141, 2144, 2148, 2163, 2173, 2168, 2169, 2179, 
+    2187, 2187, 2182, 2179, 2178, 2183, 2181, 2182, 
+    2190, 2202, 2204, 2195, 2194, 2196, 2198, 2197, 
+    2193, 2187, 2186, 2189, 2192, 2196, 2199, 2201, 
+    2198, 2196, 2201, 2201, 2196, 2191, 2193, 2202, 
+    2216, 2225, 2226, 2224, 2223, 2229, 2231, 2231, 
+    2236, 2241, 2242, 2240, 2251, 2260, 2265, 2267, 
+    2277, 2277, 2271, 2278, 2290, 2294, 2292, 2293, 
+    2301, 2308, 2320, 2332, 2339, 2336, 2327, 2320, 
+    2330, 2349, 2359, 2361, 2361, 2364, 2361, 2366, 
+    2371, 2378, 2380, 2379, 2374, 2367, 2367, 2370, 
+    2375, 2376, 2373, 2374, 2376, 2366, 2361, 2363, 
+    2362, 2358, 2354, 2351, 2355, 2360, 2359, 2361, 
+    2364, 2368, 2372, 2374, 2376, 2378, 2382, 2385, 
+    2393, 2400, 2400, 2393, 2394, 2399, 2399, 2397, 
+    2397, 2398, 2399, 2399, 2406, 2415, 2414, 2408, 
+    2402, 2405, 2408, 2405, 2404, 2404, 2404, 2410, 
+    2414, 2417, 2423, 2419, 2419, 2420, 2418, 2420, 
+    2423, 2423, 2420, 2424, 2421, 2420, 2426, 2431, 
+    2429, 2423, 2417, 2413, 2413, 2413, 2420, 2425, 
+    2424, 2424, 2419, 2416, 2417, 2422, 2418, 2420, 
+    2423, 2423, 2422, 2426, 2436, 2441, 2442, 2444, 
+    2446, 2446, 2442, 2443, 2446, 2449, 2446, 2445, 
+    2449, 2454, 2459, 2457, 2453, 2451, 2448, 2443, 
+    2441, 2445, 2447, 2449, 2450, 2452, 2455, 2459, 
+    2457, 2451, 2444, 2439, 2439, 2441, 2448, 2453, 
+    2455, 2462, 2468, 2471, 2476, 2482, 2486, 2490, 
+    2486, 2488, 2493, 2500, 2511, 2517, 2520, 2518, 
+    2521, 2526, 2525, 2521, 2528, 2539, 2545, 2547, 
+    2554, 2562, 2568, 2573, 2578, 2581, 2586, 2592, 
+    2596, 2600, 2607, 2612, 2619, 2631, 2639, 2641, 
+    2639, 2635, 2634, 2639, 2647, 2647, 2645, 2651, 
+    2650, 2649, 2646, 2635, 2628, 2628, 2627, 2621, 
+    2614, 2604, 2593, 2591, 2596, 2601, 2595, 2588, 
+    2590, 2587, 2578, 2579, 2585, 2590, 2589, 2587, 
+    2589, 2587, 2581, 2582, 2583, 2578, 2572, 2576, 
+    2576, 2578, 2577, 2576, 2577, 2580, 2584, 2586, 
+    2588, 2583, 2581, 2587, 2588, 2585, 2591, 2602, 
+    2605, 2607, 2607, 2609, 2611, 2612, 2614, 2615, 
+    2615, 2610, 2610, 2610, 2608, 2608, 2609, 2611, 
+    2600, 2591, 2593, 2592, 2589, 2582, 2575, 2572, 
+    2572, 2567, 2562, 2557, 2553, 2541, 2532, 2534, 
+    2534, 2530, 2529, 2526, 2522, 2518, 2512, 2504, 
+    2507, 2514, 2506, 2494, 2493, 2495, 2490, 2485, 
+    2487, 2489, 2483, 2470, 2468, 2471, 2471, 2468, 
+    2465, 2458, 2454, 2449, 2444, 2438, 2429, 2418, 
+    2416, 2412, 2408, 2404, 2394, 2395, 2395, 2384, 
+    2376, 2369, 2365, 2359, 2350, 2343, 2343, 2339, 
+    2331, 2330, 2324, 2320, 2315, 2303, 2295, 2292, 
+    2289, 2281, 2279, 2276, 2273, 2268, 2266, 2264, 
+    2259, 2251, 2248, 2244, 2242, 2238, 2234, 2231, 
+    2231, 2223, 2218, 2218, 2221, 2217, 2209, 2205, 
+    2201, 2200, 2199, 2202, 2205, 2207, 2203, 2202, 
+    2201, 2198, 2195, 2195, 2194, 2192, 2191, 2194, 
+    2196, 2200, 2199, 2202, 2200, 2199, 2196, 2197, 
+    2203, 2201, 2202, 2204, 2207, 2208, 2211, 2216, 
+    2215, 2214, 2212, 2213, 2217, 2223, 2227, 2230, 
+    2236, 2239, 2248, 2254, 2258, 2263, 2269, 2277, 
+    2286, 2300, 2315, 2331, 2342, 2355, 2371, 2385, 
+    2398, 2413, 2430, 2443, 2458, 2473, 2486, 2497, 
+    2512, 2523, 2529, 2533, 2538, 2542, 2546, 2549, 
+    2553, 2559, 2564, 2564, 2560, 2563, 2559, 2552, 
+    2548, 2546, 2545, 2540, 2540, 2541, 2537, 2539, 
+    2544, 2542, 2536, 2531, 2532, 2528, 2522, 2519, 
+    2516, 2524, 2527, 2527, 2531, 2536, 2536, 2532, 
+    2531, 2539, 2544, 2544, 2545, 2553, 2564, 2570, 
+    2571, 2571, 2573, 2574, 2578, 2587, 2595, 2598, 
+    2603, 2610, 2618, 2628, 2632, 2640, 2652, 2653, 
+    2650, 2652, 2655, 2660, 2671, 2676, 2681, 2691, 
+    2688, 2681, 2687, 2690, 2696, 2699, 2698, 2704, 
+    2709, 2706, 2708, 2717, 2717, 2711, 2710, 2709, 
+    2710, 2704, 2696, 2691, 2681, 2675, 2668, 2654, 
+    2634, 2608, 2581, 2560, 2539, 2511, 2479, 2446, 
+    2408, 2367, 2330, 2289, 2248, 2195, 2139, 2091, 
+    2037, 1980, 1927, 1871, 1817, 1766, 1716, 1665, 
+    1613, 1558, 1507, 1465, 1427, 1394, 1363, 1339, 
+    1315, 1291, 1276, 1266, 1257, 1252, 1253, 1260, 
+    1271, 1279, 1294, 1316, 1338, 1365, 1393, 1420, 
+    1443, 1471, 1502, 1534, 1568, 1599, 1629, 1655, 
+    1681, 1709, 1734, 1755, 1774, 1789, 1803, 1818, 
+    1828, 1841, 1851, 1855, 1859, 1862, 1864, 1869, 
+    1868, 1860, 1856, 1850, 1845, 1842, 1837, 1832, 
+    1824, 1818, 1807, 1802, 1794, 1792, 1786, 1778, 
+    1773, 1767, 1767, 1769, 1772, 1773, 1772, 1773, 
+    1777, 1782, 1788, 1799, 1816, 1836, 1857, 1880, 
+    1905, 1928, 1951, 1974, 2000, 2027, 2055, 2085, 
+    2120, 2149, 2179, 2208, 2240, 2272, 2298, 2323, 
+    2347, 2371, 2397, 2422, 2446, 2467, 2487, 2501, 
+    2516, 2532, 2544, 2550, 2557, 2561, 2567, 2575, 
+    2578, 2578, 2579, 2580, 2583, 2585, 2585, 2586, 
+    2587, 2585, 2582, 2590, 2595, 2599, 2601, 2602, 
+    2608, 2619, 2631, 2635, 2642, 2649, 2660, 2669, 
+    2683, 2704, 2721, 2739, 2755, 2769, 2791, 2811, 
+    2829, 2849, 2870, 2888, 2909, 2931, 2948, 2968, 
+    2989, 3004, 3031, 3052, 3063, 3069, 3081, 3095, 
+    3102, 3097, 3073, 3042, 3007, 2964, 2919, 2869, 
+    2814, 2755, 2694, 2634, 2584, 2535, 2473, 2404, 
+    2319, 2222, 2138, 2079, 2021, 1957, 1890, 1819, 
+    1758, 1713, 1675, 1641, 1610, 1569, 1526, 1500, 
+    1493, 1504, 1519, 1531, 1548, 1567, 1587, 1608, 
+    1634, 1661, 1680, 1704, 1738, 1782, 1844, 1901, 
+    1949, 1987, 2025, 2062, 2095, 2129, 2158, 2179, 
+    2192, 2209, 2225, 2246, 2277, 2294, 2301, 2296, 
+    2281, 2267, 2259, 2260, 2268, 2267, 2258, 2245, 
+    2229, 2214, 2201, 2187, 2168, 2145, 2119, 2090, 
+    2065, 2040, 2013, 1981, 1950, 1932, 1907, 1860, 
+    1805, 1751, 1700, 1661, 1626, 1591, 1554, 1504, 
+    1442, 1388, 1340, 1296, 1263, 1237, 1213, 1194, 
+    1173, 1159, 1154, 1154, 1160, 1173, 1190, 1202, 
+    1210, 1213, 1242, 1277, 1318, 1370, 1421, 1473, 
+    1517, 1558, 1603, 1657, 1711, 1762, 1812, 1857, 
+    1895, 1926, 1956, 1985, 2009, 2027, 2039, 2044, 
+    2042, 2038, 2037, 2039, 2047, 2055, 2057, 2049, 
+    2030, 2008, 1990, 1981, 1974, 1971, 1966, 1957, 
+    1949, 1943, 1944, 1953, 1964, 1979, 1986, 1991, 
+    2002, 2018, 2040, 2069, 2099, 2130, 2163, 2189, 
+    2212, 2233, 2261, 2297, 2338, 2381, 2416, 2454, 
+    2493, 2537, 2578, 2621, 2664, 2701, 2730, 2753, 
+    2776, 2805, 2841, 2877, 2914, 2940, 2961, 2975, 
+    2984, 2993, 3008, 3028, 3044, 3054, 3055, 3054, 
+    3058, 3063, 3072, 3080, 3086, 3082, 3074, 3069, 
+    3070, 3078, 3094, 3116, 3134, 3147, 3155, 3161, 
+    3171, 3185, 3203, 3222, 3235, 3235, 3229, 3218, 
+    3210, 3205, 3190, 3171, 3144, 3109, 3055, 3002, 
+    2953, 2902, 2840, 2760, 2669, 2559, 2445, 2337, 
+    2236, 2132, 2031, 1930, 1828, 1731, 1635, 1546, 
+    1473, 1410, 1352, 1298, 1258, 1226, 1205, 1195, 
+    1206, 1238, 1269, 1305, 1354, 1404, 1461, 1534, 
+    1624, 1727, 1839, 1952, 2056, 2159, 2258, 2362, 
+    2465, 2569, 2668, 2751, 2819, 2882, 2944, 3005, 
+    3063, 3111, 3143, 3152, 3148, 3135, 3115, 3092, 
+    3068, 3039, 2996, 2942, 2881, 2812, 2744, 2679, 
+    2611, 2549, 2481, 2412, 2346, 2283, 2230, 2185, 
+    2142, 2090, 2025, 1945, 1869, 1809, 1762, 1720, 
+    1681, 1633, 1574, 1519, 1480, 1451, 1427, 1397, 
+    1363, 1325, 1286, 1258, 1241, 1236, 1234, 1229, 
+    1226, 1224, 1222, 1220, 1230, 1252, 1284, 1329, 
+    1379, 1436, 1490, 1540, 1591, 1652, 1720, 1787, 
+    1850, 1907, 1961, 2016, 2078, 2145, 2213, 2274, 
+    2319, 2349, 2369, 2380, 2387, 2400, 2411, 2407, 
+    2392, 2366, 2329, 2292, 2255, 2225, 2192, 2149, 
+    2101, 2046, 1995, 1956, 1932, 1913, 1897, 1880, 
+    1851, 1825, 1806, 1799, 1808, 1830, 1854, 1880, 
+    1905, 1935, 1978, 2031, 2093, 2154, 2209, 2259, 
+    2315, 2369, 2428, 2497, 2564, 2630, 2685, 2733, 
+    2777, 2822, 2862, 2904, 2943, 2976, 3003, 3026, 
+    3043, 3062, 3076, 3079, 3077, 3076, 3075, 3063, 
+    3048, 3035, 3029, 3022, 3021, 3021, 3020, 3012, 
+    3004, 3001, 2998, 3004, 3013, 3022, 3031, 3035, 
+    3038, 3044, 3054, 3058, 3057, 3050, 3036, 3019, 
+    2998, 2976, 2955, 2925, 2883, 2829, 2770, 2691, 
+    2600, 2506, 2403, 2296, 2176, 2054, 1938, 1819, 
+    1703, 1592, 1488, 1383, 1281, 1183, 1096, 1024, 
+    961, 917, 890, 874, 873, 880, 901, 937, 
+    983, 1040, 1112, 1195, 1283, 1390, 1504, 1623, 
+    1753, 1883, 2011, 2131, 2245, 2356, 2464, 2566, 
+    2664, 2752, 2833, 2906, 2968, 3010, 3039, 3068, 
+    3070, 3054, 3033, 3002, 2960, 2908, 2853, 2792, 
+    2724, 2645, 2564, 2476, 2380, 2289, 2199, 2116, 
+    2039, 1969, 1899, 1839, 1780, 1722, 1670, 1626, 
+    1585, 1544, 1503, 1462, 1412, 1370, 1340, 1320, 
+    1299, 1272, 1252, 1224, 1193, 1168, 1156, 1155, 
+    1152, 1147, 1140, 1129, 1116, 1113, 1115, 1130, 
+    1143, 1146, 1152, 1169, 1187, 1215, 1258, 1301, 
+    1345, 1385, 1428, 1469, 1511, 1555, 1611, 1669, 
+    1716, 1761, 1802, 1841, 1880, 1920, 1959, 1995, 
+    2024, 2045, 2060, 2069, 2073, 2071, 2067, 2057, 
+    2039, 2006, 1965, 1921, 1879, 1835, 1799, 1764, 
+    1727, 1688, 1654, 1621, 1596, 1575, 1562, 1556, 
+    1549, 1545, 1545, 1557, 1578, 1610, 1654, 1700, 
+    1752, 1808, 1869, 1935, 2007, 2089, 2173, 2253, 
+    2327, 2396, 2458, 2518, 2580, 2640, 2694, 2739, 
+    2772, 2798, 2824, 2852, 2878, 2901, 2925, 2935, 
+    2940, 2938, 2935, 2931, 2927, 2927, 2921, 2911, 
+    2897, 2881, 2866, 2861, 2861, 2860, 2860, 2859, 
+    2858, 2855, 2858, 2860, 2863, 2864, 2863, 2856, 
+    2841, 2817, 2798, 2777, 2750, 2716, 2676, 2629, 
+    2570, 2498, 2413, 2325, 2232, 2122, 2010, 1907, 
+    1791, 1673, 1558, 1448, 1348, 1253, 1159, 1073, 
+    993, 920, 863, 823, 799, 791, 793, 806, 
+    836, 870, 913, 973, 1048, 1135, 1229, 1332, 
+    1440, 1556, 1679, 1806, 1939, 2067, 2184, 2295, 
+    2398, 2490, 2579, 2663, 2733, 2800, 2849, 2882, 
+    2903, 2910, 2900, 2880, 2851, 2810, 2755, 2692, 
+    2623, 2550, 2473, 2393, 2308, 2220, 2127, 2035, 
+    1944, 1859, 1783, 1713, 1649, 1596, 1549, 1509, 
+    1478, 1445, 1415, 1385, 1360, 1340, 1317, 1291, 
+    1271, 1259, 1243, 1229, 1219, 1212, 1199, 1181, 
+    1170, 1164, 1165, 1161, 1158, 1156, 1153, 1149, 
+    1150, 1159, 1173, 1185, 1196, 1212, 1236, 1264, 
+    1297, 1339, 1383, 1424, 1464, 1507, 1547, 1584, 
+    1627, 1668, 1711, 1747, 1781, 1813, 1845, 1872, 
+    1901, 1928, 1947, 1958, 1964, 1965, 1962, 1954, 
+    1943, 1927, 1906, 1875, 1838, 1802, 1770, 1737, 
+    1702, 1671, 1644, 1620, 1597, 1577, 1565, 1556, 
+    1550, 1547, 1549, 1557, 1572, 1587, 1610, 1645, 
+    1686, 1734, 1786, 1845, 1906, 1973, 2045, 2126, 
+    2209, 2289, 2365, 2435, 2502, 2571, 2632, 2690, 
+    2745, 2789, 2826, 2859, 2890, 2916, 2935, 2955, 
+    2975, 2991, 2997, 2994, 2989, 2977, 2966, 2959, 
+    2952, 2949, 2937, 2913, 2888, 2865, 2848, 2834, 
+    2820, 2794, 2762, 2729, 2699, 2671, 2644, 2619, 
+    2584, 2538, 2488, 2428, 2368, 2301, 2224, 2142, 
+    2053, 1956, 1853, 1754, 1662, 1572, 1481, 1390, 
+    1308, 1226, 1147, 1074, 1012, 962, 921, 893, 
+    877, 865, 870, 889, 924, 970, 1024, 1086, 
+    1153, 1230, 1315, 1407, 1510, 1618, 1729, 1841, 
+    1944, 2043, 2141, 2233, 2319, 2402, 2475, 2538, 
+    2598, 2649, 2685, 2714, 2732, 2734, 2725, 2703, 
+    2663, 2611, 2549, 2481, 2415, 2348, 2276, 2196, 
+    2114, 2031, 1949, 1867, 1792, 1723, 1661, 1605, 
+    1552, 1505, 1468, 1436, 1411, 1383, 1352, 1314, 
+    1281, 1252, 1236, 1221, 1201, 1186, 1171, 1157, 
+    1149, 1149, 1146, 1136, 1132, 1127, 1123, 1124, 
+    1135, 1145, 1155, 1163, 1160, 1169, 1187, 1210, 
+    1238, 1273, 1311, 1355, 1404, 1452, 1503, 1550, 
+    1598, 1647, 1691, 1729, 1764, 1798, 1828, 1857, 
+    1885, 1910, 1928, 1939, 1953, 1964, 1968, 1963, 
+    1955, 1941, 1919, 1892, 1865, 1834, 1804, 1772, 
+    1731, 1695, 1659, 1627, 1603, 1584, 1566, 1557, 
+    1554, 1551, 1552, 1560, 1580, 1595, 1617, 1646, 
+    1679, 1724, 1772, 1825, 1882, 1938, 1994, 2063, 
+    2135, 2205, 2276, 2347, 2419, 2491, 2564, 2640, 
+    2709, 2770, 2815, 2857, 2897, 2932, 2966, 2993, 
+    3017, 3035, 3045, 3052, 3059, 3067, 3068, 3072, 
+    3071, 3054, 3030, 3006, 2988, 2967, 2945, 2926, 
+    2897, 2854, 2807, 2758, 2711, 2665, 2621, 2573, 
+    2512, 2443, 2366, 2289, 2212, 2128, 2034, 1924, 
+    1801, 1677, 1567, 1465, 1369, 1283, 1202, 1126, 
+    1051, 982, 931, 896, 866, 842, 835, 845, 
+    865, 900, 951, 1014, 1086, 1160, 1242, 1332, 
+    1430, 1535, 1650, 1772, 1896, 2020, 2142, 2253, 
+    2352, 2438, 2514, 2578, 2632, 2675, 2708, 2731, 
+    2748, 2755, 2752, 2738, 2707, 2660, 2601, 2531, 
+    2453, 2371, 2289, 2206, 2121, 2038, 1951, 1867, 
+    1784, 1701, 1624, 1556, 1497, 1452, 1413, 1382, 
+    1366, 1357, 1345, 1330, 1316, 1299, 1272, 1237, 
+    1203, 1181, 1167, 1153, 1142, 1134, 1123, 1102, 
+    1086, 1080, 1077, 1072, 1067, 1071, 1079, 1087, 
+    1099, 1120, 1149, 1174, 1197, 1227, 1260, 1301, 
+    1348, 1402, 1464, 1528, 1587, 1642, 1694, 1739, 
+    1779, 1814, 1845, 1873, 1894, 1913, 1928, 1946, 
+    1962, 1974, 1982, 1978, 1964, 1939, 1912, 1883, 
+    1856, 1827, 1793, 1758, 1719, 1677, 1640, 1610, 
+    1583, 1561, 1542, 1537, 1538, 1546, 1567, 1592, 
+    1623, 1659, 1689, 1718, 1751, 1791, 1831, 1877, 
+    1930, 1990, 2051, 2110, 2172, 2236, 2297, 2353, 
+    2402, 2449, 2495, 2541, 2584, 2619, 2648, 2671, 
+    2693, 2711, 2727, 2742, 2753, 2769, 2782, 2803, 
+    2829, 2851, 2878, 2904, 2927, 2941, 2950, 2951, 
+    2942, 2928, 2917, 2901, 2876, 2843, 2803, 2766, 
+    2714, 2660, 2605, 2539, 2459, 2361, 2250, 2134, 
+    2021, 1900, 1768, 1634, 1507, 1377, 1254, 1147, 
+    1050, 960, 877, 803, 754, 726, 703, 690, 
+    699, 722, 757, 805, 874, 956, 1044, 1134, 
+    1238, 1357, 1481, 1608, 1737, 1864, 1991, 2113, 
+    2225, 2328, 2418, 2488, 2545, 2587, 2618, 2635, 
+    2642, 2639, 2620, 2592, 2552, 2505, 2447, 2375, 
+    2296, 2214, 2126, 2035, 1947, 1857, 1771, 1686, 
+    1604, 1532, 1471, 1415, 1371, 1338, 1316, 1304, 
+    1307, 1318, 1330, 1339, 1343, 1344, 1338, 1328, 
+    1319, 1297, 1262, 1225, 1196, 1172, 1148, 1120, 
+    1093, 1068, 1037, 1005, 987, 976, 965, 949, 
+    943, 942, 943, 953, 976, 1006, 1038, 1073, 
+    1118, 1173, 1236, 1308, 1381, 1456, 1531, 1599, 
+    1659, 1718, 1767, 1807, 1843, 1878, 1908, 1926, 
+    1936, 1943, 1945, 1941, 1934, 1917, 1890, 1851, 
+    1806, 1761, 1719, 1673, 1624, 1579, 1538, 1496, 
+    1460, 1442, 1435, 1437, 1447, 1467, 1499, 1536, 
+    1581, 1632, 1683, 1737, 1795, 1853, 1914, 1979, 
+    2042, 2105, 2168, 2238, 2308, 2369, 2428, 2482, 
+    2533, 2582, 2623, 2661, 2688, 2700, 2712, 2724, 
+    2733, 2739, 2735, 2729, 2724, 2719, 2718, 2734, 
+    2756, 2772, 2784, 2800, 2822, 2836, 2839, 2823, 
+    2803, 2780, 2749, 2714, 2676, 2636, 2582, 2508, 
+    2439, 2379, 2307, 2207, 2097, 1977, 1841, 1695, 
+    1563, 1455, 1351, 1237, 1117, 1015, 923, 843, 
+    781, 739, 709, 686, 675, 696, 742, 803, 
+    874, 961, 1055, 1146, 1237, 1334, 1440, 1562, 
+    1693, 1830, 1968, 2097, 2218, 2322, 2415, 2498, 
+    2564, 2606, 2631, 2638, 2623, 2603, 2579, 2547, 
+    2506, 2451, 2371, 2276, 2176, 2077, 1988, 1900, 
+    1818, 1734, 1648, 1571, 1500, 1429, 1366, 1308, 
+    1252, 1206, 1176, 1163, 1164, 1186, 1215, 1244, 
+    1267, 1279, 1285, 1271, 1246, 1230, 1216, 1196, 
+    1172, 1147, 1109, 1061, 1018, 988, 970, 944, 
+    908, 878, 858, 847, 850, 874, 915, 942, 
+    958, 979, 1013, 1060, 1118, 1193, 1280, 1361, 
+    1435, 1512, 1598, 1679, 1755, 1819, 1866, 1903, 
+    1928, 1939, 1954, 1973, 1977, 1973, 1961, 1934, 
+    1892, 1842, 1790, 1744, 1700, 1654, 1600, 1540, 
+    1483, 1428, 1385, 1354, 1329, 1309, 1296, 1298, 
+    1318, 1358, 1414, 1485, 1560, 1628, 1696, 1767, 
+    1842, 1913, 1991, 2071, 2150, 2229, 2292, 2350, 
+    2414, 2479, 2535, 2582, 2628, 2658, 2673, 2682, 
+    2700, 2721, 2728, 2725, 2719, 2707, 2679, 2653, 
+    2642, 2645, 2649, 2649, 2658, 2676, 2697, 2726, 
+    2755, 2770, 2767, 2755, 2739, 2722, 2696, 2663, 
+    2621, 2565, 2499, 2432, 2359, 2262, 2157, 2046, 
+    1915, 1769, 1624, 1487, 1368, 1254, 1134, 1031, 
+    931, 833, 759, 706, 669, 645, 635, 651, 
+    689, 745, 819, 914, 1021, 1131, 1240, 1348, 
+    1460, 1580, 1706, 1839, 1977, 2111, 2231, 2338, 
+    2431, 2513, 2577, 2616, 2638, 2643, 2627, 2592, 
+    2550, 2503, 2451, 2386, 2304, 2208, 2103, 1997, 
+    1897, 1801, 1719, 1645, 1576, 1513, 1455, 1402, 
+    1358, 1322, 1296, 1270, 1253, 1244, 1252, 1269, 
+    1290, 1315, 1335, 1346, 1342, 1325, 1299, 1269, 
+    1236, 1190, 1140, 1090, 1038, 986, 931, 880, 
+    837, 794, 755, 723, 711, 714, 726, 754, 
+    795, 844, 896, 954, 1020, 1100, 1186, 1273, 
+    1369, 1472, 1574, 1672, 1766, 1855, 1932, 1995, 
+    2040, 2069, 2094, 2106, 2103, 2096, 2079, 2048, 
+    2006, 1953, 1897, 1834, 1774, 1708, 1641, 1579, 
+    1520, 1465, 1414, 1377, 1348, 1328, 1321, 1319, 
+    1329, 1361, 1410, 1471, 1540, 1618, 1698, 1779, 
+    1866, 1952, 2034, 2117, 2192, 2258, 2320, 2377, 
+    2431, 2479, 2521, 2558, 2581, 2596, 2610, 2617, 
+    2616, 2618, 2625, 2624, 2610, 2601, 2597, 2589, 
+    2584, 2589, 2594, 2612, 2633, 2651, 2692, 2745, 
+    2787, 2813, 2835, 2854, 2852, 2837, 2821, 2803, 
+    2774, 2715, 2641, 2566, 2481, 2384, 2272, 2143, 
+    2003, 1843, 1666, 1507, 1374, 1251, 1128, 1015, 
+    915, 821, 744, 691, 659, 650, 654, 671, 
+    713, 783, 872, 979, 1108, 1238, 1364, 1477, 
+    1592, 1713, 1838, 1966, 2090, 2207, 2314, 2405, 
+    2475, 2525, 2559, 2571, 2561, 2537, 2497, 2435, 
+    2363, 2295, 2229, 2157, 2073, 1981, 1880, 1778, 
+    1689, 1613, 1551, 1506, 1470, 1436, 1418, 1406, 
+    1398, 1399, 1408, 1421, 1435, 1449, 1461, 1480, 
+    1502, 1516, 1514, 1500, 1473, 1432, 1372, 1303, 
+    1236, 1162, 1081, 995, 917, 848, 785, 718, 
+    669, 632, 595, 575, 574, 601, 646, 693, 
+    755, 835, 929, 1024, 1124, 1236, 1354, 1468, 
+    1576, 1688, 1800, 1903, 1985, 2051, 2106, 2150, 
+    2168, 2162, 2149, 2130, 2093, 2045, 1989, 1929, 
+    1862, 1792, 1715, 1639, 1573, 1511, 1451, 1398, 
+    1359, 1335, 1321, 1323, 1331, 1356, 1402, 1453, 
+    1507, 1576, 1665, 1755, 1838, 1929, 2023, 2110, 
+    2190, 2261, 2323, 2373, 2415, 2449, 2473, 2497, 
+    2513, 2504, 2491, 2485, 2468, 2443, 2430, 2413, 
+    2380, 2358, 2355, 2354, 2349, 2368, 2388, 2403, 
+    2436, 2478, 2526, 2594, 2673, 2745, 2809, 2877, 
+    2926, 2942, 2962, 2981, 2972, 2937, 2882, 2829, 
+    2752, 2666, 2568, 2448, 2320, 2183, 2012, 1813, 
+    1625, 1455, 1286, 1138, 1015, 902, 802, 715, 
+    646, 613, 614, 626, 649, 694, 772, 872, 
+    983, 1118, 1271, 1428, 1569, 1695, 1806, 1920, 
+    2040, 2151, 2251, 2344, 2415, 2460, 2491, 2500, 
+    2491, 2458, 2398, 2319, 2231, 2136, 2038, 1941, 
+    1856, 1782, 1709, 1633, 1556, 1487, 1428, 1387, 
+    1366, 1364, 1378, 1396, 1416, 1443, 1479, 1520, 
+    1565, 1604, 1637, 1658, 1671, 1679, 1685, 1674, 
+    1649, 1602, 1528, 1432, 1320, 1199, 1073, 955, 
+    842, 731, 635, 553, 482, 426, 391, 382, 
+    389, 409, 450, 515, 603, 706, 824, 959, 
+    1108, 1257, 1397, 1531, 1672, 1808, 1928, 2040, 
+    2137, 2213, 2259, 2286, 2291, 2285, 2256, 2196, 
+    2120, 2038, 1952, 1861, 1764, 1679, 1604, 1528, 
+    1451, 1384, 1332, 1293, 1267, 1256, 1265, 1294, 
+    1334, 1386, 1453, 1535, 1634, 1741, 1845, 1948, 
+    2053, 2151, 2234, 2305, 2380, 2451, 2504, 2523, 
+    2527, 2531, 2528, 2509, 2474, 2446, 2422, 2382, 
+    2322, 2274, 2253, 2240, 2215, 2184, 2172, 2186, 
+    2199, 2212, 2257, 2327, 2392, 2450, 2522, 2612, 
+    2714, 2823, 2921, 3008, 3092, 3154, 3180, 3186, 
+    3189, 3174, 3128, 3049, 2951, 2839, 2711, 2572, 
+    2418, 2254, 2092, 1912, 1708, 1505, 1315, 1151, 
+    1010, 895, 805, 739, 696, 670, 667, 710, 
+    786, 872, 967, 1070, 1196, 1336, 1482, 1634, 
+    1793, 1945, 2069, 2157, 2225, 2301, 2370, 2412, 
+    2438, 2451, 2442, 2407, 2349, 2283, 2213, 2133, 
+    2031, 1925, 1823, 1731, 1643, 1573, 1531, 1507, 
+    1497, 1485, 1485, 1492, 1520, 1560, 1611, 1676, 
+    1738, 1796, 1848, 1893, 1934, 1964, 1978, 1976, 
+    1957, 1904, 1815, 1726, 1631, 1513, 1380, 1243, 
+    1097, 940, 788, 649, 532, 436, 351, 290, 
+    258, 256, 276, 316, 391, 494, 613, 739, 
+    878, 1029, 1181, 1343, 1509, 1669, 1819, 1947, 
+    2052, 2145, 2220, 2263, 2282, 2284, 2264, 2223, 
+    2158, 2081, 1997, 1914, 1827, 1736, 1646, 1560, 
+    1483, 1424, 1377, 1346, 1339, 1346, 1359, 1391, 
+    1444, 1512, 1579, 1658, 1751, 1849, 1944, 2040, 
+    2133, 2221, 2300, 2372, 2426, 2464, 2490, 2496, 
+    2484, 2467, 2437, 2400, 2360, 2309, 2255, 2205, 
+    2169, 2130, 2080, 2051, 2049, 2068, 2081, 2113, 
+    2173, 2239, 2309, 2396, 2499, 2606, 2715, 2815, 
+    2917, 3026, 3140, 3237, 3323, 3408, 3472, 3491, 
+    3454, 3398, 3342, 3252, 3136, 3009, 2868, 2715, 
+    2552, 2390, 2240, 2090, 1934, 1769, 1609, 1465, 
+    1338, 1221, 1116, 1058, 1049, 1040, 1032, 1052, 
+    1100, 1169, 1245, 1330, 1438, 1550, 1650, 1740, 
+    1838, 1933, 2015, 2072, 2112, 2149, 2167, 2156, 
+    2133, 2126, 2121, 2105, 2072, 2027, 1981, 1930, 
+    1881, 1839, 1802, 1768, 1740, 1723, 1721, 1739, 
+    1773, 1812, 1866, 1924, 1988, 2047, 2102, 2159, 
+    2210, 2251, 2274, 2286, 2278, 2254, 2212, 2157, 
+    2084, 1999, 1909, 1802, 1678, 1548, 1416, 1278, 
+    1139, 997, 841, 704, 599, 505, 421, 370, 
+    363, 374, 395, 448, 538, 646, 759, 880, 
+    1015, 1157, 1299, 1422, 1541, 1671, 1790, 1879, 
+    1949, 2008, 2060, 2084, 2077, 2065, 2043, 2003, 
+    1939, 1867, 1803, 1735, 1659, 1589, 1536, 1507, 
+    1486, 1466, 1462, 1485, 1534, 1587, 1638, 1703, 
+    1781, 1853, 1917, 1987, 2058, 2121, 2172, 2215, 
+    2258, 2301, 2331, 2335, 2341, 2355, 2355, 2327, 
+    2291, 2261, 2221, 2172, 2122, 2080, 2050, 2030, 
+    2012, 2015, 2042, 2060, 2081, 2126, 2184, 2241, 
+    2296, 2369, 2449, 2526, 2596, 2663, 2741, 2830, 
+    2900, 2954, 3003, 3058, 3092, 3101, 3128, 3167, 
+    3178, 3160, 3129, 3100, 3050, 2972, 2880, 2785, 
+    2696, 2597, 2481, 2383, 2299, 2221, 2146, 2075, 
+    2018, 1959, 1883, 1804, 1739, 1681, 1619, 1568, 
+    1548, 1541, 1536, 1536, 1548, 1577, 1613, 1648, 
+    1678, 1710, 1737, 1750, 1758, 1779, 1804, 1822, 
+    1826, 1831, 1845, 1852, 1858, 1872, 1904, 1943, 
+    1970, 1991, 2015, 2044, 2070, 2084, 2097, 2110, 
+    2117, 2118, 2120, 2135, 2155, 2171, 2188, 2210, 
+    2226, 2223, 2208, 2194, 2173, 2142, 2097, 2046, 
+    1988, 1918, 1836, 1761, 1699, 1622, 1528, 1438, 
+    1355, 1269, 1186, 1109, 1036, 968, 906, 845, 
+    798, 773, 757, 749, 762, 803, 857, 915, 
+    984, 1067, 1151, 1229, 1305, 1380, 1451, 1518, 
+    1568, 1613, 1657, 1693, 1716, 1736, 1756, 1768, 
+    1769, 1759, 1750, 1750, 1744, 1728, 1709, 1700, 
+    1702, 1700, 1700, 1712, 1735, 1766, 1799, 1839, 
+    1887, 1935, 1969, 1999, 2036, 2069, 2092, 2106, 
+    2117, 2130, 2136, 2136, 2145, 2153, 2148, 2145, 
+    2142, 2141, 2136, 2131, 2134, 2147, 2154, 2157, 
+    2164, 2171, 2176, 2200, 2244, 2290, 2326, 2368, 
+    2436, 2502, 2560, 2631, 2712, 2769, 2814, 2855, 
+    2894, 2939, 2991, 3028, 3042, 3069, 3115, 3144, 
+    3139, 3149, 3177, 3146, 3045, 2956, 2888, 2804, 
+    2708, 2608, 2497, 2401, 2333, 2263, 2194, 2157, 
+    2126, 2058, 1970, 1902, 1862, 1818, 1760, 1719, 
+    1681, 1625, 1582, 1558, 1531, 1528, 1528, 1526, 
+    1534, 1553, 1588, 1610, 1631, 1655, 1670, 1654, 
+    1639, 1651, 1670, 1683, 1721, 1789, 1857, 1919, 
+    1977, 2027, 2076, 2120, 2145, 2162, 2177, 2191, 
+    2200, 2201, 2211, 2226, 2230, 2219, 2210, 2200, 
+    2188, 2183, 2180, 2179, 2162, 2132, 2093, 2045, 
+    1983, 1911, 1840, 1773, 1711, 1638, 1572, 1539, 
+    1512, 1456, 1381, 1314, 1248, 1178, 1112, 1042, 
+    980, 936, 887, 833, 809, 817, 825, 832, 
+    859, 909, 961, 1014, 1085, 1169, 1246, 1316, 
+    1375, 1420, 1468, 1524, 1575, 1623, 1672, 1715, 
+    1746, 1773, 1802, 1822, 1833, 1823, 1807, 1794, 
+    1778, 1761, 1754, 1754, 1768, 1792, 1804, 1818, 
+    1845, 1882, 1918, 1951, 1984, 2014, 2036, 2047, 
+    2062, 2071, 2068, 2066, 2068, 2068, 2064, 2063, 
+    2077, 2103, 2118, 2120, 2135, 2152, 2149, 2139, 
+    2148, 2171, 2185, 2192, 2211, 2254, 2303, 2353, 
+    2404, 2436, 2463, 2510, 2546, 2562, 2586, 2620, 
+    2648, 2674, 2701, 2718, 2744, 2786, 2828, 2847, 
+    2860, 2897, 2940, 2944, 2953, 2989, 3012, 3010, 
+    3010, 3007, 2977, 2931, 2881, 2830, 2764, 2696, 
+    2632, 2553, 2463, 2383, 2308, 2227, 2147, 2068, 
+    1981, 1885, 1804, 1738, 1656, 1584, 1538, 1514, 
+    1501, 1484, 1482, 1504, 1534, 1573, 1613, 1649, 
+    1691, 1734, 1762, 1782, 1814, 1847, 1865, 1877, 
+    1896, 1922, 1940, 1954, 1973, 1997, 2022, 2036, 
+    2039, 2043, 2052, 2057, 2055, 2059, 2061, 2064, 
+    2065, 2076, 2094, 2119, 2139, 2155, 2175, 2187, 
+    2186, 2175, 2156, 2131, 2096, 2051, 1997, 1944, 
+    1877, 1783, 1686, 1620, 1554, 1449, 1335, 1249, 
+    1153, 1045, 978, 932, 869, 820, 804, 793, 
+    790, 821, 881, 942, 1009, 1099, 1189, 1267, 
+    1349, 1437, 1508, 1563, 1617, 1660, 1676, 1686, 
+    1705, 1723, 1722, 1712, 1703, 1688, 1666, 1651, 
+    1646, 1636, 1634, 1650, 1663, 1682, 1726, 1772, 
+    1822, 1888, 1957, 2014, 2065, 2121, 2172, 2209, 
+    2237, 2255, 2252, 2240, 2225, 2204, 2169, 2139, 
+    2119, 2081, 2047, 2036, 2029, 2002, 1986, 2001, 
+    2023, 2039, 2065, 2114, 2155, 2197, 2257, 2326, 
+    2387, 2446, 2502, 2539, 2590, 2671, 2725, 2742, 
+    2786, 2852, 2893, 2909, 2931, 2955, 2967, 2974, 
+    2990, 3006, 3012, 3030, 3055, 3078, 3110, 3146, 
+    3172, 3187, 3175, 3122, 3050, 2998, 2952, 2876, 
+    2779, 2702, 2649, 2594, 2518, 2453, 2423, 2375, 
+    2289, 2205, 2122, 2041, 1980, 1915, 1848, 1793, 
+    1727, 1661, 1602, 1558, 1544, 1537, 1531, 1556, 
+    1597, 1638, 1679, 1727, 1763, 1782, 1783, 1771, 
+    1775, 1793, 1826, 1875, 1938, 2019, 2096, 2144, 
+    2174, 2207, 2230, 2232, 2226, 2229, 2232, 2235, 
+    2238, 2249, 2267, 2275, 2267, 2261, 2266, 2270, 
+    2278, 2291, 2310, 2326, 2314, 2272, 2217, 2158, 
+    2089, 2015, 1952, 1906, 1868, 1820, 1771, 1747, 
+    1731, 1670, 1566, 1474, 1385, 1287, 1202, 1122, 
+    1035, 976, 956, 932, 901, 904, 930, 952, 
+    991, 1055, 1130, 1195, 1253, 1314, 1372, 1419, 
+    1463, 1505, 1539, 1569, 1616, 1675, 1730, 1765, 
+    1786, 1802, 1815, 1814, 1802, 1780, 1758, 1764, 
+    1780, 1789, 1814, 1862, 1914, 1967, 2019, 2068, 
+    2111, 2153, 2194, 2211, 2219, 2230, 2220, 2196, 
+    2171, 2142, 2109, 2083, 2068, 2048, 2031, 2030, 
+    2039, 2044, 2040, 2048, 2071, 2099, 2123, 2159, 
+    2208, 2266, 2333, 2404, 2458, 2498, 2553, 2617, 
+    2651, 2660, 2681, 2704, 2706, 2691, 2674, 2667, 
+    2662, 2652, 2653, 2663, 2680, 2704, 2738, 2777, 
+    2833, 2895, 2936, 2970, 3020, 3065, 3101, 3148, 
+    3207, 3260, 3300, 3332, 3338, 3311, 3244, 3157, 
+    3055, 2947, 2826, 2691, 2553, 2429, 2328, 2240, 
+    2156, 2069, 1987, 1916, 1854, 1798, 1759, 1717, 
+    1672, 1653, 1667, 1676, 1669, 1679, 1708, 1740, 
+    1781, 1833, 1874, 1906, 1930, 1941, 1929, 1913, 
+    1895, 1866, 1836, 1814, 1812, 1829, 1856, 1895, 
+    1946, 1994, 2042, 2084, 2128, 2170, 2203, 2235, 
+    2266, 2292, 2311, 2320, 2325, 2338, 2348, 2342, 
+    2331, 2325, 2320, 2301, 2262, 2216, 2163, 2097, 
+    2025, 1953, 1890, 1838, 1796, 1768, 1755, 1738, 
+    1678, 1583, 1524, 1524, 1492, 1387, 1313, 1302, 
+    1264, 1200, 1181, 1187, 1175, 1151, 1115, 1105, 
+    1128, 1150, 1177, 1219, 1268, 1316, 1358, 1394, 
+    1436, 1476, 1523, 1577, 1629, 1681, 1720, 1745, 
+    1779, 1820, 1839, 1841, 1836, 1835, 1843, 1849, 
+    1852, 1870, 1909, 1941, 1944, 1944, 1968, 1999, 
+    2008, 2017, 2038, 2055, 2055, 2050, 2057, 2070, 
+    2073, 2060, 2049, 2050, 2058, 2059, 2054, 2064, 
+    2087, 2092, 2088, 2084, 2103, 2136, 2159, 2183, 
+    2222, 2267, 2310, 2349, 2391, 2434, 2465, 2475, 
+    2489, 2517, 2542, 2564, 2576, 2602, 2640, 2683, 
+    2727, 2763, 2792, 2822, 2893, 2982, 3023, 3033, 
+    3073, 3122, 3156, 3207, 3257, 3268, 3288, 3328, 
+    3359, 3391, 3399, 3342, 3235, 3125, 3034, 2927, 
+    2795, 2671, 2547, 2464, 2432, 2398, 2365, 2327, 
+    2260, 2199, 2151, 2078, 2010, 1966, 1924, 1892, 
+    1861, 1812, 1760, 1710, 1682, 1660, 1624, 1618, 
+    1643, 1664, 1687, 1723, 1746, 1744, 1728, 1693, 
+    1662, 1659, 1673, 1709, 1777, 1874, 1986, 2078, 
+    2131, 2162, 2187, 2193, 2185, 2180, 2179, 2174, 
+    2171, 2187, 2212, 2224, 2217, 2197, 2177, 2170, 
+    2173, 2182, 2197, 2213, 2218, 2200, 2168, 2126, 
+    2074, 2021, 1980, 1956, 1951, 1960, 1976, 1994, 
+    1990, 1953, 1870, 1770, 1693, 1623, 1514, 1393, 
+    1338, 1331, 1292, 1241, 1226, 1199, 1124, 1047, 
+    1013, 1026, 1043, 1046, 1072, 1135, 1198, 1244, 
+    1300, 1372, 1438, 1487, 1540, 1604, 1674, 1726, 
+    1742, 1749, 1765, 1768, 1732, 1679, 1657, 1657, 
+    1664, 1678, 1705, 1744, 1778, 1791, 1795, 1820, 
+    1856, 1881, 1907, 1952, 1996, 2032, 2074, 2104, 
+    2119, 2124, 2110, 2079, 2046, 2023, 2009, 1982, 
+    1947, 1923, 1905, 1880, 1860, 1867, 1885, 1908, 
+    1937, 1991, 2068, 2132, 2179, 2234, 2293, 2334, 
+    2370, 2401, 2419, 2438, 2479, 2513, 2518, 2531, 
+    2549, 2544, 2525, 2524, 2537, 2549, 2556, 2573, 
+    2607, 2654, 2705, 2766, 2848, 2924, 2965, 3009, 
+    3095, 3191, 3244, 3263, 3285, 3322, 3360, 3369, 
+    3358, 3366, 3377, 3362, 3309, 3223, 3100, 2971, 
+    2853, 2705, 2544, 2429, 2334, 2258, 2244, 2247, 
+    2249, 2259, 2246, 2209, 2162, 2093, 2036, 1997, 
+    1927, 1841, 1792, 1772, 1753, 1701, 1644, 1621, 
+    1614, 1607, 1606, 1603, 1600, 1609, 1609, 1587, 
+    1573, 1569, 1570, 1597, 1651, 1730, 1838, 1959, 
+    2065, 2153, 2212, 2247, 2253, 2234, 2202, 2168, 
+    2139, 2119, 2113, 2118, 2127, 2127, 2128, 2135, 
+    2136, 2143, 2153, 2172, 2190, 2190, 2179, 2166, 
+    2147, 2123, 2095, 2068, 2062, 2066, 2078, 2096, 
+    2113, 2110, 2076, 2028, 1963, 1880, 1789, 1692, 
+    1585, 1439, 1286, 1214, 1227, 1225, 1179, 1161, 
+    1195, 1237, 1278, 1329, 1359, 1366, 1356, 1329, 
+    1322, 1337, 1354, 1373, 1427, 1494, 1557, 1610, 
+    1653, 1676, 1670, 1652, 1633, 1618, 1592, 1550, 
+    1524, 1539, 1592, 1648, 1708, 1783, 1849, 1916, 
+    1987, 2036, 2066, 2101, 2110, 2080, 2044, 2026, 
+    2007, 1983, 1963, 1957, 1956, 1956, 1944, 1929, 
+    1928, 1926, 1899, 1866, 1847, 1847, 1861, 1889, 
+    1921, 1962, 2034, 2115, 2179, 2234, 2301, 2358, 
+    2384, 2393, 2392, 2381, 2362, 2343, 2330, 2339, 
+    2362, 2383, 2408, 2442, 2475, 2524, 2594, 2642, 
+    2654, 2663, 2705, 2764, 2806, 2840, 2899, 2984, 
+    3073, 3150, 3210, 3274, 3351, 3398, 3413, 3414, 
+    3426, 3448, 3427, 3394, 3394, 3422, 3435, 3389, 
+    3293, 3187, 3082, 2982, 2890, 2789, 2677, 2584, 
+    2551, 2552, 2545, 2534, 2520, 2465, 2386, 2306, 
+    2218, 2135, 2067, 1985, 1891, 1796, 1711, 1655, 
+    1602, 1532, 1459, 1434, 1451, 1476, 1514, 1567, 
+    1615, 1641, 1652, 1656, 1658, 1666, 1684, 1714, 
+    1771, 1860, 1952, 2039, 2107, 2133, 2122, 2096, 
+    2060, 2029, 2009, 1992, 1984, 2002, 2044, 2093, 
+    2131, 2166, 2195, 2222, 2254, 2291, 2333, 2381, 
+    2411, 2416, 2396, 2362, 2316, 2259, 2200, 2145, 
+    2107, 2091, 2088, 2089, 2084, 2057, 2020, 1972, 
+    1921, 1875, 1833, 1805, 1787, 1760, 1725, 1711, 
+    1724, 1723, 1665, 1582, 1539, 1528, 1519, 1470, 
+    1395, 1321, 1257, 1221, 1211, 1204, 1206, 1241, 
+    1307, 1386, 1481, 1564, 1612, 1640, 1645, 1639, 
+    1637, 1644, 1652, 1669, 1688, 1710, 1743, 1777, 
+    1792, 1785, 1773, 1763, 1752, 1748, 1750, 1751, 
+    1761, 1784, 1804, 1820, 1848, 1890, 1937, 1973, 
+    1999, 2027, 2053, 2064, 2054, 2025, 1990, 1950, 
+    1912, 1883, 1867, 1856, 1844, 1858, 1887, 1904, 
+    1929, 1966, 1997, 2011, 2021, 2044, 2090, 2135, 
+    2170, 2194, 2221, 2265, 2308, 2339, 2360, 2365, 
+    2374, 2383, 2393, 2411, 2432, 2433, 2417, 2442, 
+    2509, 2565, 2589, 2630, 2706, 2777, 2825, 2879, 
+    2951, 3017, 3067, 3106, 3145, 3206, 3269, 3305, 
+    3331, 3370, 3399, 3399, 3409, 3429, 3426, 3423, 
+    3438, 3448, 3428, 3388, 3318, 3224, 3143, 3055, 
+    2938, 2822, 2753, 2717, 2689, 2666, 2655, 2661, 
+    2657, 2613, 2524, 2431, 2341, 2221, 2102, 2012, 
+    1921, 1819, 1714, 1615, 1549, 1530, 1516, 1486, 
+    1483, 1518, 1560, 1594, 1627, 1650, 1647, 1627, 
+    1606, 1601, 1617, 1644, 1689, 1759, 1844, 1919, 
+    1969, 1991, 1983, 1960, 1934, 1899, 1879, 1887, 
+    1909, 1937, 1996, 2073, 2145, 2204, 2262, 2319, 
+    2371, 2416, 2452, 2479, 2500, 2503, 2474, 2425, 
+    2365, 2308, 2251, 2209, 2191, 2197, 2208, 2216, 
+    2229, 2240, 2232, 2203, 2160, 2115, 2081, 2062, 
+    2057, 2063, 2082, 2102, 2109, 2102, 2086, 2055, 
+    2006, 1946, 1855, 1713, 1552, 1432, 1352, 1247, 
+    1135, 1105, 1156, 1213, 1273, 1373, 1474, 1529, 
+    1555, 1553, 1526, 1488, 1435, 1396, 1396, 1421, 
+    1447, 1484, 1523, 1547, 1561, 1565, 1553, 1534, 
+    1524, 1516, 1511, 1525, 1554, 1587, 1630, 1687, 
+    1742, 1811, 1896, 1976, 2036, 2089, 2132, 2128, 
+    2082, 2033, 1984, 1932, 1874, 1837, 1834, 1856, 
+    1881, 1912, 1958, 2005, 2033, 2043, 2056, 2062, 
+    2060, 2052, 2051, 2059, 2071, 2088, 2103, 2109, 
+    2114, 2124, 2127, 2114, 2101, 2088, 2075, 2049, 
+    2015, 1989, 1971, 1978, 2007, 2040, 2083, 2137, 
+    2211, 2308, 2398, 2456, 2487, 2520, 2553, 2590, 
+    2637, 2610, 2541, 2576, 2666, 2721, 2798, 2921, 
+    3018, 3073, 3113, 3155, 3193, 3195, 3196, 3234, 
+    3295, 3344, 3386, 3442, 3477, 3483, 3516, 3567, 
+    3562, 3505, 3425, 3332, 3226, 3113, 3003, 2915, 
+    2846, 2762, 2686, 2652, 2632, 2626, 2646, 2648, 
+    2600, 2514, 2408, 2265, 2114, 1969, 1837, 1697, 
+    1544, 1430, 1392, 1388, 1372, 1366, 1399, 1443, 
+    1472, 1489, 1481, 1450, 1434, 1427, 1410, 1403, 
+    1418, 1449, 1494, 1555, 1620, 1690, 1760, 1808, 
+    1831, 1839, 1830, 1823, 1830, 1841, 1857, 1901, 
+    1974, 2050, 2131, 2226, 2331, 2429, 2521, 2589, 
+    2625, 2644, 2641, 2605, 2553, 2498, 2446, 2401, 
+    2368, 2349, 2345, 2357, 2375, 2392, 2406, 2406, 
+    2386, 2341, 2282, 2228, 2182, 2144, 2109, 2078, 
+    2060, 2044, 2018, 1989, 1961, 1934, 1897, 1845, 
+    1788, 1732, 1671, 1601, 1516, 1439, 1390, 1356, 
+    1315, 1272, 1251, 1253, 1265, 1276, 1291, 1306, 
+    1319, 1320, 1325, 1343, 1362, 1369, 1373, 1381, 
+    1393, 1409, 1439, 1474, 1514, 1554, 1591, 1634, 
+    1669, 1688, 1684, 1682, 1694, 1712, 1736, 1770, 
+    1812, 1866, 1925, 1980, 2018, 2044, 2056, 2048, 
+    2034, 2023, 2012, 1992, 1969, 1961, 1960, 1964, 
+    1961, 1956, 1950, 1952, 1952, 1947, 1946, 1939, 
+    1924, 1908, 1891, 1874, 1865, 1863, 1854, 1854, 
+    1864, 1870, 1863, 1855, 1852, 1846, 1824, 1794, 
+    1780, 1781, 1785, 1791, 1802, 1816, 1839, 1868, 
+    1903, 1943, 1974, 1996, 2020, 2039, 2066, 2101, 
+    2126, 2145, 2173, 2219, 2276, 2326, 2383, 2457, 
+    2529, 2596, 2678, 2775, 2858, 2928, 3002, 3073, 
+    3156, 3217, 3222, 3232, 3276, 3292, 3278, 3276, 
+    3286, 3298, 3326, 3372, 3409, 3426, 3448, 3477, 
+    3507, 3517, 3507, 3499, 3475, 3430, 3384, 3331, 
+    3252, 3169, 3102, 3032, 2937, 2838, 2773, 2714, 
+    2632, 2546, 2452, 2363, 2276, 2179, 2062, 1935, 
+    1831, 1751, 1652, 1538, 1472, 1461, 1462, 1453, 
+    1460, 1505, 1543, 1560, 1562, 1537, 1486, 1430, 
+    1380, 1344, 1329, 1335, 1370, 1432, 1511, 1599, 
+    1677, 1734, 1790, 1847, 1884, 1926, 1987, 2058, 
+    2126, 2195, 2258, 2320, 2373, 2411, 2448, 2487, 
+    2526, 2572, 2614, 2641, 2658, 2661, 2637, 2591, 
+    2545, 2506, 2478, 2464, 2477, 2514, 2556, 2588, 
+    2604, 2602, 2572, 2518, 2446, 2365, 2292, 2233, 
+    2181, 2132, 2089, 2049, 2002, 1947, 1891, 1842, 
+    1802, 1771, 1752, 1737, 1724, 1714, 1703, 1677, 
+    1641, 1606, 1585, 1577, 1578, 1594, 1610, 1607, 
+    1584, 1557, 1530, 1489, 1431, 1367, 1306, 1285, 
+    1323, 1372, 1373, 1384, 1451, 1526, 1581, 1625, 
+    1663, 1702, 1742, 1767, 1791, 1811, 1811, 1794, 
+    1771, 1771, 1786, 1799, 1812, 1831, 1854, 1872, 
+    1884, 1894, 1914, 1926, 1917, 1921, 1956, 1998, 
+    2021, 2032, 2043, 2061, 2074, 2051, 2014, 1986, 
+    1959, 1926, 1888, 1848, 1817, 1794, 1764, 1740, 
+    1734, 1741, 1755, 1765, 1781, 1802, 1810, 1809, 
+    1808, 1798, 1776, 1754, 1729, 1708, 1694, 1692, 
+    1680, 1667, 1657, 1655, 1647, 1641, 1651, 1658, 
+    1673, 1705, 1741, 1766, 1792, 1835, 1890, 1935, 
+    1957, 1977, 2017, 2055, 2080, 2109, 2140, 2164, 
+    2188, 2224, 2263, 2305, 2344, 2396, 2466, 2534, 
+    2617, 2713, 2807, 2896, 2988, 3086, 3178, 3240, 
+    3270, 3278, 3263, 3229, 3190, 3154, 3122, 3091, 
+    3079, 3114, 3189, 3260, 3320, 3390, 3475, 3555, 
+    3606, 3610, 3599, 3605, 3578, 3521, 3455, 3383, 
+    3306, 3208, 3112, 3042, 2970, 2890, 2812, 2744, 
+    2699, 2661, 2598, 2528, 2484, 2433, 2374, 2329, 
+    2285, 2244, 2187, 2104, 2015, 1908, 1774, 1629, 
+    1506, 1424, 1369, 1336, 1349, 1409, 1490, 1561, 
+    1624, 1652, 1664, 1676, 1661, 1644, 1666, 1708, 
+    1753, 1807, 1861, 1918, 1961, 1974, 1972, 1982, 
+    2004, 2041, 2097, 2170, 2258, 2338, 2399, 2453, 
+    2491, 2511, 2525, 2541, 2584, 2645, 2696, 2737, 
+    2767, 2767, 2730, 2658, 2561, 2472, 2398, 2340, 
+    2309, 2314, 2344, 2376, 2398, 2402, 2387, 2353, 
+    2298, 2240, 2195, 2154, 2115, 2075, 2035, 1984, 
+    1919, 1833, 1744, 1672, 1617, 1581, 1569, 1581, 
+    1606, 1630, 1642, 1640, 1628, 1607, 1581, 1567, 
+    1578, 1602, 1643, 1691, 1733, 1760, 1766, 1759, 
+    1733, 1704, 1681, 1673, 1688, 1724, 1778, 1837, 
+    1898, 1950, 1994, 2018, 2006, 1947, 1860, 1802, 
+    1808, 1852, 1877, 1871, 1876, 1905, 1928, 1927, 
+    1913, 1887, 1844, 1813, 1817, 1858, 1912, 1934, 
+    1926, 1913, 1900, 1874, 1832, 1788, 1751, 1724, 
+    1708, 1705, 1715, 1720, 1702, 1674, 1656, 1661, 
+    1676, 1684, 1686, 1701, 1723, 1732, 1718, 1693, 
+    1667, 1641, 1611, 1590, 1586, 1595, 1614, 1630, 
+    1644, 1658, 1660, 1638, 1616, 1619, 1628, 1629, 
+    1638, 1662, 1703, 1733, 1745, 1760, 1780, 1787, 
+    1779, 1769, 1774, 1787, 1798, 1794, 1791, 1788, 
+    1786, 1790, 1795, 1810, 1831, 1853, 1884, 1930, 
+    1974, 2000, 2014, 2016, 2009, 1999, 1991, 1991, 
+    1995, 2005, 2030, 2059, 2084, 2107, 2125, 2147, 
+    2175, 2207, 2246, 2290, 2337, 2392, 2451, 2507, 
+    2555, 2598, 2638, 2667, 2690, 2719, 2744, 2751, 
+    2748, 2745, 2745, 2760, 2783, 2827, 2871, 2902, 
+    2943, 3006, 3067, 3102, 3129, 3176, 3221, 3233, 
+    3258, 3285, 3304, 3307, 3285, 3257, 3210, 3162, 
+    3135, 3116, 3096, 3072, 3061, 3066, 3069, 3044, 
+    3013, 2994, 2960, 2933, 2904, 2868, 2849, 2832, 
+    2808, 2778, 2711, 2622, 2529, 2419, 2281, 2128, 
+    1981, 1840, 1737, 1683, 1663, 1682, 1732, 1810, 
+    1909, 2005, 2075, 2105, 2088, 2029, 1944, 1831, 
+    1726, 1639, 1568, 1521, 1501, 1511, 1545, 1591, 
+    1631, 1669, 1715, 1770, 1836, 1901, 1958, 2015, 
+    2062, 2089, 2103, 2105, 2089, 2074, 2069, 2074, 
+    2094, 2116, 2134, 2150, 2150, 2128, 2089, 2045, 
+    2016, 2010, 2029, 2077, 2155, 2245, 2333, 2399, 
+    2435, 2435, 2393, 2327, 2242, 2154, 2072, 1999, 
+    1945, 1904, 1870, 1845, 1828, 1820, 1829, 1846, 
+    1880, 1921, 1966, 2007, 2030, 2033, 2009, 1959, 
+    1893, 1818, 1749, 1706, 1681, 1674, 1689, 1707, 
+    1726, 1736, 1732, 1724, 1711, 1701, 1702, 1719, 
+    1750, 1792, 1844, 1893, 1928, 1950, 1957, 1952, 
+    1938, 1923, 1907, 1889, 1877, 1865, 1862, 1864, 
+    1867, 1866, 1850, 1822, 1803, 1810, 1830, 1855, 
+    1887, 1930, 1989, 2050, 2084, 2070, 2027, 1966, 
+    1895, 1822, 1755, 1707, 1691, 1694, 1722, 1770, 
+    1814, 1842, 1859, 1856, 1841, 1830, 1820, 1814, 
+    1803, 1791, 1782, 1769, 1750, 1730, 1705, 1676, 
+    1653, 1648, 1652, 1649, 1649, 1652, 1651, 1647, 
+    1635, 1625, 1628, 1632, 1641, 1667, 1695, 1713, 
+    1724, 1715, 1695, 1674, 1649, 1621, 1594, 1576, 
+    1580, 1597, 1617, 1645, 1685, 1719, 1738, 1755, 
+    1776, 1797, 1812, 1810, 1801, 1798, 1806, 1810, 
+    1805, 1790, 1780, 1790, 1806, 1817, 1832, 1843, 
+    1868, 1901, 1919, 1932, 1942, 1950, 1961, 1968, 
+    1973, 1983, 1991, 1993, 1994, 1993, 1983, 1976, 
+    1976, 1979, 1987, 2000, 2010, 2033, 2072, 2108, 
+    2148, 2196, 2244, 2299, 2353, 2397, 2440, 2468, 
+    2478, 2473, 2451, 2426, 2426, 2449, 2477, 2503, 
+    2537, 2609, 2715, 2815, 2883, 2932, 2965, 2970, 
+    2953, 2930, 2929, 2967, 3017, 3056, 3089, 3121, 
+    3185, 3277, 3343, 3378, 3378, 3376, 3385, 3349, 
+    3291, 3264, 3246, 3209, 3174, 3163, 3193, 3258, 
+    3315, 3361, 3385, 3377, 3372, 3372, 3338, 3251, 
+    3163, 3068, 2932, 2807, 2675, 2534, 2433, 2362, 
+    2322, 2314, 2331, 2364, 2376, 2350, 2292, 2214, 
+    2120, 2012, 1907, 1840, 1802, 1771, 1764, 1746, 
+    1706, 1661, 1587, 1504, 1444, 1419, 1420, 1455, 
+    1516, 1579, 1640, 1699, 1727, 1725, 1703, 1664, 
+    1628, 1624, 1655, 1699, 1741, 1783, 1822, 1836, 
+    1818, 1792, 1780, 1799, 1857, 1940, 2039, 2144, 
+    2251, 2331, 2360, 2349, 2315, 2264, 2199, 2150, 
+    2137, 2145, 2177, 2222, 2254, 2275, 2288, 2285, 
+    2271, 2257, 2249, 2257, 2272, 2281, 2286, 2269, 
+    2227, 2166, 2100, 2037, 1978, 1938, 1924, 1930, 
+    1954, 1988, 2010, 2017, 2007, 1985, 1947, 1910, 
+    1885, 1872, 1877, 1884, 1894, 1899, 1897, 1885, 
+    1866, 1840, 1814, 1807, 1810, 1823, 1842, 1870, 
+    1901, 1926, 1941, 1952, 1960, 1968, 1977, 1987, 
+    2003, 2022, 2040, 2058, 2069, 2068, 2065, 2062, 
+    2061, 2068, 2082, 2107, 2141, 2176, 2213, 2243, 
+    2261, 2262, 2234, 2179, 2126, 2097, 2086, 2073, 
+    2058, 2058, 2082, 2107, 2107, 2088, 2059, 2022, 
+    1981, 1951, 1924, 1896, 1875, 1861, 1863, 1873, 
+    1875, 1868, 1861, 1852, 1834, 1817, 1803, 1788, 
+    1766, 1729, 1687, 1655, 1637, 1615, 1587, 1579, 
+    1605, 1641, 1678, 1710, 1739, 1767, 1773, 1767, 
+    1752, 1738, 1706, 1677, 1654, 1649, 1664, 1682, 
+    1694, 1707, 1738, 1773, 1797, 1815, 1836, 1858, 
+    1880, 1882, 1877, 1879, 1877, 1869, 1852, 1843, 
+    1840, 1840, 1844, 1852, 1862, 1872, 1883, 1890, 
+    1894, 1892, 1896, 1906, 1916, 1923, 1931, 1937, 
+    1941, 1948, 1950, 1941, 1932, 1931, 1928, 1921, 
+    1916, 1910, 1905, 1913, 1931, 1961, 1990, 2008, 
+    2024, 2042, 2056, 2063, 2043, 2011, 1982, 1956, 
+    1936, 1927, 1932, 1950, 1979, 2012, 2046, 2082, 
+    2113, 2128, 2137, 2142, 2148, 2161, 2180, 2196, 
+    2213, 2248, 2299, 2350, 2405, 2460, 2499, 2530, 
+    2546, 2550, 2556, 2556, 2547, 2548, 2577, 2640, 
+    2720, 2786, 2846, 2921, 3004, 3063, 3069, 3056, 
+    3055, 3065, 3067, 3060, 3049, 3054, 3077, 3103, 
+    3126, 3137, 3145, 3161, 3187, 3206, 3211, 3231, 
+    3246, 3242, 3228, 3203, 3182, 3176, 3157, 3118, 
+    3075, 3031, 3006, 2990, 2952, 2903, 2849, 2812, 
+    2790, 2763, 2745, 2712, 2653, 2579, 2502, 2404, 
+    2267, 2098, 1929, 1827, 1771, 1732, 1734, 1804, 
+    1919, 2028, 2098, 2107, 2069, 1992, 1851, 1667, 
+    1499, 1371, 1291, 1254, 1250, 1289, 1363, 1435, 
+    1495, 1544, 1583, 1627, 1676, 1733, 1789, 1827, 
+    1845, 1849, 1833, 1798, 1746, 1692, 1667, 1686, 
+    1750, 1843, 1955, 2066, 2162, 2232, 2266, 2261, 
+    2230, 2198, 2180, 2188, 2219, 2271, 2335, 2398, 
+    2437, 2442, 2422, 2386, 2341, 2290, 2242, 2209, 
+    2207, 2215, 2226, 2232, 2230, 2232, 2228, 2219, 
+    2214, 2219, 2226, 2229, 2216, 2188, 2141, 2071, 
+    1991, 1905, 1834, 1782, 1761, 1775, 1819, 1878, 
+    1938, 1990, 2025, 2038, 2028, 2001, 1958, 1917, 
+    1876, 1841, 1811, 1792, 1783, 1781, 1782, 1793, 
+    1813, 1841, 1874, 1912, 1946, 1977, 1996, 2002, 
+    2000, 1987, 1971, 1955, 1947, 1952, 1966, 1985, 
+    2007, 2032, 2052, 2065, 2076, 2081, 2080, 2083, 
+    2090, 2103, 2120, 2139, 2159, 2181, 2201, 2211, 
+    2215, 2214, 2204, 2192, 2175, 2156, 2135, 2117, 
+    2102, 2086, 2077, 2075, 2081, 2084, 2078, 2081, 
+    2093, 2099, 2076, 2020, 1937, 1824, 1714, 1648, 
+    1607, 1576, 1560, 1579, 1647, 1740, 1800, 1814, 
+    1801, 1770, 1725, 1675, 1627, 1576, 1531, 1481, 
+    1439, 1424, 1430, 1437, 1449, 1470, 1511, 1561, 
+    1622, 1687, 1744, 1780, 1781, 1758, 1726, 1704, 
+    1679, 1638, 1611, 1619, 1643, 1675, 1713, 1751, 
+    1786, 1810, 1824, 1833, 1846, 1858, 1865, 1864, 
+    1862, 1858, 1856, 1856, 1859, 1858, 1851, 1842, 
+    1840, 1843, 1843, 1842, 1842, 1845, 1838, 1830, 
+    1827, 1836, 1849, 1863, 1877, 1888, 1902, 1916, 
+    1915, 1893, 1865, 1837, 1810, 1797, 1799, 1806, 
+    1817, 1834, 1864, 1897, 1929, 1960, 1981, 2007, 
+    2031, 2035, 2034, 2028, 2019, 2006, 1982, 1964, 
+    1965, 1983, 2006, 2033, 2067, 2104, 2144, 2179, 
+    2199, 2203, 2195, 2192, 2185, 2176, 2171, 2173, 
+    2194, 2222, 2244, 2259, 2284, 2315, 2342, 2376, 
+    2405, 2415, 2426, 2436, 2443, 2460, 2474, 2481, 
+    2488, 2505, 2544, 2598, 2652, 2706, 2760, 2798, 
+    2814, 2836, 2865, 2865, 2833, 2807, 2795, 2803, 
+    2827, 2847, 2877, 2928, 2958, 2979, 3006, 3042, 
+    3081, 3090, 3065, 3050, 3061, 3071, 3063, 3036, 
+    3006, 2987, 2962, 2932, 2920, 2919, 2895, 2866, 
+    2855, 2855, 2853, 2828, 2756, 2623, 2409, 2184, 
+    2063, 1996, 1882, 1807, 1871, 2060, 2301, 2485, 
+    2555, 2552, 2477, 2278, 1995, 1698, 1429, 1241, 
+    1139, 1114, 1204, 1368, 1522, 1640, 1719, 1756, 
+    1761, 1742, 1745, 1784, 1820, 1830, 1820, 1789, 
+    1722, 1606, 1446, 1308, 1235, 1253, 1354, 1533, 
+    1763, 1996, 2199, 2322, 2338, 2264, 2138, 2010, 
+    1902, 1827, 1805, 1859, 1970, 2091, 2185, 2220, 
+    2213, 2189, 2150, 2102, 2083, 2113, 2184, 2253, 
+    2304, 2335, 2342, 2316, 2258, 2188, 2128, 2099, 
+    2117, 2163, 2209, 2240, 2237, 2199, 2137, 2062, 
+    1982, 1911, 1879, 1900, 1971, 2061, 2149, 2224, 
+    2266, 2259, 2213, 2139, 2046, 1958, 1890, 1844, 
+    1823, 1821, 1826, 1839, 1859, 1879, 1897, 1923, 
+    1966, 2014, 2061, 2091, 2106, 2103, 2069, 2004, 
+    1927, 1856, 1808, 1787, 1785, 1809, 1867, 1943, 
+    2022, 2090, 2145, 2185, 2208, 2215, 2211, 2201, 
+    2186, 2172, 2156, 2140, 2126, 2120, 2121, 2132, 
+    2154, 2184, 2218, 2253, 2282, 2309, 2320, 2319, 
+    2308, 2289, 2271, 2258, 2243, 2230, 2231, 2233, 
+    2225, 2217, 2211, 2196, 2178, 2162, 2141, 2114, 
+    2090, 2078, 2077, 2063, 2049, 2059, 2070, 2077, 
+    2073, 2050, 2013, 1985, 1942, 1879, 1823, 1787, 
+    1762, 1756, 1764, 1774, 1792, 1795, 1793, 1805, 
+    1809, 1801, 1789, 1770, 1752, 1739, 1712, 1678, 
+    1656, 1643, 1633, 1629, 1646, 1681, 1722, 1753, 
+    1776, 1804, 1824, 1830, 1822, 1805, 1784, 1763, 
+    1740, 1727, 1731, 1745, 1762, 1776, 1805, 1843, 
+    1870, 1883, 1901, 1915, 1917, 1915, 1908, 1901, 
+    1899, 1893, 1873, 1862, 1859, 1864, 1870, 1877, 
+    1892, 1910, 1927, 1939, 1945, 1944, 1940, 1938, 
+    1932, 1922, 1911, 1904, 1908, 1915, 1919, 1923, 
+    1931, 1939, 1944, 1947, 1953, 1964, 1973, 1977, 
+    1986, 2006, 2027, 2033, 2031, 2040, 2061, 2078, 
+    2085, 2087, 2099, 2114, 2124, 2130, 2140, 2153, 
+    2165, 2178, 2196, 2223, 2250, 2268, 2279, 2292, 
+    2310, 2333, 2344, 2344, 2344, 2346, 2347, 2352, 
+    2350, 2345, 2346, 2361, 2383, 2408, 2426, 2436, 
+    2455, 2474, 2476, 2473, 2484, 2485, 2479, 2479, 
+    2477, 2470, 2467, 2461, 2456, 2464, 2470, 2482, 
+    2504, 2522, 2537, 2556, 2561, 2556, 2547, 2534, 
+    2522, 2509, 2485, 2473, 2487, 2502, 2512, 2513, 
+    2527, 2553, 2558, 2535, 2528, 2544, 2556, 2542, 
+    2518, 2513, 2521, 2527, 2520, 2500, 2497, 2511, 
+    2517, 2501, 2467, 2427, 2396, 2367, 2310, 2253, 
+    2226, 2226, 2250, 2280, 2302, 2331, 2358, 2366, 
+    2357, 2320, 2263, 2197, 2131, 2069, 2016, 1979, 
+    1949, 1933, 1934, 1943, 1951, 1964, 1982, 2007, 
+    2036, 2056, 2066, 2068, 2057, 2030, 1980, 1911, 
+    1844, 1795, 1766, 1751, 1754, 1781, 1832, 1887, 
+    1936, 1974, 2007, 2027, 2032, 2025, 2006, 1989, 
+    1976, 1963, 1948, 1934, 1918, 1915, 1914, 1919, 
+    1931, 1953, 1990, 2033, 2069, 2096, 2117, 2127, 
+    2125, 2111, 2084, 2056, 2040, 2029, 2023, 2025, 
+    2032, 2038, 2046, 2057, 2067, 2073, 2077, 2083, 
+    2095, 2107, 2113, 2121, 2123, 2122, 2121, 2117, 
+    2109, 2102, 2101, 2100, 2102, 2104, 2103, 2104, 
+    2104, 2101, 2096, 2093, 2091, 2093, 2100, 2108, 
+    2121, 2134, 2141, 2137, 2130, 2118, 2103, 2085, 
+    2068, 2055, 2047, 2042, 2046, 2052, 2059, 2069, 
+    2080, 2094, 2103, 2113, 2120, 2120, 2119, 2110, 
+    2098, 2084, 2072, 2058, 2047, 2040, 2039, 2044, 
+    2064, 2075, 2086, 2092, 2089, 2095, 2104, 2112, 
+    2113, 2104, 2082, 2056, 2033, 2026, 2027, 2025, 
+    2025, 2023, 2018, 2018, 2010, 1989, 1975, 1966, 
+    1946, 1919, 1910, 1920, 1932, 1939, 1939, 1939, 
+    1943, 1925, 1878, 1815, 1771, 1740, 1694, 1656, 
+    1659, 1689, 1722, 1751, 1766, 1779, 1792, 1791, 
+    1778, 1756, 1730, 1697, 1667, 1642, 1629, 1615, 
+    1589, 1580, 1583, 1593, 1621, 1656, 1696, 1743, 
+    1775, 1796, 1810, 1810, 1797, 1762, 1719, 1681, 
+    1649, 1632, 1627, 1640, 1670, 1702, 1741, 1785, 
+    1821, 1848, 1865, 1875, 1882, 1877, 1856, 1835, 
+    1815, 1796, 1775, 1749, 1738, 1742, 1756, 1774, 
+    1799, 1834, 1869, 1896, 1916, 1931, 1929, 1918, 
+    1905, 1888, 1869, 1852, 1842, 1849, 1860, 1872, 
+    1889, 1910, 1933, 1954, 1974, 1990, 2007, 2021, 
+    2029, 2028, 2034, 2041, 2042, 2045, 2058, 2072, 
+    2082, 2092, 2113, 2137, 2156, 2171, 2183, 2201, 
+    2225, 2242, 2248, 2260, 2279, 2300, 2322, 2337, 
+    2350, 2369, 2385, 2396, 2395, 2397, 2412, 2430, 
+    2446, 2459, 2471, 2493, 2516, 2539, 2555, 2570, 
+    2589, 2606, 2626, 2650, 2658, 2659, 2672, 2697, 
+    2709, 2714, 2721, 2737, 2762, 2772, 2768, 2775, 
+    2799, 2820, 2818, 2803, 2790, 2789, 2780, 2753, 
+    2717, 2681, 2647, 2577, 2477, 2416, 2401, 2371, 
+    2325, 2324, 2389, 2484, 2552, 2565, 2540, 2494, 
+    2418, 2288, 2121, 1974, 1863, 1782, 1728, 1721, 
+    1757, 1808, 1862, 1900, 1913, 1916, 1922, 1923, 
+    1922, 1918, 1907, 1895, 1866, 1812, 1734, 1642, 
+    1550, 1471, 1429, 1439, 1501, 1606, 1729, 1852, 
+    1956, 2028, 2050, 2026, 1979, 1920, 1854, 1789, 
+    1754, 1754, 1777, 1803, 1819, 1830, 1846, 1863, 
+    1880, 1905, 1951, 2014, 2077, 2127, 2174, 2199, 
+    2191, 2146, 2082, 2012, 1948, 1913, 1908, 1928, 
+    1967, 2013, 2062, 2107, 2139, 2153, 2149, 2143, 
+    2144, 2152, 2162, 2179, 2203, 2220, 2218, 2197, 
+    2166, 2128, 2089, 2058, 2039, 2040, 2058, 2085, 
+    2114, 2144, 2169, 2176, 2163, 2141, 2124, 2113, 
+    2099, 2085, 2077, 2071, 2061, 2044, 2021, 1995, 
+    1970, 1945, 1927, 1926, 1942, 1970, 2004, 2038, 
+    2065, 2087, 2093, 2090, 2081, 2063, 2039, 2018, 
+    2001, 1994, 1993, 1996, 2001, 2009, 2017, 2026, 
+    2039, 2057, 2080, 2107, 2130, 2151, 2170, 2180, 
+    2182, 2172, 2152, 2128, 2104, 2084, 2072, 2073, 
+    2079, 2094, 2116, 2139, 2159, 2174, 2187, 2194, 
+    2195, 2190, 2186, 2185, 2182, 2172, 2161, 2153, 
+    2139, 2125, 2116, 2109, 2103, 2101, 2104, 2118, 
+    2141, 2162, 2177, 2188, 2189, 2185, 2173, 2158, 
+    2145, 2129, 2114, 2099, 2091, 2085, 2077, 2070, 
+    2065, 2058, 2056, 2052, 2051, 2062, 2071, 2077, 
+    2080, 2079, 2072, 2059, 2042, 2019, 1997, 1981, 
+    1970, 1959, 1958, 1961, 1970, 1976, 1976, 1977, 
+    1979, 1976, 1974, 1969, 1960, 1954, 1952, 1951, 
+    1949, 1948, 1941, 1937, 1933, 1927, 1923, 1923, 
+    1927, 1930, 1931, 1932, 1920, 1892, 1884, 1894, 
+    1895, 1884, 1871, 1875, 1890, 1907, 1909, 1885, 
+    1865, 1864, 1874, 1884, 1883, 1878, 1870, 1865, 
+    1858, 1846, 1829, 1823, 1829, 1832, 1834, 1849, 
+    1874, 1902, 1917, 1920, 1920, 1929, 1941, 1948, 
+    1947, 1938, 1939, 1946, 1950, 1954, 1960, 1971, 
+    1979, 1989, 1998, 2011, 2026, 2046, 2066, 2079, 
+    2083, 2080, 2083, 2086, 2086, 2076, 2060, 2049, 
+    2052, 2060, 2067, 2076, 2081, 2089, 2101, 2114, 
+    2124, 2128, 2128, 2129, 2126, 2125, 2127, 2126, 
+    2121, 2117, 2109, 2098, 2093, 2096, 2109, 2119, 
+    2123, 2130, 2141, 2159, 2170, 2172, 2169, 2168, 
+    2175, 2172, 2163, 2165, 2168, 2170, 2170, 2169, 
+    2169, 2177, 2185, 2189, 2182, 2186, 2193, 2199, 
+    2206, 2218, 2224, 2217, 2215, 2212, 2209, 2205, 
+    2202, 2198, 2193, 2193, 2200, 2207, 2208, 2205, 
+    2208, 2208, 2205, 2207, 2209, 2208, 2208, 2212, 
+    2215, 2224, 2234, 2239, 2242, 2240, 2240, 2243, 
+    2239, 2233, 2238, 2245, 2241, 2242, 2243, 2243, 
+    2244, 2242, 2241, 2242, 2247, 2253, 2257, 2260, 
+    2268, 2274, 2271, 2262, 2258, 2256, 2252, 2244, 
+    2231, 2226, 2225, 2224, 2222, 2218, 2214, 2211, 
+    2208, 2209, 2212, 2213, 2215, 2218, 2220, 2220, 
+    2216, 2208, 2199, 2191, 2178, 2165, 2151, 2144, 
+    2140, 2137, 2131, 2127, 2128, 2127, 2123, 2118, 
+    2111, 2108, 2101, 2093, 2086, 2080, 2071, 2063, 
+    2052, 2039, 2028, 2016, 2007, 1998, 1990, 1987, 
+    1985, 1987, 1990, 1992, 1995, 1995, 1992, 1986, 
+    1979, 1973, 1966, 1955, 1945, 1938, 1929, 1926, 
+    1922, 1919, 1918, 1923, 1925, 1929, 1936, 1942, 
+    1944, 1946, 1947, 1945, 1942, 1937, 1934, 1930, 
+    1925, 1923, 1924, 1928, 1932, 1938, 1944, 1950, 
+    1959, 1969, 1974, 1979, 1984, 1985, 1983, 1983, 
+    1983, 1981, 1980, 1975, 1975, 1972, 1976, 1981, 
+    1983, 1986, 1987, 1989, 1990, 1990, 1992, 1993, 
+    1992, 1996, 1998, 1998, 1995, 1994, 1993, 1991, 
+    1988, 1982, 1977, 1973, 1970, 1968, 1965, 1963, 
+    1966, 1968, 1969, 1971, 1974, 1979, 1984, 1985, 
+    1987, 1988, 1985, 1979, 1973, 1965, 1957, 1954, 
+    1950, 1947, 1948, 1948, 1952, 1959, 1966, 1974, 
+    1980, 1986, 1990, 1992, 1993, 1994, 1992, 1987, 
+    1979, 1975, 1976, 1977, 1973, 1973, 1977, 1986, 
+    1995, 2004, 2008, 2018, 2026, 2025, 2026, 2024, 
+    2021, 2019, 2013, 2009, 2006, 2005, 2007, 2007, 
+    2011, 2018, 2028, 2038, 2047, 2056, 2063, 2074, 
+    2083, 2087, 2087, 2089, 2090, 2087, 2086, 2085, 
+    2090, 2094, 2094, 2105, 2118, 2127, 2131, 2136, 
+    2145, 2153, 2156, 2155, 2150, 2152, 2156, 2158, 
+    2155, 2154, 2158, 2165, 2167, 2165, 2166, 2170, 
+    2177, 2184, 2185, 2190, 2195, 2199, 2202, 2200, 
+    2198, 2197, 2199, 2199, 2196, 2193, 2197, 2202, 
+    2203, 2203, 2206, 2208, 2208, 2209, 2210, 2210, 
+    2210, 2212, 2213, 2214, 2214, 2215, 2215, 2214, 
+    2216, 2217, 2212, 2208, 2212, 2214, 2213, 2215, 
+    2216, 2222, 2226, 2226, 2229, 2225, 2221, 2224, 
+    2222, 2215, 2208, 2203, 2196, 2192, 2184, 2175, 
+    2170, 2165, 2163, 2159, 2154, 2150, 2146, 2142, 
+    2138, 2137, 2133, 2130, 2126, 2124, 2121, 2113, 
+    2104, 2094, 2087, 2081, 2075, 2064, 2058, 2054, 
+    2052, 2049, 2045, 2044, 2042, 2039, 2038, 2032, 
+    2028, 2025, 2022, 2020, 2015, 2008, 1999, 1993, 
+    1988, 1982, 1974, 1970, 1972, 1972, 1975, 1977, 
+    1977, 1980, 1980, 1976, 1973, 1973, 1970, 1966, 
+    1962, 1961, 1957, 1955, 1954, 1955, 1956, 1956, 
+    1958, 1961, 1969, 1975, 1978, 1981, 1983, 1984, 
+    1988, 1985, 1982, 1981, 1980, 1980, 1982, 1985, 
+    1990, 1997, 2003, 2010, 2015, 2021, 2027, 2030, 
+    2033, 2035, 2036, 2039, 2042, 2044, 2045, 2049, 
+    2050, 2050, 2052, 2055, 2056, 2058, 2061, 2066, 
+    2070, 2069, 2073, 2074, 2076, 2079, 2081, 2079, 
+    2077, 2076, 2074, 2075, 2074, 2072, 2070, 2070, 
+    2070, 2069, 2066, 2064, 2062, 2063, 2060, 2059, 
+    2060, 2061, 2061, 2057, 2055, 2053, 2049, 2043, 
+    2036, 2027, 2021, 2012, 2010, 1999, 1994, 1992, 
+    1987, 1980, 1972, 1973, 1972, 1968, 1965, 1965, 
+    1966, 1967, 1963, 1958, 1954, 1947, 1945, 1940, 
+    1935, 1933, 1930, 1929, 1931, 1933, 1933, 1933, 
+    1933, 1934, 1935, 1936, 1934, 1932, 1934, 1934, 
+    1933, 1935, 1933, 1932, 1934, 1933, 1930, 1928, 
+    1931, 1930, 1931, 1932, 1931, 1934, 1932, 1932, 
+    1932, 1934, 1937, 1936, 1937, 1940, 1943, 1942, 
+    1946, 1945, 1944, 1944, 1942, 1944, 1946, 1948, 
+    1947, 1949, 1953, 1956, 1958, 1961, 1964, 1968, 
+    1970, 1971, 1975, 1976, 1979, 1981, 1982, 1985, 
+    1988, 1990, 1992, 1997, 2002, 2009, 2013, 2018, 
+    2027, 2033, 2039, 2042, 2049, 2054, 2061, 2062, 
+    2062, 2066, 2069, 2076, 2080, 2084, 2089, 2094, 
+    2099, 2105, 2110, 2114, 2120, 2125, 2130, 2137, 
+    2141, 2146, 2152, 2159, 2164, 2168, 2172, 2177, 
+    2182, 2186, 2187, 2192, 2197, 2201, 2205, 2210, 
+    2218, 2220, 2224, 2228, 2232, 2238, 2243, 2246, 
+    2249, 2252, 2250, 2248, 2248, 2246, 2249, 2250, 
+    2252, 2252, 2252, 2258, 2262, 2264, 2268, 2271, 
+    2272, 2274, 2271, 2269, 2268, 2268, 2264, 2262, 
+    2261, 2261, 2255, 2251, 2249, 2248, 2248, 2243, 
+    2241, 2244, 2246, 2249, 2248, 2247, 2246, 2246, 
+    2245, 2240, 2238, 2237, 2241, 2240, 2240, 2239, 
+    2240, 2240, 2238, 2236, 2234, 2233, 2230, 2226, 
+    2222, 2222, 2219, 2215, 2213, 2209, 2204, 2201, 
+    2193, 2185, 2182, 2175, 2169, 2164, 2161, 2154, 
+    2150, 2143, 2134, 2132, 2127, 2122, 2114, 2109, 
+    2104, 2097, 2092, 2085, 2077, 2068, 2060, 2054, 
+    2049, 2045, 2039, 2035, 2033, 2033, 2031, 2029, 
+    2027, 2023, 2023, 2018, 2015, 2013, 2010, 2008, 
+    2008, 2005, 2001, 2002, 1997, 1996, 1993, 1991, 
+    1991, 1995, 1996, 1996, 1997, 1998, 1999, 1999, 
+    1995, 1994, 1998, 1996, 1996, 1997, 1999, 2001, 
+    2002, 2006, 2009, 2011, 2012, 2015, 2017, 2020, 
+    2023, 2031, 2035, 2039, 2041, 2042, 2047, 2049, 
+    2048, 2049, 2052, 2056, 2058, 2060, 2064, 2068, 
+    2071, 2073, 2071, 2073, 2077, 2079, 2077, 2078, 
+    2077, 2077, 2076, 2073, 2073, 2071, 2069, 2068, 
+    2069, 2066, 2068, 2070, 2069, 2070, 2068, 2070, 
+    2067, 2067, 2064, 2062, 2059, 2056, 2050, 2048, 
+    2047, 2044, 2041, 2040, 2038, 2038, 2036, 2036, 
+    2035, 2035, 2035, 2033, 2035, 2032, 2030, 2027, 
+    2024, 2019, 2015, 2014, 2013, 2011, 2011, 2011, 
+    2011, 2010, 2012, 2012, 2009, 2009, 2005, 2004, 
+    2002, 1997, 1995, 1991, 1990, 1989, 1985, 1983, 
+    1982, 1982, 1980, 1978, 1978, 1980, 1980, 1980, 
+    1984, 1986, 1984, 1984, 1986, 1987, 1987, 1986, 
+    1987, 1986, 1987, 1988, 1989, 1989, 1987, 1990, 
+    1992, 1996, 1998, 2002, 2007, 2011, 2015, 2018, 
+    2021, 2026, 2028, 2028, 2028, 2026, 2026, 2025, 
+    2024, 2024, 2024, 2025, 2027, 2033, 2033, 2034, 
+    2038, 2040, 2043, 2041, 2044, 2043, 2042, 2040, 
+    2036, 2036, 2038, 2040, 2043, 2044, 2045, 2048, 
+    2049, 2055, 2058, 2059, 2061, 2064, 2064, 2064, 
+    2064, 2064, 2063, 2064, 2064, 2064, 2065, 2066, 
+    2067, 2070, 2074, 2076, 2078, 2077, 2079, 2074, 
+    2075, 2074, 2071, 2073, 2073, 2074, 2075, 2077, 
+    2079, 2079, 2080, 2080, 2079, 2083, 2087, 2091, 
+    2093, 2093, 2097, 2098, 2100, 2105, 2108, 2107, 
+    2109, 2111, 2112, 2116, 2119, 2121, 2123, 2126, 
+    2131, 2134, 2138, 2140, 2143, 2144, 2148, 2149, 
+    2151, 2152, 2152, 2154, 2152, 2155, 2156, 2157, 
+    2158, 2162, 2165, 2165, 2167, 2169, 2171, 2170, 
+    2173, 2171, 2172, 2174, 2174, 2171, 2168, 2169, 
+    2168, 2163, 2162, 2164, 2166, 2167, 2169, 2165, 
+    2167, 2166, 2165, 2165, 2165, 2162, 2160, 2160, 
+    2159, 2156, 2153, 2152, 2152, 2146, 2143, 2141, 
+    2139, 2136, 2133, 2129, 2125, 2120, 2114, 2111, 
+    2108, 2103, 2100, 2092, 2091, 2091, 2087, 2080, 
+    2076, 2076, 2073, 2068, 2065, 2061, 2056, 2053, 
+    2050, 2044, 2039, 2036, 2032, 2028, 2024, 2024, 
+    2021, 2018, 2017, 2017, 2013, 2007, 2006, 2001, 
+    1996, 1997, 1992, 1990, 1988, 1982, 1979, 1977, 
+    1973, 1970, 1967, 1965, 1963, 1961, 1960, 1958, 
+    1954, 1955, 1951, 1949, 1947, 1941, 1937, 1935, 
+    1935, 1934, 1934, 1931, 1933, 1935, 1936, 1936, 
+    1936, 1937, 1939, 1939, 1942, 1943, 1946, 1945, 
+    1944, 1945, 1946, 1948, 1949, 1950, 1952, 1949, 
+    1948, 1948, 1947, 1946, 1946, 1949, 1949, 1949, 
+    1952, 1954, 1956, 1955, 1953, 1954, 1954, 1955, 
+    1957, 1953, 1952, 1950, 1948, 1948, 1948, 1948, 
+    1947, 1949, 1949, 1947, 1946, 1948, 1951, 1950, 
+    1951, 1953, 1953, 1952, 1955, 1955, 1953, 1951, 
+    1952, 1953, 1951, 1950, 1950, 1953, 1954, 1953, 
+    1954, 1951, 1952, 1953, 1953, 1952, 1953, 1954, 
+    1956, 1955, 1954, 1955, 1953, 1953, 1953, 1951, 
+    1951, 1951, 1950, 1954, 1955, 1956, 1956, 1957, 
+    1956, 1961, 1964, 1965, 1969, 1970, 1974, 1978, 
+    1980, 1981, 1981, 1983, 1983, 1986, 1987, 1992, 
+    1997, 2000, 2002, 2006, 2011, 2016, 2020, 2027, 
+    2031, 2033, 2039, 2044, 2046, 2049, 2053, 2058, 
+    2059, 2060, 2061, 2064, 2067, 2072, 2077, 2081, 
+    2086, 2090, 2096, 2100, 2102, 2104, 2108, 2111, 
+    2115, 2115, 2116, 2118, 2120, 2119, 2119, 2119, 
+    2118, 2119, 2119, 2120, 2120, 2120, 2124, 2128, 
+    2127, 2127, 2127, 2127, 2129, 2127, 2125, 2124, 
+    2124, 2125, 2124, 2125, 2123, 2122, 2123, 2122, 
+    2121, 2122, 2125, 2128, 2129, 2132, 2134, 2133, 
+    2134, 2136, 2135, 2137, 2136, 2134, 2137, 2137, 
+    2138, 2139, 2137, 2134, 2139, 2139, 2141, 2142, 
+    2145, 2150, 2152, 2154, 2156, 2159, 2159, 2160, 
+    2160, 2159, 2160, 2160, 2159, 2160, 2163, 2166, 
+    2166, 2166, 2165, 2166, 2168, 2169, 2171, 2174, 
+    2178, 2176, 2176, 2176, 2177, 2177, 2176, 2174, 
+    2174, 2177, 2181, 2181, 2182, 2183, 2186, 2188, 
+    2189, 2191, 2190, 2191, 2188, 2186, 2186, 2185, 
+    2183, 2185, 2186, 2184, 2183, 2183, 2182, 2183, 
+    2180, 2180, 2177, 2175, 2175, 2172, 2168, 2165, 
+    2165, 2165, 2163, 2162, 2162, 2158, 2158, 2154, 
+    2150, 2146, 2143, 2138, 2139, 2134, 2130, 2124, 
+    2122, 2117, 2116, 2109, 2104, 2099, 2097, 2089, 
+    2084, 2079, 2072, 2068, 2064, 2061, 2055, 2048, 
+    2043, 2041, 2034, 2032, 2028, 2022, 2019, 2012, 
+    2008, 2005, 2001, 1996, 1991, 1989, 1988, 1985, 
+    1982, 1978, 1974, 1972, 1970, 1967, 1964, 1960, 
+    1961, 1959, 1955, 1952, 1951, 1949, 1949, 1947, 
+    1944, 1945, 1944, 1944, 1942, 1941, 1940, 1937, 
+    1934, 1931, 1932, 1931, 1931, 1932, 1932, 1930, 
+    1929, 1927, 1926, 1926, 1928, 1931, 1933, 1935, 
+    1935, 1935, 1937, 1938, 1940, 1941, 1937, 1938, 
+    1940, 1940, 1942, 1942, 1943, 1945, 1947, 1948, 
+    1950, 1954, 1953, 1955, 1957, 1959, 1961, 1965, 
+    1965, 1965, 1966, 1968, 1971, 1971, 1972, 1972, 
+    1974, 1975, 1975, 1978, 1980, 1980, 1982, 1983, 
+    1983, 1984, 1986, 1988, 1992, 1993, 1994, 1997, 
+    1996, 1994, 1994, 1998, 1999, 2002, 2004, 2007, 
+    2009, 2010, 2012, 2013, 2017, 2020, 2022, 2024, 
+    2027, 2027, 2030, 2034, 2037, 2039, 2041, 2045, 
+    2049, 2050, 2052, 2055, 2055, 2057, 2060, 2062, 
+    2067, 2072, 2075, 2077, 2078, 2082, 2085, 2089, 
+    2090, 2094, 2095, 2098, 2099, 2103, 2107, 2108, 
+    2111, 2113, 2115, 2115, 2117, 2116, 2117, 2118, 
+    2120, 2121, 2124, 2125, 2126, 2126, 2127, 2129, 
+    2129, 2129, 2129, 2131, 2129, 2129, 2129, 2128, 
+    2128, 2126, 2127, 2127, 2128, 2128, 2126, 2126, 
+    2125, 2126, 2125, 2124, 2121, 2120, 2119, 2118, 
+    2118, 2118, 2116, 2114, 2114, 2116, 2115, 2115, 
+    2111, 2110, 2110, 2110, 2107, 2108, 2108, 2106, 
+    2109, 2109, 2110, 2110, 2109, 2108, 2107, 2103, 
+    2102, 2102, 2102, 2101, 2099, 2101, 2098, 2096, 
+    2093, 2093, 2094, 2093, 2094, 2095, 2095, 2097, 
+    2094, 2090, 2091, 2088, 2084, 2083, 2083, 2082, 
+    2079, 2076, 2076, 2076, 2076, 2073, 2073, 2071, 
+    2068, 2069, 2068, 2066, 2063, 2063, 2063, 2065, 
+    2064, 2063, 2062, 2063, 2065, 2065, 2068, 2068, 
+    2066, 2068, 2066, 2062, 2064, 2067, 2063, 2063, 
+    2063, 2063, 2064, 2061, 2060, 2062, 2061, 2061, 
+    2059, 2061, 2060, 2057, 2059, 2059, 2058, 2058, 
+    2055, 2053, 2054, 2052, 2047, 2044, 2041, 2042, 
+    2040, 2041, 2041, 2042, 2039, 2039, 2040, 2042, 
+    2042, 2040, 2040, 2036, 2036, 2037, 2035, 2034, 
+    2034, 2032, 2031, 2028, 2027, 2026, 2023, 2025, 
+    2026, 2028, 2027, 2027, 2028, 2026, 2026, 2027, 
+    2025, 2022, 2019, 2016, 2011, 2010, 2008, 2008, 
+    2004, 2001, 1999, 1998, 1996, 1997, 1994, 1992, 
+    1993, 1990, 1989, 1985, 1984, 1983, 1980, 1979, 
+    1975, 1970, 1969, 1971, 1970, 1969, 1969, 1969, 
+    1970, 1971, 1973, 1975, 1974, 1974, 1974, 1975, 
+    1972, 1974, 1974, 1974, 1976, 1972, 1973, 1973, 
+    1973, 1973, 1969, 1972, 1972, 1977, 1981, 1984, 
+    1987, 1989, 1989, 1990, 1991, 1991, 1990, 1991, 
+    1989, 1987, 1985, 1988, 1987, 1986, 1987, 1988, 
+    1989, 1988, 1992, 1993, 1992, 1994, 1995, 1995, 
+    1994, 1993, 1991, 1994, 1992, 1990, 1992, 1990, 
+    1994, 1994, 1997, 1997, 1999, 2001, 2002, 2003, 
+    2003, 2003, 2005, 2003, 2000, 2000, 2001, 2003, 
+    2004, 2004, 2002, 2002, 2003, 2002, 2002, 2002, 
+    2003, 2002, 2001, 2005, 2003, 2001, 2001, 2003, 
+    2002, 2001, 2001, 2000, 2002, 2000, 2002, 2002, 
+    2002, 2003, 2002, 2005, 2004, 2004, 2008, 2007, 
+    2008, 2010, 2013, 2018, 2019, 2020, 2021, 2022, 
+    2023, 2023, 2024, 2024, 2022, 2022, 2023, 2025, 
+    2026, 2026, 2029, 2030, 2030, 2032, 2032, 2034, 
+    2032, 2033, 2031, 2033, 2035, 2036, 2037, 2037, 
+    2036, 2035, 2038, 2040, 2040, 2040, 2039, 2039, 
+    2040, 2041, 2040, 2040, 2039, 2041, 2040, 2039, 
+    2041, 2039, 2038, 2038, 2041, 2042, 2042, 2044, 
+    2042, 2042, 2040, 2042, 2044, 2043, 2043, 2045, 
+    2045, 2044, 2047, 2048, 2048, 2049, 2050, 2049, 
+    2051, 2052, 2053, 2056, 2055, 2055, 2056, 2056, 
+    2059, 2056, 2058, 2056, 2055, 2056, 2054, 2058, 
+    2059, 2059, 2059, 2058, 2057, 2058, 2056, 2056, 
+    2059, 2060, 2060, 2062, 2064, 2064, 2063, 2065, 
+    2065, 2066, 2064, 2065, 2067, 2064, 2064, 2064, 
+    2066, 2064, 2066, 2064, 2064, 2066, 2065, 2065, 
+    2064, 2064, 2063, 2064, 2063, 2063, 2064, 2063, 
+    2064, 2066, 2066, 2068, 2068, 2063, 2062, 2062, 
+    2063, 2065, 2065, 2063, 2062, 2064, 2064, 2067, 
+    2064, 2065, 2066, 2062, 2063, 2064, 2064, 2065, 
+    2066, 2064, 2066, 2069, 2069, 2070, 2070, 2070, 
+    2068, 2069, 2071, 2073, 2074, 2077, 2076, 2079, 
+    2080, 2082, 2082, 2083, 2083, 2082, 2082, 2081, 
+    2083, 2083, 2080, 2081, 2081, 2083, 2083, 2083, 
+    2083, 2080, 2081, 2084, 2085, 2084, 2085, 2085, 
+    2083, 2082, 2080, 2081, 2080, 2080, 2078, 2079, 
+    2077, 2076, 2076, 2076, 2078, 2076, 2077, 2078, 
+    2080, 2080, 2082, 2084, 2082, 2082, 2082, 2081, 
+    2082, 2082, 2083, 2083, 2084, 2085, 2086, 2086, 
+    2084, 2085, 2086, 2087, 2087, 2089, 2088, 2085, 
+    2086, 2089, 2088, 2087, 2086, 2086, 2086, 2090, 
+    2089, 2089, 2090, 2092, 2094, 2095, 2095, 2097, 
+    2098, 2099, 2100, 2099, 2101, 2104, 2102, 2101, 
+    2101, 2101, 2103, 2102, 2099, 2096, 2097, 2098, 
+    2097, 2097, 2099, 2099, 2100, 2100, 2102, 2105, 
+    2104, 2100, 2099, 2096, 2097, 2095, 2092, 2094, 
+    2092, 2089, 2089, 2088, 2088, 2085, 2085, 2083, 
+    2082, 2081, 2080, 2081, 2082, 2082, 2080, 2080, 
+    2080, 2079, 2080, 2078, 2076, 2074, 2073, 2073, 
+    2073, 2072, 2071, 2067, 2067, 2069, 2070, 2072, 
+    2074, 2077, 2078, 2078, 2080, 2078, 2076, 2076, 
+    2073, 2073, 2071, 2070, 2071, 2069, 2069, 2069, 
+    2069, 2068, 2069, 2069, 2068, 2068, 2068, 2069, 
+    2068, 2066, 2064, 2064, 2063, 2062, 2061, 2055, 
+    2058, 2059, 2057, 2056, 2055, 2058, 2057, 2055, 
+    2054, 2055, 2056, 2055, 2055, 2055, 2052, 2053, 
+    2055, 2054, 2055, 2052, 2051, 2051, 2050, 2049, 
+    2049, 2050, 2048, 2049, 2049, 2049, 2050, 2052, 
+    2052, 2052, 2052, 2053, 2054, 2057, 2057, 2058, 
+    2058, 2058, 2061, 2061, 2062, 2064, 2065, 2066, 
+    2068, 2067, 2070, 2071, 2073, 2075, 2075, 2076, 
+    2078, 2078, 2077, 2076, 2080, 2077, 2079, 2080, 
+    2081, 2079, 2076, 2075, 2074, 2077, 2075, 2071, 
+    2071, 2070, 2070, 2073, 2073, 2076, 2074, 2071, 
+    2072, 2072, 2071, 2072, 2069, 2066, 2064, 2062, 
+    2061, 2062, 2063, 2062, 2064, 2062, 2060, 2062, 
+    2062, 2061, 2061, 2060, 2056, 2057, 2057, 2055, 
+    2056, 2056, 2055, 2056, 2057, 2057, 2058, 2059, 
+    2060, 2059, 2062, 2065, 2067, 2068, 2067, 2067, 
+    2067, 2066, 2066, 2065, 2063, 2060, 2064, 2067, 
+    2067, 2065, 2063, 2062, 2063, 2063, 2061, 2061, 
+    2060, 2060, 2059, 2059, 2061, 2060, 2064, 2064, 
+    2063, 2062, 2061, 2061, 2060, 2060, 2059, 2057, 
+    2056, 2055, 2056, 2058, 2058, 2060, 2058, 2060, 
+    2060, 2057, 2056, 2055, 2055, 2054, 2052, 2051, 
+    2052, 2048, 2048, 2050, 2051, 2046, 2044, 2043, 
+    2045, 2045, 2042, 2044, 2044, 2045, 2046, 2048, 
+    2047, 2049, 2045, 2043, 2042, 2042, 2040, 2039, 
+    2040, 2039, 2042, 2041, 2042, 2044, 2043, 2041, 
+    2040, 2039, 2036, 2038, 2039, 2040, 2042, 2043, 
+    2042, 2042, 2043, 2043, 2042, 2042, 2041, 2042, 
+    2041, 2044, 2044, 2041, 2042, 2043, 2040, 2041, 
+    2040, 2038, 2038, 2036, 2034, 2034, 2035, 2032, 
+    2032, 2031, 2032, 2031, 2029, 2030, 2029, 2029, 
+    2027, 2025, 2024, 2025, 2022, 2021, 2016, 2012, 
+    2012, 2014, 2014, 2014, 2013, 2011, 2010, 2008, 
+    2010, 2009, 2008, 2007, 2006, 2008, 2009, 2010, 
+    2011, 2008, 2009, 2011, 2010, 2012, 2012, 2011, 
+    2011, 2008, 2010, 2012, 2012, 2014, 2014, 2013, 
+    2007, 2012, 2017, 2018, 2016, 2013, 2011, 2015, 
+    2016, 2018, 2020, 2019, 2018, 2020, 2021, 2023, 
+    2024, 2023, 2026, 2024, 2025, 2027, 2027, 2026, 
+    2025, 2026, 2026, 2024, 2025, 2024, 2019, 2017, 
+    2015, 2012, 2010, 2009, 2010, 2010, 2008, 2005, 
+    2007, 2008, 2004, 2002, 1999, 1995, 1994, 1997, 
+    1997, 1997, 1996, 1995, 2000, 2001, 1998, 1998, 
+    1994, 1994, 1993, 1993, 1990, 1991, 1991, 1991, 
+    1996, 1993, 1995, 1995, 1997, 1994, 1994, 1994, 
+    1993, 1993, 1990, 1990, 1992, 1994, 1996, 1998, 
+    1998, 1998, 2000, 2002, 2001, 2001, 2000, 1998, 
+    2003, 2004, 2002, 2003, 2006, 2006, 2007, 2004, 
+    2002, 2001, 2000, 2000, 2002, 2001, 2002, 2003, 
+    2003, 2005, 2002, 2003, 2004, 2004, 2003, 1999, 
+    1996, 1998, 2000, 2001, 2001, 2000, 2001, 2003, 
+    2007, 2006, 2006, 2006, 2007, 2005, 2009, 2008, 
+    2008, 2011, 2011, 2017, 2016, 2016, 2019, 2021, 
+    2022, 2023, 2020, 2019, 2021, 2022, 2022, 2019, 
+    2020, 2021, 2022, 2021, 2025, 2027, 2025, 2025, 
+    2026, 2028, 2029, 2031, 2029, 2030, 2033, 2034, 
+    2034, 2031, 2030, 2032, 2033, 2032, 2033, 2032, 
+    2032, 2033, 2033, 2033, 2034, 2033, 2033, 2035, 
+    2034, 2032, 2033, 2034, 2030, 2028, 2026, 2026, 
+    2029, 2028, 2028, 2027, 2029, 2031, 2033, 2034, 
+    2034, 2033, 2032, 2034, 2034, 2032, 2031, 2034, 
+    2032, 2034, 2030, 2032, 2033, 2031, 2032, 2031, 
+    2030, 2031, 2031, 2030, 2029, 2028, 2027, 2028, 
+    2029, 2029, 2027, 2027, 2027, 2028, 2029, 2025, 
+    2024, 2022, 2022, 2025, 2026, 2027, 2026, 2027, 
+    2030, 2032, 2030, 2030, 2028, 2029, 2028, 2027, 
+    2028, 2030, 2032, 2030, 2032, 2033, 2032, 2031, 
+    2030, 2033, 2031, 2031, 2034, 2033, 2039, 2039, 
+    2039, 2041, 2043, 2043, 2041, 2039, 2038, 2038, 
+    2039, 2040, 2041, 2040, 2044, 2044, 2043, 2044, 
+    2044, 2047, 2049, 2045, 2046, 2046, 2044, 2046, 
+    2046, 2046, 2047, 2043, 2040, 2041, 2040, 2041, 
+    2045, 2044, 2044, 2046, 2043, 2042, 2042, 2041, 
+    2041, 2041, 2042, 2043, 2043, 2044, 2044, 2042, 
+    2042, 2044, 2044, 2044, 2046, 2045, 2046, 2046, 
+    2044, 2043, 2044, 2041, 2040, 2042, 2043, 2042, 
+    2043, 2047, 2046, 2048, 2045, 2045, 2046, 2046, 
+    2045, 2046, 2046, 2044, 2042, 2042, 2043, 2045, 
+    2047, 2046, 2046, 2048, 2048, 2049, 2050, 2049, 
+    2047, 2047, 2048, 2050, 2050, 2049, 2050, 2050, 
+    2051, 2050, 2048, 2048, 2047, 2044, 2044, 2043, 
+    2042, 2043, 2041, 2040, 2041, 2039, 2038, 2038, 
+    2038, 2038, 2039, 2036, 2034, 2034, 2031, 2031, 
+    2031, 2029, 2028, 2027, 2028, 2028, 2026, 2025, 
+    2027, 2030, 2028, 2027, 2025, 2024, 2023, 2020, 
+    2021, 2020, 2018, 2021, 2021, 2020, 2018, 2020, 
+    2019, 2021, 2026, 2027, 2027, 2027, 2028, 2027, 
+    2028, 2026, 2029, 2026, 2025, 2028, 2029, 2030, 
+    2033, 2034, 2034, 2034, 2036, 2036, 2039, 2041, 
+    2041, 2040, 2039, 2036, 2033, 2030, 2032, 2031, 
+    2029, 2034, 2039, 2044, 2048, 2051, 2054, 2055, 
+    2054, 2057, 2059, 2056, 2053, 2050, 2048, 2044, 
+    2037, 2033, 2030, 2026, 2027, 2028, 2031, 2037, 
+    2042, 2046, 2051, 2051, 2056, 2056, 2052, 2048, 
+    2044, 2037, 2029, 2023, 2014, 2007, 2003, 2002, 
+    2001, 1999, 1952, 1835, 1745, 1700, 1674, 1683, 
+    1730, 1806, 1892, 1979, 2053, 2095, 2102, 2106, 
+    2121, 2130, 2119, 2100, 2071, 2028, 1984, 1947, 
+    1918, 1900, 1904, 1935, 1979, 2022, 2068, 2117, 
+    2154, 2185, 2200, 2203, 2195, 2171, 2138, 2103, 
+    2079, 2045, 2012, 2001, 2006, 2014, 2025, 2046, 
+    2071, 2087, 2104, 2123, 2137, 2145, 2147, 2156, 
+    2150, 2130, 2105, 2082, 2044, 2005, 1982, 1967, 
+    1967, 1976, 1996, 1991, 1900, 1837, 1827, 1801, 
+    1808, 1817, 1847, 1897, 1932, 1965, 1973, 1967, 
+    1969, 2007, 2030, 2021, 2003, 1972, 1936, 1895, 
+    1870, 1845, 1822, 1827, 1856, 1892, 1915, 1937, 
+    1964, 1985, 2006, 2025, 2041, 2046, 2029, 2015, 
+    2001, 1988, 1969, 1936, 1912, 1908, 1909, 1918, 
+    1931, 1948, 1974, 2003, 2029, 2050, 2066, 2074, 
+    2075, 2065, 2045, 2027, 2012, 1990, 1967, 1957, 
+    1960, 1970, 1981, 1996, 2015, 2026, 2040, 2054, 
+    2058, 2051, 2049, 2056, 2058, 2049, 2029, 2008, 
+    1991, 1985, 1983, 1975, 1951, 1915, 1878, 1859, 
+    1850, 1841, 1846, 1863, 1891, 1923, 1957, 1977, 
+    1975, 1960, 1953, 1956, 1965, 1970, 1964, 1957, 
+    1943, 1933, 1923, 1910, 1898, 1892, 1897, 1914, 
+    1945, 1973, 2000, 2018, 2031, 2040, 2038, 2026, 
+    2002, 1975, 1954, 1945, 1942, 1938, 1941, 1951, 
+    1964, 1971, 1972, 1970, 1979, 1989, 1996, 2004, 
+    2013, 2012, 2009, 2022, 2016, 1991, 1975, 1980, 
+    1974, 1947, 1934, 1950, 1976, 2002, 2023, 2035, 
+    2041, 2047, 2053, 2046, 2030, 2021, 2017, 2011, 
+    2015, 2021, 2010, 1991, 1984, 1996, 2011, 2016, 
+    2013, 2008, 2006, 2017, 2024, 2023, 2026, 2032, 
+    2031, 2030, 2029, 2025, 2004, 1987, 1996, 2021, 
+    2041, 2042, 2035, 2033, 2031, 2026, 2011, 1998, 
+    1989, 1977, 1963, 1956, 1957, 1951, 1941, 1935, 
+    1939, 1951, 1956, 1956, 1952, 1948, 1950, 1950, 
+    1945, 1938, 1908, 1840, 1792, 1779, 1765, 1742, 
+    1726, 1745, 1771, 1801, 1839, 1877, 1904, 1924, 
+    1950, 1965, 1975, 1976, 1957, 1929, 1906, 1900, 
+    1888, 1864, 1847, 1846, 1861, 1881, 1909, 1945, 
+    1986, 2019, 2043, 2056, 2062, 2055, 2026, 2000, 
+    1988, 1976, 1954, 1935, 1934, 1950, 1972, 1984, 
+    1998, 2022, 2047, 2060, 2063, 2064, 2062, 2057, 
+    2046, 2040, 2033, 2016, 2000, 1991, 1978, 1969, 
+    1972, 1995, 2016, 2028, 2051, 2070, 2071, 2066, 
+    2059, 2044, 2023, 2007, 2003, 1999, 1984, 1970, 
+    1965, 1963, 1962, 1970, 1982, 1988, 1993, 1996, 
+    2001, 2005, 2000, 2001, 1999, 1991, 1984, 1972, 
+    1960, 1944, 1929, 1920, 1919, 1935, 1958, 1974, 
+    1980, 1991, 2005, 2018, 2015, 1997, 1984, 1971, 
+    1956, 1948, 1945, 1940, 1945, 1963, 1973, 1972, 
+    1975, 1981, 1986, 1988, 1995, 2009, 2020, 2032, 
+    2035, 2026, 2008, 1991, 1973, 1962, 1964, 1971, 
+    1981, 1999, 2025, 2050, 2063, 2068, 2062, 2052, 
+    2044, 2038, 2033, 2028, 2027, 2028, 2031, 2031, 
+    2033, 2029, 2021, 2019, 2017, 2021, 2031, 2044, 
+    2058, 2068, 2075, 2074, 2067, 2056, 2044, 2031, 
+    2015, 2002, 2000, 1997, 2001, 2010, 2012, 2025, 
+    2035, 2041, 2044, 2046, 2048, 2043, 2039, 2035, 
+    2036, 2032, 2025, 2016, 2004, 1989, 1982, 1983, 
+    1989, 1998, 2008, 2021, 2032, 2036, 2037, 2035, 
+    2031, 2021, 2012, 2011, 2008, 2002, 1999, 2000, 
+    2001, 2003, 2011, 2021, 2025, 2024, 2027, 2033, 
+    2036, 2036, 2038, 2039, 2042, 2040, 2037, 2034, 
+    2027, 2019, 2013, 2012, 2013, 2018, 2030, 2043, 
+    2057, 2067, 2074, 2075, 2069, 2060, 2051, 2044, 
+    2036, 2030, 2031, 2033, 2037, 2040, 2043, 2043, 
+    2048, 2053, 2054, 2054, 2061, 2069, 2066, 2060, 
+    2059, 2056, 2052, 2050, 2054, 2057, 2053, 2055, 
+    2055, 2059, 2060, 2063, 2067, 2069, 2068, 2070, 
+    2067, 2058, 2047, 2043, 2042, 2039, 2040, 2047, 
+    2051, 2050, 2052, 2055, 2058, 2056, 2055, 2053, 
+    2053, 2049, 2047, 2045, 2040, 2036, 2031, 2028, 
+    2026, 2026, 2032, 2039, 2047, 2053, 2058, 2061, 
+    2060, 2062, 2056, 2046, 2043, 2040, 2040, 2037, 
+    2036, 2037, 2041, 2042, 2044, 2048, 2048, 2050, 
+    2056, 2062, 2066, 2068, 2071, 2072, 2070, 2069, 
+    2066, 2057, 2048, 2044, 2044, 2047, 2050, 2055, 
+    2061, 2067, 2072, 2078, 2083, 2085, 2088, 2087, 
+    2084, 2083, 2076, 2071, 2067, 2062, 2060, 2060, 
+    2058, 2056, 2059, 2065, 2073, 2079, 2088, 2089, 
+    2093, 2097, 2097, 2092, 2084, 2078, 2074, 2067, 
+    2060, 2058, 2056, 2058, 2058, 2065, 2067, 2073, 
+    2077, 2081, 2080, 2074, 2072, 2069, 2067, 2063, 
+    2062, 2059, 2061, 2060, 2057, 2055, 2054, 2057, 
+    2061, 2065, 2067, 2065, 2063, 2063, 2061, 2058, 
+    2053, 2052, 2050, 2051, 2053, 2057, 2059, 2061, 
+    2060, 2058, 2060, 2058, 2061, 2068, 2071, 2070, 
+    2066, 2069, 2067, 2061, 2055, 2052, 2054, 2054, 
+    2055, 2056, 2061, 2063, 2065, 2066, 2071, 2076, 
+    2080, 2082, 2081, 2080, 2075, 2068, 2058, 2048, 
+    2040, 2036, 2035, 2040, 2050, 2059, 2070, 2083, 
+    2092, 2097, 2094, 2091, 2087, 2077, 2070, 2062, 
+    2054, 2049, 2048, 2048, 2046, 2044, 2051, 2058, 
+    2067, 2075, 2088, 2091, 2085, 2077, 2068, 2063, 
+    2056, 2056, 2062, 2064, 2061, 2056, 2051, 2046, 
+    2044, 2047, 2050, 2057, 2063, 2064, 2061, 2056, 
+    2057, 2059, 2063, 2068, 2068, 2068, 2063, 2054, 
+    2043, 2036, 2033, 2035, 2039, 2045, 2048, 2051, 
+    2049, 2047, 2048, 2046, 2052, 2057, 2058, 2058, 
+    2054, 2046, 2040, 2039, 2036, 2037, 2041, 2045, 
+    2049, 2052, 2049, 2042, 2030, 2022, 2020, 2022, 
+    2029, 2039, 2048, 2058, 2064, 2062, 2056, 2045, 
+    2040, 2036, 2032, 2029, 2024, 2020, 2014, 2012, 
+    2016, 2023, 2034, 2043, 2051, 2053, 2052, 2048, 
+    2041, 2034, 2030, 2028, 2027, 2024, 2016, 2008, 
+    2003, 2001, 2003, 2009, 2019, 2026, 2032, 2033, 
+    2033, 2032, 2033, 2036, 2038, 2038, 2034, 2035, 
+    2031, 2029, 2024, 2023, 2024, 2027, 2027, 2026, 
+    2020, 2017, 2018, 2022, 2026, 2031, 2038, 2039, 
+    2038, 2039, 2038, 2036, 2030, 2024, 2022, 2020, 
+    2016, 2012, 2011, 2011, 2013, 2018, 2025, 2028, 
+    2026, 2024, 2018, 2014, 2008, 2003, 2001, 2007, 
+    2014, 2025, 2029, 2026, 2019, 2008, 1999, 1990, 
+    1985, 1984, 1989, 1995, 2007, 2015, 2015, 2015, 
+    2014, 2013, 2012, 2016, 2016, 2015, 2014, 2008, 
+    2001, 1991, 1987, 1984, 1986, 1989, 1995, 2004, 
+    2009, 2011, 2010, 2006, 2000, 1996, 1997, 1996, 
+    2000, 2000, 1999, 2002, 2001, 2000, 1997, 1994, 
+    1989, 1988, 1986, 1981, 1977, 1979, 1982, 1986, 
+    1990, 1998, 2000, 2002, 2001, 2000, 1993, 1983, 
+    1977, 1970, 1963, 1960, 1963, 1962, 1965, 1966, 
+    1967, 1969, 1968, 1972, 1976, 1979, 1983, 1984, 
+    1985, 1986, 1982, 1975, 1969, 1963, 1960, 1958, 
+    1961, 1965, 1969, 1972, 1976, 1980, 1983, 1988, 
+    1989, 1990, 1991, 1990, 1986, 1984, 1983, 1980, 
+    1974, 1972, 1973, 1977, 1984, 1992, 1997, 2000, 
+    2005, 2009, 2009, 2003, 1998, 1992, 1986, 1983, 
+    1977, 1973, 1969, 1968, 1974, 1977, 1984, 1992, 
+    1998, 2004, 2001, 1996, 1990, 1986, 1984, 1982, 
+    1982, 1986, 1988, 1990, 1988, 1986, 1984, 1984, 
+    1983, 1984, 1988, 1993, 1998, 2003, 2005, 2001, 
+    1996, 1991, 1986, 1983, 1979, 1982, 1983, 1986, 
+    1991, 1992, 1990, 1986, 1984, 1980, 1982, 1982, 
+    1984, 1986, 1984, 1987, 1987, 1982, 1984, 1986, 
+    1983, 1984, 1985, 1987, 1986, 1985, 1982, 1982, 
+    1984, 1985, 1988, 1986, 1988, 1990, 1991, 1992, 
+    1993, 1992, 1991, 1991, 1988, 1987, 1990, 1991, 
+    1994, 1997, 2001, 2001, 1999, 1995, 1988, 1984, 
+    1980, 1976, 1976, 1982, 1985, 1987, 1989, 1991, 
+    1993, 1993, 1996, 1999, 2003, 2005, 2004, 2004, 
+    2002, 1998, 1994, 1989, 1986, 1984, 1983, 1984, 
+    1983, 1981, 1985, 1986, 1986, 1986, 1988, 1992, 
+    1997, 2000, 1999, 1996, 1991, 1991, 1988, 1982, 
+    1983, 1980, 1981, 1984, 1984, 1985, 1985, 1989, 
+    1991, 1994, 1999, 1996, 1994, 1989, 1988, 1988, 
+    1979, 1980, 1979, 1980, 1979, 1980, 1982, 1984, 
+    1985, 1986, 1988, 1988, 1992, 1991, 1989, 1987, 
+    1988, 1987, 1987, 1991, 1994, 1999, 2003, 2001, 
+    2000, 1999, 1996, 1991, 1990, 1990, 1991, 1990, 
+    1992, 1994, 1993, 1997, 1997, 2002, 2009, 2016, 
+    2022, 2025, 2028, 2027, 2024, 2024, 2024, 2022, 
+    2025, 2024, 2022, 2021, 2019, 2017, 2014, 2017, 
+    2020, 2023, 2026, 2030, 2034, 2036, 2033, 2032, 
+    2030, 2029, 2027, 2021, 2019, 2017, 2016, 2019, 
+    2027, 2031, 2033, 2035, 2032, 2030, 2024, 2022, 
+    2016, 2015, 2017, 2014, 2013, 2013, 2012, 2012, 
+    2014, 2017, 2023, 2029, 2033, 2036, 2037, 2034, 
+    2032, 2029, 2029, 2029, 2030, 2030, 2032, 2030, 
+    2026, 2021, 2019, 2021, 2027, 2033, 2038, 2040, 
+    2044, 2047, 2043, 2038, 2035, 2033, 2031, 2030, 
+    2030, 2030, 2031, 2033, 2038, 2039, 2038, 2037, 
+    2039, 2038, 2037, 2035, 2036, 2039, 2042, 2043, 
+    2041, 2042, 2042, 2040, 2036, 2037, 2040, 2040, 
+    2042, 2046, 2049, 2046, 2044, 2044, 2043, 2040, 
+    2036, 2039, 2042, 2045, 2048, 2043, 2040, 2037, 
+    2036, 2034, 2033, 2032, 2032, 2032, 2036, 2037, 
+    2040, 2041, 2042, 2043, 2047, 2051, 2051, 2049, 
+    2047, 2043, 2035, 2031, 2027, 2025, 2026, 2024, 
+    2030, 2034, 2036, 2038, 2039, 2045, 2052, 2054, 
+    2055, 2054, 2053, 2052, 2051, 2048, 2046, 2044, 
+    2048, 2048, 2046, 2046, 2047, 2046, 2047, 2048, 
+    2049, 2051, 2051, 2052, 2051, 2052, 2052, 2055, 
+    2062, 2064, 2067, 2068, 2066, 2068, 2067, 2066, 
+    2069, 2069, 2070, 2072, 2071, 2071, 2067, 2062, 
+    2061, 2063, 2064, 2067, 2067, 2067, 2071, 2071, 
+    2074, 2079, 2080, 2081, 2080, 2078, 2074, 2072, 
+    2068, 2062, 2060, 2061, 2064, 2065, 2069, 2073, 
+    2076, 2081, 2084, 2089, 2091, 2094, 2093, 2093, 
+    2090, 2086, 2085, 2081, 2081, 2081, 2082, 2082, 
+    2081, 2081, 2080, 2078, 2080, 2084, 2086, 2090, 
+    2096, 2095, 2095, 2093, 2091, 2085, 2086, 2088, 
+    2088, 2090, 2091, 2091, 2089, 2088, 2089, 2088, 
+    2087, 2089, 2089, 2092, 2096, 2099, 2102, 2101, 
+    2100, 2102, 2102, 2098, 2096, 2092, 2089, 2086, 
+    2084, 2086, 2093, 2097, 2105, 2111, 2115, 2116, 
+    2114, 2112, 2111, 2112, 2113, 2116, 2114, 2119, 
+    2124, 2127, 2122, 2115, 2114, 2111, 2111, 2112, 
+    2114, 2115, 2118, 2123, 2127, 2131, 2133, 2135, 
+    2136, 2135, 2131, 2130, 2130, 2131, 2130, 2129, 
+    2131, 2135, 2136, 2139, 2139, 2137, 2133, 2130, 
+    2126, 2124, 2129, 2129, 2129, 2126, 2126, 2128, 
+    2128, 2126, 2127, 2127, 2132, 2134, 2131, 2129, 
+    2126, 2124, 2122, 2119, 2115, 2112, 2110, 2111, 
+    2112, 2114, 2114, 2116, 2115, 2118, 2121, 2125, 
+    2126, 2124, 2124, 2120, 2118, 2115, 2113, 2110, 
+    2111, 2111, 2109, 2108, 2110, 2112, 2115, 2119, 
+    2121, 2123, 2123, 2121, 2121, 2120, 2123, 2124, 
+    2125, 2127, 2128, 2129, 2127, 2124, 2119, 2114, 
+    2112, 2110, 2111, 2114, 2114, 2118, 2123, 2126, 
+    2127, 2125, 2126, 2130, 2131, 2133, 2130, 2128, 
+    2125, 2120, 2118, 2117, 2116, 2119, 2129, 2132, 
+    2133, 2134, 2131, 2132, 2131, 2134, 2137, 2139, 
+    2140, 2139, 2138, 2133, 2130, 2126, 2123, 2123, 
+    2127, 2128, 2130, 2134, 2133, 2134, 2137, 2140, 
+    2142, 2144, 2144, 2141, 2136, 2133, 2128, 2121, 
+    2118, 2120, 2127, 2129, 2134, 2138, 2138, 2138, 
+    2134, 2133, 2131, 2133, 2134, 2131, 2126, 2121, 
+    2115, 2108, 2109, 2114, 2120, 2128, 2136, 2141, 
+    2142, 2142, 2143, 2139, 2139, 2139, 2137, 2135, 
+    2128, 2123, 2116, 2110, 2108, 2108, 2110, 2116, 
+    2119, 2122, 2128, 2129, 2126, 2123, 2125, 2127, 
+    2130, 2128, 2124, 2119, 2113, 2106, 2104, 2105, 
+    2107, 2110, 2115, 2118, 2118, 2118, 2118, 2115, 
+    2114, 2115, 2115, 2115, 2114, 2112, 2111, 2111, 
+    2110, 2112, 2115, 2116, 2117, 2119, 2116, 2115, 
+    2112, 2111, 2110, 2108, 2107, 2105, 2106, 2106, 
+    2106, 2106, 2106, 2106, 2107, 2108, 2108, 2107, 
+    2110, 2113, 2115, 2113, 2108, 2103, 2094, 2086, 
+    2084, 2086, 2087, 2084, 2085, 2089, 2090, 2091, 
+    2096, 2100, 2103, 2105, 2110, 2108, 2105, 2098, 
+    2093, 2091, 2087, 2089, 2094, 2099, 2101, 2101, 
+    2097, 2094, 2093, 2090, 2096, 2104, 2109, 2110, 
+    2108, 2104, 2102, 2102, 2104, 2108, 2113, 2117, 
+    2120, 2119, 2118, 2118, 2113, 2115, 2119, 2120, 
+    2125, 2126, 2121, 2117, 2111, 2108, 2110, 2112, 
+    2116, 2121, 2127, 2129, 2130, 2127, 2128, 2128, 
+    2130, 2134, 2137, 2136, 2133, 2129, 2124, 2119, 
+    2115, 2115, 2117, 2121, 2127, 2131, 2132, 2132, 
+    2131, 2131, 2135, 2138, 2140, 2138, 2136, 2130, 
+    2124, 2122, 2123, 2125, 2132, 2138, 2144, 2147, 
+    2147, 2146, 2144, 2144, 2143, 2143, 2144, 2143, 
+    2138, 2133, 2127, 2121, 2118, 2121, 2128, 2135, 
+    2143, 2151, 2154, 2152, 2151, 2147, 2143, 2142, 
+    2142, 2139, 2135, 2134, 2133, 2133, 2134, 2135, 
+    2136, 2140, 2144, 2143, 2143, 2144, 2144, 2144, 
+    2144, 2145, 2148, 2146, 2145, 2144, 2143, 2139, 
+    2139, 2138, 2139, 2140, 2141, 2144, 2149, 2152, 
+    2155, 2157, 2158, 2160, 2160, 2160, 2157, 2156, 
+    2153, 2151, 2152, 2152, 2149, 2148, 2148, 2147, 
+    2149, 2152, 2158, 2161, 2165, 2164, 2165, 2166, 
+    2166, 2164, 2161, 2163, 2163, 2163, 2160, 2157, 
+    2157, 2156, 2153, 2155, 2159, 2162, 2163, 2166, 
+    2171, 2171, 2170, 2166, 2161, 2157, 2153, 2153, 
+    2155, 2155, 2152, 2153, 2155, 2157, 2159, 2160, 
+    2165, 2168, 2167, 2167, 2161, 2156, 2154, 2152, 
+    2152, 2154, 2155, 2157, 2156, 2159, 2156, 2157, 
+    2157, 2158, 2159, 2163, 2169, 2166, 2162, 2158, 
+    2154, 2153, 2151, 2148, 2152, 2158, 2156, 2155, 
+    2157, 2159, 2156, 2154, 2154, 2157, 2156, 2158, 
+    2160, 2158, 2156, 2153, 2151, 2149, 2146, 2150, 
+    2155, 2156, 2159, 2160, 2161, 2163, 2166, 2168, 
+    2168, 2169, 2170, 2169, 2164, 2157, 2152, 2150, 
+    2150, 2148, 2150, 2155, 2162, 2165, 2170, 2172, 
+    2177, 2181, 2184, 2184, 2182, 2180, 2175, 2171, 
+    2164, 2160, 2156, 2157, 2161, 2162, 2164, 2167, 
+    2165, 2163, 2165, 2165, 2167, 2169, 2171, 2172, 
+    2172, 2171, 2170, 2170, 2173, 2176, 2172, 2171, 
+    2171, 2171, 2165, 2160, 2153, 2154, 2159, 2167, 
+    2170, 2170, 2171, 2173, 2172, 2170, 2169, 2171, 
+    2174, 2176, 2180, 2179, 2174, 2170, 2168, 2168, 
+    2167, 2167, 2168, 2169, 2171, 2169, 2169, 2171, 
+    2173, 2177, 2179, 2185, 2189, 2191, 2188, 2181, 
+    2179, 2178, 2176, 2179, 2182, 2183, 2178, 2177, 
+    2172, 2165, 2159, 2158, 2164, 2168, 2169, 2173, 
+    2173, 2170, 2173, 2175, 2177, 2179, 2185, 2189, 
+    2193, 2190, 2186, 2183, 2180, 2182, 2182, 2184, 
+    2188, 2188, 2185, 2180, 2174, 2172, 2171, 2170, 
+    2173, 2178, 2178, 2178, 2176, 2177, 2177, 2179, 
+    2184, 2188, 2194, 2199, 2200, 2198, 2193, 2188, 
+    2182, 2177, 2175, 2172, 2172, 2172, 2174, 2173, 
+    2175, 2173, 2179, 2186, 2190, 2197, 2200, 2201, 
+    2196, 2190, 2185, 2180, 2176, 2174, 2169, 2167, 
+    2164, 2162, 2158, 2157, 2158, 2162, 2169, 2177, 
+    2185, 2190, 2192, 2192, 2186, 2180, 2175, 2173, 
+    2169, 2166, 2165, 2162, 2158, 2153, 2152, 2155, 
+    2161, 2168, 2176, 2185, 2185, 2184, 2181, 2180, 
+    2176, 2174, 2175, 2177, 2181, 2185, 2185, 2179, 
+    2177, 2172, 2169, 2170, 2172, 2174, 2175, 2176, 
+    2172, 2170, 2171, 2174, 2179, 2185, 2191, 2198, 
+    2203, 2202, 2197, 2190, 2190, 2190, 2188, 2190, 
+    2188, 2183, 2178, 2173, 2168, 2167, 2166, 2173, 
+    2180, 2188, 2199, 2202, 2205, 2202, 2201, 2195, 
+    2192, 2191, 2190, 2189, 2186, 2182, 2179, 2177, 
+    2175, 2176, 2178, 2185, 2189, 2193, 2196, 2195, 
+    2197, 2195, 2192, 2193, 2194, 2196, 2196, 2189, 
+    2183, 2181, 2180, 2182, 2185, 2190, 2198, 2201, 
+    2206, 2203, 2198, 2192, 2186, 2185, 2182, 2179, 
+    2178, 2179, 2175, 2175, 2180, 2186, 2191, 2195, 
+    2199, 2201, 2199, 2196, 2190, 2190, 2185, 2184, 
+    2182, 2179, 2177, 2170, 2164, 2162, 2162, 2165, 
+    2169, 2173, 2180, 2186, 2191, 2193, 2194, 2193, 
+    2193, 2192, 2190, 2186, 2185, 2182, 2175, 2172, 
+    2171, 2171, 2172, 2174, 2179, 2180, 2182, 2188, 
+    2190, 2191, 2192, 2192, 2192, 2190, 2188, 2190, 
+    2188, 2185, 2183, 2182, 2181, 2179, 2178, 2178, 
+    2175, 2175, 2175, 2176, 2179, 2180, 2183, 2182, 
+    2179, 2179, 2178, 2177, 2179, 2180, 2187, 2188, 
+    2192, 2194, 2194, 2193, 2191, 2192, 2192, 2188, 
+    2185, 2183, 2183, 2182, 2180, 2184, 2186, 2191, 
+    2195, 2199, 2200, 2203, 2201, 2201, 2203, 2206, 
+    2208, 2207, 2209, 2205, 2198, 2193, 2186, 2185, 
+    2183, 2188, 2190, 2194, 2198, 2199, 2200, 2199, 
+    2200, 2202, 2203, 2204, 2202, 2202, 2200, 2192, 
+    2186, 2183, 2177, 2174, 2172, 2166, 2164, 2161, 
+    2160, 2158, 2158, 2160, 2161, 2167, 2169, 2169, 
+    2165, 2162, 2160, 2161, 2161, 2162, 2164, 2167, 
+    2167, 2165, 2161, 2156, 2155, 2150, 2146, 2147, 
+    2150, 2152, 2156, 2158, 2161, 2164, 2166, 2166, 
+    2165, 2165, 2163, 2163, 2161, 2159, 2158, 2157, 
+    2160, 2157, 2158, 2156, 2153, 2148, 2147, 2150, 
+    2154, 2155, 2159, 2162, 2166, 2165, 2165, 2166, 
+    2164, 2163, 2158, 2154, 2152, 2151, 2151, 2151, 
+    2148, 2147, 2147, 2147, 2148, 2149, 2154, 2158, 
+    2162, 2165, 2166, 2170, 2172, 2172, 2172, 2169, 
+    2169, 2166, 2164, 2162, 2160, 2159, 2159, 2162, 
+    2166, 2167, 2168, 2170, 2172, 2172, 2174, 2175, 
+    2177, 2178, 2183, 2185, 2181, 2179, 2176, 2174, 
+    2169, 2164, 2162, 2163, 2161, 2165, 2165, 2165, 
+    2169, 2171, 2173, 2175, 2177, 2178, 2177, 2177, 
+    2176, 2174, 2174, 2176, 2177, 2177, 2177, 2174, 
+    2173, 2170, 2167, 2167, 2170, 2173, 2179, 2182, 
+    2182, 2183, 2183, 2185, 2188, 2190, 2192, 2194, 
+    2193, 2193, 2192, 2191, 2190, 2191, 2194, 2194, 
+    2196, 2201, 2203, 2202, 2198, 2198, 2199, 2205, 
+    2208, 2214, 2218, 2220, 2218, 2220, 2218, 2219, 
+    2220, 2219, 2218, 2216, 2213, 2212, 2214, 2210, 
+    2210, 2212, 2213, 2215, 2217, 2216, 2217, 2218, 
+    2220, 2223, 2223, 2226, 2228, 2228, 2224, 2223, 
+    2220, 2219, 2218, 2219, 2218, 2216, 2216, 2218, 
+    2221, 2221, 2225, 2230, 2238, 2245, 2250, 2250, 
+    2250, 2249, 2241, 2237, 2235, 2232, 2230, 2227, 
+    2227, 2230, 2230, 2231, 2235, 2238, 2238, 2240, 
+    2244, 2246, 2244, 2243, 2244, 2246, 2247, 2246, 
+    2243, 2239, 2237, 2233, 2231, 2230, 2231, 2231, 
+    2234, 2237, 2240, 2243, 2242, 2239, 2238, 2240, 
+    2243, 2242, 2243, 2246, 2250, 2253, 2251, 2249, 
+    2251, 2250, 2249, 2249, 2249, 2247, 2247, 2247, 
+    2247, 2246, 2246, 2248, 2249, 2251, 2253, 2254, 
+    2256, 2258, 2258, 2261, 2261, 2260, 2261, 2258, 
+    2257, 2252, 2251, 2252, 2247, 2245, 2244, 2243, 
+    2245, 2241, 2239, 2239, 2241, 2241, 2242, 2243, 
+    2246, 2244, 2241, 2237, 2235, 2235, 2232, 2231, 
+    2231, 2232, 2230, 2230, 2229, 2230, 2233, 2233, 
+    2233, 2237, 2239, 2239, 2238, 2237, 2239, 2242, 
+    2244, 2244, 2245, 2243, 2236, 2232, 2227, 2223, 
+    2225, 2226, 2230, 2232, 2235, 2234, 2234, 2234, 
+    2235, 2240, 2240, 2245, 2248, 2249, 2245, 2239, 
+    2235, 2231, 2226, 2224, 2223, 2219, 2218, 2217, 
+    2217, 2217, 2221, 2223, 2227, 2230, 2232, 2233, 
+    2231, 2231, 2228, 2226, 2226, 2224, 2219, 2218, 
+    2216, 2211, 2211, 2213, 2217, 2218, 2221, 2223, 
+    2226, 2231, 2235, 2242, 2248, 2251, 2251, 2253, 
+    2254, 2259, 2259, 2254, 2255, 2254, 2250, 2246, 
+    2241, 2238, 2232, 2231, 2234, 2239, 2241, 2243, 
+    2248, 2250, 2254, 2256, 2259, 2262, 2264, 2263, 
+    2261, 2255, 2251, 2246, 2240, 2233, 2230, 2233, 
+    2232, 2228, 2224, 2223, 2222, 2221, 2223, 2227, 
+    2230, 2235, 2234, 2232, 2230, 2231, 2230, 2232, 
+    2232, 2232, 2229, 2227, 2228, 2225, 2224, 2224, 
+    2227, 2229, 2227, 2228, 2227, 2228, 2230, 2230, 
+    2229, 2231, 2233, 2233, 2231, 2226, 2226, 2223, 
+    2223, 2223, 2225, 2228, 2227, 2228, 2226, 2226, 
+    2224, 2221, 2223, 2224, 2225, 2227, 2229, 2227, 
+    2228, 2225, 2224, 2223, 2226, 2224, 2224, 2226, 
+    2225, 2226, 2226, 2226, 2225, 2224, 2225, 2227, 
+    2225, 2223, 2223, 2227, 2227, 2226, 2227, 2226, 
+    2226, 2225, 2226, 2228, 2227, 2229, 2229, 2232, 
+    2231, 2232, 2230, 2233, 2232, 2232, 2231, 2230, 
+    2231, 2230, 2230, 2231, 2231, 2233, 2234, 2235, 
+    2235, 2231, 2228, 2227, 2226, 2224, 2222, 2222, 
+    2222, 2224, 2221, 2220, 2217, 2215, 2213, 2214, 
+    2215, 2216, 2215, 2212, 2211, 2209, 2211, 2212, 
+    2209, 2211, 2212, 2210, 2206, 2203, 2199, 2197, 
+    2198, 2199, 2203, 2207, 2210, 2212, 2214, 2216, 
+    2219, 2220, 2222, 2224, 2226, 2227, 2223, 2217, 
+    2212, 2206, 2203, 2197, 2193, 2193, 2195, 2199, 
+    2203, 2209, 2213, 2216, 2218, 2223, 2225, 2227, 
+    2228, 2222, 2219, 2214, 2213, 2213, 2213, 2210, 
+    2210, 2207, 2207, 2206, 2204, 2201, 2204, 2207, 
+    2209, 2212, 2214, 2216, 2215, 2211, 2206, 2204, 
+    2203, 2199, 2200, 2198, 2199, 2202, 2200, 2199, 
+    2198, 2198, 2198, 2200, 2201, 2199, 2201, 2199, 
+    2198, 2193, 2192, 2191, 2190, 2190, 2192, 2192, 
+    2192, 2191, 2191, 2191, 2193, 2193, 2194, 2193, 
+    2192, 2192, 2188, 2185, 2182, 2181, 2177, 2177, 
+    2178, 2175, 2176, 2174, 2175, 2172, 2173, 2172, 
+    2172, 2172, 2170, 2169, 2164, 2158, 2153, 2149, 
+    2144, 2143, 2138, 2134, 2132, 2135, 2138, 2137, 
+    2138, 2140, 2144, 2147, 2148, 2149, 2150, 2147, 
+    2144, 2143, 2141, 2139, 2136, 2134, 2132, 2132, 
+    2133, 2132, 2131, 2136, 2138, 2142, 2146, 2146, 
+    2147, 2146, 2148, 2147, 2142, 2140, 2139, 2138, 
+    2138, 2133, 2130, 2126, 2122, 2121, 2123, 2124, 
+    2123, 2125, 2127, 2128, 2126, 2125, 2123, 2120, 
+    2117, 2112, 2110, 2107, 2104, 2102, 2096, 2092, 
+    2091, 2091, 2087, 2086, 2087, 2089, 2090, 2089, 
+    2087, 2086, 2088, 2090, 2094, 2095, 2095, 2093, 
+    2089, 2085, 2081, 2078, 2077, 2075, 2075, 2074, 
+    2073, 2073, 2069, 2066, 2065, 2064, 2064, 2062, 
+    2064, 2064, 2065, 2067, 2067, 2067, 2066, 2067, 
+    2065, 2064, 2064, 2062, 2059, 2055, 2053, 2053, 
+    2055, 2054, 2055, 2054, 2054, 2050, 2050, 2051, 
+    2051, 2051, 2052, 2055, 2059, 2060, 2058, 2058, 
+    2052, 2049, 2047, 2044, 2044, 2046, 2045, 2050, 
+    2051, 2052, 2051, 2052, 2055, 2053, 2055, 2056, 
+    2052, 2051, 2052, 2049, 2046, 2045, 2046, 2044, 
+    2043, 2043, 2043, 2041, 2042, 2043, 2045, 2047, 
+    2049, 2050, 2049, 2049, 2047, 2046, 2045, 2041, 
+    2042, 2041, 2041, 2038, 2039, 2038, 2036, 2036, 
+    2033, 2029, 2030, 2028, 2029, 2033, 2030, 2032, 
+    2031, 2030, 2030, 2030, 2029, 2028, 2031, 2030, 
+    2031, 2028, 2028, 2029, 2025, 2022, 2019, 2017, 
+    2013, 2011, 2010, 2009, 2011, 2012, 2013, 2016, 
+    2017, 2019, 2020, 2019, 2018, 2012, 2011, 2012, 
+    2012, 2013, 2009, 2008, 2007, 2008, 2008, 2011, 
+    2012, 2009, 2008, 2007, 2006, 2004, 2003, 2002, 
+    2003, 2001, 2001, 2001, 2002, 2002, 2005, 2004, 
+    2005, 2003, 2000, 2000, 1998, 1997, 1996, 1994, 
+    1990, 1987, 1983, 1985, 1985, 1988, 1991, 1994, 
+    1999, 2000, 1999, 1997, 1998, 1997, 1994, 1994, 
+    1993, 1990, 1988, 1985, 1979, 1977, 1977, 1977, 
+    1979, 1981, 1978, 1980, 1979, 1982, 1981, 1981, 
+    1983, 1983, 1983, 1984, 1983, 1985, 1983, 1977, 
+    1976, 1976, 1977, 1976, 1977, 1979, 1977, 1976, 
+    1971, 1966, 1965, 1963, 1962, 1965, 1968, 1967, 
+    1968, 1967, 1967, 1963, 1965, 1964, 1965, 1967, 
+    1969, 1968, 1964, 1962, 1960, 1957, 1955, 1953, 
+    1949, 1949, 1948, 1949, 1950, 1951, 1953, 1957, 
+    1963, 1964, 1963, 1965, 1960, 1959, 1957, 1951, 
+    1948, 1946, 1943, 1941, 1941, 1940, 1937, 1936, 
+    1939, 1939, 1941, 1944, 1944, 1945, 1945, 1946, 
+    1944, 1945, 1941, 1940, 1940, 1940, 1941, 1939, 
+    1935, 1936, 1936, 1934, 1933, 1934, 1935, 1937, 
+    1936, 1934, 1938, 1938, 1938, 1938, 1939, 1938, 
+    1938, 1939, 1939, 1940, 1937, 1936, 1932, 1933, 
+    1933, 1934, 1932, 1933, 1933, 1936, 1937, 1936, 
+    1941, 1944, 1946, 1948, 1952, 1954, 1953, 1950, 
+    1949, 1947, 1946, 1943, 1942, 1939, 1940, 1940, 
+    1940, 1938, 1939, 1940, 1940, 1940, 1942, 1945, 
+    1949, 1949, 1947, 1946, 1947, 1944, 1939, 1937, 
+    1938, 1936, 1936, 1939, 1937, 1938, 1937, 1935, 
+    1934, 1935, 1933, 1932, 1930, 1932, 1932, 1932, 
+    1933, 1933, 1936, 1938, 1942, 1945, 1947, 1948, 
+    1948, 1952, 1951, 1949, 1947, 1947, 1948, 1946, 
+    1945, 1945, 1945, 1946, 1944, 1945, 1948, 1952, 
+    1958, 1959, 1962, 1964, 1965, 1963, 1964, 1960, 
+    1957, 1956, 1951, 1947, 1943, 1942, 1938, 1939, 
+    1935, 1937, 1939, 1940, 1943, 1946, 1949, 1950, 
+    1948, 1947, 1948, 1948, 1947, 1943, 1938, 1939, 
+    1938, 1937, 1934, 1935, 1933, 1934, 1936, 1940, 
+    1941, 1942, 1943, 1943, 1946, 1944, 1944, 1944, 
+    1945, 1946, 1946, 1945, 1946, 1945, 1944, 1942, 
+    1939, 1936, 1937, 1935, 1935, 1936, 1935, 1937, 
+    1938, 1939, 1938, 1939, 1938, 1940, 1938, 1937, 
+    1936, 1935, 1932, 1929, 1926, 1925, 1921, 1921, 
+    1918, 1915, 1912, 1915, 1916, 1915, 1917, 1918, 
+    1921, 1925, 1927, 1924, 1921, 1918, 1920, 1918, 
+    1917, 1920, 1924, 1923, 1925, 1925, 1923, 1922, 
+    1923, 1926, 1929, 1929, 1932, 1936, 1937, 1936, 
+    1934, 1934, 1932, 1934, 1933, 1932, 1932, 1927, 
+    1926, 1926, 1926, 1927, 1925, 1924, 1923, 1923, 
+    1922, 1923, 1921, 1921, 1921, 1922, 1922, 1923, 
+    1922, 1923, 1925, 1926, 1927, 1927, 1927, 1928, 
+    1926, 1925, 1922, 1921, 1922, 1922, 1922, 1922, 
+    1920, 1921, 1921, 1918, 1919, 1919, 1923, 1924, 
+    1929, 1931, 1934, 1932, 1931, 1932, 1931, 1932, 
+    1933, 1931, 1931, 1930, 1931, 1932, 1930, 1930, 
+    1931, 1930, 1932, 1932, 1931, 1932, 1932, 1928, 
+    1928, 1930, 1931, 1932, 1932, 1933, 1932, 1930, 
+    1929, 1927, 1925, 1924, 1924, 1924, 1925, 1924, 
+    1925, 1927, 1927, 1927, 1924, 1925, 1928, 1927, 
+    1926, 1925, 1923, 1925, 1926, 1927, 1924, 1922, 
+    1921, 1919, 1921, 1918, 1917, 1918, 1921, 1922, 
+    1926, 1928, 1928, 1928, 1927, 1928, 1929, 1931, 
+    1931, 1930, 1932, 1932, 1928, 1930, 1928, 1927, 
+    1929, 1931, 1934, 1937, 1937, 1937, 1936, 1938, 
+    1938, 1939, 1937, 1938, 1937, 1937, 1936, 1933, 
+    1932, 1932, 1931, 1930, 1931, 1930, 1930, 1930, 
+    1932, 1932, 1932, 1934, 1936, 1937, 1937, 1936, 
+    1935, 1936, 1938, 1938, 1938, 1937, 1934, 1937, 
+    1934, 1928, 1930, 1928, 1930, 1930, 1932, 1934, 
+    1939, 1940, 1939, 1944, 1943, 1945, 1945, 1943, 
+    1940, 1940, 1942, 1939, 1942, 1938, 1936, 1935, 
+    1933, 1930, 1934, 1932, 1929, 1930, 1929, 1931, 
+    1929, 1927, 1928, 1926, 1925, 1923, 1920, 1920, 
+    1916, 1915, 1915, 1913, 1912, 1913, 1914, 1914, 
+    1911, 1911, 1909, 1907, 1909, 1909, 1907, 1909, 
+    1908, 1907, 1908, 1908, 1910, 1912, 1912, 1910, 
+    1910, 1913, 1912, 1915, 1916, 1913, 1914, 1911, 
+    1912, 1911, 1911, 1912, 1913, 1913, 1913, 1914, 
+    1916, 1916, 1914, 1912, 1911, 1909, 1909, 1907, 
+    1903, 1903, 1904, 1906, 1907, 1909, 1911, 1912, 
+    1913, 1912, 1913, 1913, 1912, 1914, 1913, 1913, 
+    1911, 1909, 1907, 1907, 1907, 1911, 1914, 1917, 
+    1920, 1922, 1925, 1927, 1928, 1929, 1927, 1927, 
+    1926, 1927, 1928, 1926, 1927, 1928, 1929, 1934, 
+    1937, 1938, 1939, 1940, 1941, 1940, 1938, 1937, 
+    1934, 1933, 1933, 1932, 1930, 1928, 1927, 1928, 
+    1928, 1928, 1930, 1934, 1936, 1934, 1936, 1938, 
+    1940, 1937, 1938, 1936, 1934, 1930, 1928, 1927, 
+    1929, 1928, 1925, 1928, 1930, 1932, 1936, 1940, 
+    1942, 1944, 1944, 1940, 1944, 1943, 1944, 1942, 
+    1941, 1941, 1942, 1941, 1943, 1944, 1946, 1950, 
+    1950, 1953, 1950, 1949, 1947, 1945, 1946, 1946, 
+    1946, 1948, 1950, 1948, 1946, 1946, 1947, 1946, 
+    1946, 1948, 1948, 1950, 1951, 1949, 1949, 1949, 
+    1948, 1944, 1942, 1946, 1945, 1946, 1944, 1949, 
+    1950, 1952, 1954, 1956, 1957, 1955, 1954, 1953, 
+    1952, 1949, 1948, 1949, 1950, 1951, 1955, 1956, 
+    1960, 1962, 1963, 1962, 1963, 1965, 1966, 1970, 
+    1970, 1969, 1967, 1964, 1962, 1959, 1958, 1957, 
+    1956, 1956, 1956, 1960, 1960, 1963, 1964, 1965, 
+    1965, 1966, 1964, 1963, 1962, 1960, 1959, 1958, 
+    1958, 1957, 1957, 1958, 1955, 1954, 1956, 1956, 
+    1956, 1957, 1957, 1958, 1959, 1959, 1957, 1958, 
+    1961, 1960, 1957, 1956, 1954, 1957, 1958, 1959, 
+    1958, 1957, 1961, 1961, 1963, 1959, 1960, 1963, 
+    1963, 1963, 1964, 1965, 1965, 1966, 1965, 1967, 
+    1965, 1967, 1968, 1966, 1971, 1971, 1970, 1969, 
+    1970, 1971, 1971, 1972, 1971, 1972, 1970, 1970, 
+    1969, 1967, 1967, 1966, 1967, 1971, 1972, 1974, 
+    1977, 1976, 1976, 1975, 1974, 1974, 1974, 1973, 
+    1971, 1972, 1973, 1973, 1973, 1974, 1974, 1975, 
+    1977, 1979, 1979, 1977, 1979, 1980, 1978, 1978, 
+    1976, 1976, 1975, 1975, 1974, 1973, 1971, 1974, 
+    1976, 1977, 1978, 1977, 1977, 1976, 1980, 1981, 
+    1977, 1977, 1977, 1976, 1975, 1977, 1975, 1974, 
+    1969, 1970, 1969, 1969, 1965, 1965, 1965, 1966, 
+    1968, 1967, 1970, 1971, 1972, 1973, 1974, 1973, 
+    1972, 1975, 1978, 1977, 1976, 1976, 1978, 1978, 
+    1979, 1981, 1980, 1980, 1981, 1980, 1981, 1980, 
+    1980, 1981, 1979, 1979, 1977, 1979, 1980, 1982, 
+    1983, 1984, 1985, 1987, 1992, 1994, 1996, 1997, 
+    1993, 1992, 1990, 1990, 1989, 1989, 1987, 1987, 
+    1988, 1986, 1988, 1992, 1993, 1993, 1993, 1994, 
+    1994, 1997, 1999, 2001, 2003, 2000, 1999, 1996, 
+    1997, 1996, 1996, 1995, 1996, 1996, 1994, 1994, 
+    1995, 1998, 1999, 2000, 2001, 2001, 2001, 2001, 
+    1999, 2001, 2004, 2003, 2006, 2008, 2005, 2007, 
+    2008, 2007, 2005, 2005, 2001, 2001, 2002, 2000, 
+    2001, 2002, 2000, 2001, 2003, 2001, 1997, 1994, 
+    1995, 1999, 2001, 2003, 2008, 2005, 2003, 2002, 
+    2001, 2001, 2000, 1999, 2000, 2001, 1998, 1997, 
+    1997, 1996, 1996, 1994, 1994, 1995, 1995, 1997, 
+    1996, 1996, 1999, 2001, 2001, 2003, 2006, 2004, 
+    2005, 2003, 2004, 2000, 1999, 1997, 1997, 1997, 
+    1994, 1994, 1993, 1993, 1994, 1996, 1995, 1994, 
+    1992, 1993, 1991, 1991, 1990, 1992, 1991, 1987, 
+    1986, 1986, 1985, 1984, 1986, 1982, 1980, 1979, 
+    1976, 1978, 1973, 1977, 1978, 1978, 1979, 1980, 
+    1981, 1981, 1983, 1982, 1983, 1985, 1982, 1985, 
+    1985, 1983, 1982, 1980, 1980, 1982, 1981, 1984, 
+    1986, 1986, 1986, 1986, 1984, 1982, 1984, 1987, 
+    1988, 1990, 1990, 1988, 1986, 1985, 1985, 1984, 
+    1983, 1983, 1984, 1986, 1986, 1986, 1986, 1986, 
+    1985, 1985, 1984, 1987, 1987, 1988, 1985, 1983, 
+    1981, 1979, 1980, 1976, 1974, 1977, 1978, 1979, 
+    1981, 1981, 1980, 1981, 1980, 1983, 1985, 1987, 
+    1986, 1984, 1983, 1981, 1980, 1978, 1980, 1978, 
+    1979, 1979, 1975, 1975, 1975, 1973, 1972, 1971, 
+    1971, 1969, 1971, 1970, 1970, 1969, 1966, 1964, 
+    1964, 1964, 1965, 1966, 1968, 1968, 1966, 1968, 
+    1967, 1967, 1968, 1964, 1962, 1964, 1962, 1963, 
+    1960, 1960, 1959, 1961, 1964, 1963, 1966, 1966, 
+    1968, 1969, 1971, 1968, 1967, 1969, 1969, 1969, 
+    1970, 1968, 1966, 1964, 1966, 1964, 1962, 1964, 
+    1964, 1962, 1961, 1961, 1958, 1957, 1958, 1958, 
+    1959, 1957, 1956, 1958, 1958, 1959, 1960, 1960, 
+    1961, 1960, 1961, 1958, 1958, 1956, 1955, 1954, 
+    1951, 1949, 1948, 1950, 1951, 1952, 1953, 1954, 
+    1955, 1955, 1956, 1957, 1958, 1956, 1954, 1954, 
+    1954, 1951, 1948, 1946, 1946, 1946, 1945, 1946, 
+    1946, 1946, 1946, 1946, 1946, 1946, 1945, 1943, 
+    1945, 1944, 1941, 1940, 1939, 1941, 1941, 1938, 
+    1939, 1941, 1944, 1941, 1941, 1939, 1938, 1939, 
+    1936, 1931, 1931, 1933, 1932, 1932, 1931, 1932, 
+    1933, 1933, 1934, 1934, 1936, 1937, 1934, 1935, 
+    1933, 1932, 1931, 1930, 1928, 1927, 1927, 1927, 
+    1928, 1930, 1928, 1928, 1930, 1930, 1930, 1930, 
+    1930, 1929, 1927, 1925, 1924, 1922, 1922, 1923, 
+    1918, 1917, 1915, 1916, 1917, 1916, 1916, 1915, 
+    1914, 1915, 1917, 1918, 1920, 1918, 1916, 1917, 
+    1916, 1914, 1912, 1913, 1914, 1913, 1914, 1914, 
+    1912, 1909, 1908, 1910, 1912, 1912, 1913, 1914, 
+    1914, 1913, 1912, 1914, 1914, 1915, 1914, 1913, 
+    1912, 1910, 1910, 1909, 1905, 1906, 1910, 1910, 
+    1910, 1906, 1908, 1905, 1903, 1906, 1908, 1908, 
+    1909, 1910, 1906, 1905, 1905, 1905, 1905, 1905, 
+    1907, 1907, 1908, 1910, 1911, 1911, 1909, 1910, 
+    1910, 1909, 1907, 1905, 1903, 1903, 1904, 1905, 
+    1907, 1905, 1905, 1906, 1906, 1907, 1909, 1909, 
+    1911, 1911, 1911, 1910, 1910, 1907, 1907, 1907, 
+    1906, 1905, 1903, 1902, 1905, 1903, 1906, 1907, 
+    1907, 1909, 1907, 1908, 1910, 1907, 1907, 1908, 
+    1908, 1905, 1904, 1903, 1903, 1903, 1904, 1905, 
+    1907, 1908, 1907, 1907, 1906, 1904, 1907, 1905, 
+    1905, 1906, 1903, 1902, 1901, 1901, 1901, 1898, 
+    1896, 1895, 1895, 1895, 1894, 1896, 1897, 1900, 
+    1896, 1896, 1898, 1897, 1898, 1901, 1900, 1899, 
+    1901, 1901, 1901, 1899, 1899, 1899, 1898, 1901, 
+    1903, 1904, 1904, 1905, 1906, 1905, 1903, 1903, 
+    1907, 1906, 1907, 1908, 1908, 1911, 1909, 1908, 
+    1911, 1911, 1913, 1916, 1917, 1915, 1915, 1913, 
+    1913, 1912, 1913, 1915, 1915, 1914, 1916, 1915, 
+    1917, 1918, 1916, 1918, 1920, 1920, 1922, 1921, 
+    1922, 1920, 1919, 1916, 1916, 1917, 1917, 1917, 
+    1918, 1921, 1920, 1921, 1919, 1920, 1922, 1921, 
+    1920, 1922, 1922, 1922, 1921, 1918, 1918, 1918, 
+    1919, 1919, 1919, 1919, 1919, 1920, 1920, 1925, 
+    1925, 1923, 1922, 1922, 1922, 1923, 1922, 1923, 
+    1922, 1919, 1919, 1919, 1919, 1920, 1919, 1921, 
+    1921, 1921, 1920, 1921, 1920, 1921, 1921, 1920, 
+    1921, 1924, 1924, 1923, 1922, 1923, 1921, 1923, 
+    1923, 1922, 1923, 1922, 1923, 1920, 1917, 1918, 
+    1916, 1917, 1921, 1922, 1922, 1923, 1925, 1925, 
+    1926, 1925, 1928, 1926, 1925, 1928, 1927, 1926, 
+    1926, 1925, 1925, 1925, 1922, 1923, 1923, 1925, 
+    1927, 1925, 1924, 1925, 1926, 1926, 1924, 1926, 
+    1924, 1922, 1925, 1925, 1925, 1925, 1925, 1926, 
+    1925, 1925, 1925, 1925, 1925, 1925, 1925, 1926, 
+    1927, 1926, 1926, 1926, 1926, 1926, 1927, 1926, 
+    1924, 1927, 1927, 1929, 1928, 1926, 1926, 1926, 
+    1925, 1926, 1926, 1927, 1931, 1932, 1932, 1932, 
+    1933, 1931, 1931, 1931, 1929, 1928, 1928, 1930, 
+    1931, 1931, 1931, 1931, 1931, 1929, 1932, 1932, 
+    1932, 1933, 1930, 1932, 1933, 1936, 1936, 1935, 
+    1933, 1932, 1930, 1931, 1931, 1932, 1932, 1932, 
+    1935, 1934, 1934, 1937, 1937, 1937, 1938, 1935, 
+    1935, 1935, 1935, 1936, 1937, 1937, 1939, 1941, 
+    1942, 1942, 1942, 1942, 1944, 1943, 1944, 1944, 
+    1943, 1943, 1944, 1946, 1949, 1949, 1947, 1947, 
+    1945, 1945, 1946, 1943, 1942, 1947, 1944, 1943, 
+    1942, 1942, 1943, 1944, 1945, 1946, 1949, 1949, 
+    1948, 1951, 1949, 1950, 1950, 1948, 1949, 1944, 
+    1945, 1946, 1946, 1946, 1944, 1945, 1949, 1950, 
+    1953, 1953, 1954, 1954, 1954, 1953, 1954, 1957, 
+    1955, 1957, 1958, 1956, 1955, 1953, 1953, 1952, 
+    1951, 1953, 1954, 1955, 1955, 1955, 1952, 1953, 
+    1954, 1951, 1953, 1952, 1953, 1956, 1957, 1957, 
+    1955, 1954, 1957, 1950, 1948, 1950, 1949, 1951, 
+    1950, 1947, 1946, 1943, 1943, 1942, 1942, 1944, 
+    1944, 1947, 1948, 1947, 1947, 1949, 1949, 1949, 
+    1951, 1950, 1946, 1945, 1945, 1945, 1942, 1939, 
+    1943, 1943, 1943, 1943, 1944, 1947, 1945, 1943, 
+    1944, 1946, 1947, 1949, 1949, 1948, 1949, 1951, 
+    1947, 1946, 1944, 1943, 1945, 1944, 1943, 1942, 
+    1940, 1940, 1939, 1940, 1941, 1939, 1939, 1939, 
+    1942, 1943, 1943, 1942, 1943, 1944, 1947, 1946, 
+    1946, 1948, 1946, 1944, 1943, 1941, 1941, 1940, 
+    1941, 1942, 1944, 1944, 1945, 1944, 1945, 1946, 
+    1943, 1945, 1945, 1946, 1944, 1945, 1945, 1947, 
+    1947, 1946, 1942, 1942, 1940, 1938, 1937, 1936, 
+    1936, 1936, 1936, 1936, 1936, 1937, 1937, 1939, 
+    1940, 1942, 1941, 1940, 1938, 1938, 1938, 1939, 
+    1938, 1935, 1936, 1935, 1934, 1934, 1933, 1934, 
+    1934, 1934, 1933, 1932, 1933, 1933, 1933, 1929, 
+    1928, 1929, 1929, 1928, 1928, 1929, 1927, 1928, 
+    1929, 1929, 1928, 1930, 1931, 1929, 1927, 1927, 
+    1925, 1926, 1926, 1928, 1928, 1927, 1925, 1923, 
+    1923, 1924, 1925, 1924, 1927, 1929, 1930, 1928, 
+    1927, 1929, 1928, 1927, 1927, 1927, 1926, 1927, 
+    1928, 1927, 1930, 1930, 1929, 1930, 1926, 1927, 
+    1929, 1932, 1933, 1933, 1931, 1929, 1927, 1927, 
+    1925, 1926, 1928, 1928, 1928, 1925, 1926, 1927, 
+    1929, 1929, 1932, 1931, 1930, 1929, 1928, 1928, 
+    1926, 1926, 1925, 1927, 1927, 1927, 1924, 1924, 
+    1923, 1923, 1922, 1923, 1925, 1921, 1921, 1920, 
+    1922, 1923, 1921, 1921, 1921, 1918, 1918, 1916, 
+    1916, 1915, 1914, 1913, 1913, 1913, 1911, 1910, 
+    1910, 1909, 1908, 1908, 1908, 1909, 1912, 1911, 
+    1909, 1909, 1907, 1908, 1910, 1907, 1907, 1906, 
+    1907, 1906, 1905, 1902, 1902, 1900, 1899, 1900, 
+    1900, 1901, 1901, 1901, 1902, 1902, 1901, 1901, 
+    1898, 1898, 1899, 1900, 1899, 1899, 1898, 1896, 
+    1895, 1895, 1893, 1892, 1893, 1890, 1890, 1889, 
+    1889, 1891, 1891, 1893, 1894, 1897, 1898, 1898, 
+    1897, 1899, 1898, 1897, 1897, 1896, 1896, 1895, 
+    1892, 1891, 1891, 1888, 1889, 1893, 1893, 1895, 
+    1895, 1896, 1899, 1902, 1900, 1899, 1899, 1900, 
+    1901, 1901, 1901, 1900, 1901, 1901, 1903, 1900, 
+    1902, 1903, 1904, 1902, 1902, 1903, 1902, 1901, 
+    1902, 1903, 1902, 1900, 1900, 1896, 1892, 1891, 
+    1897, 1899, 1902, 1908, 1907, 1914, 1916, 1917, 
+    1918, 1918, 1917, 1912, 1904, 1898, 1891, 1886, 
+    1885, 1884, 1886, 1885, 1888, 1894, 1900, 1911, 
+    1917, 1923, 1927, 1931, 1930, 1927, 1920, 1915, 
+    1911, 1902, 1894, 1887, 1883, 1883, 1887, 1891, 
+    1894, 1900, 1906, 1915, 1922, 1925, 1930, 1931, 
+    1931, 1925, 1921, 1915, 1907, 1901, 1898, 1895, 
+    1891, 1893, 1897, 1901, 1905, 1912, 1921, 1923, 
+    1929, 1934, 1936, 1937, 1934, 1932, 1928, 1924, 
+    1918, 1915, 1910, 1908, 1908, 1910, 1910, 1910, 
+    1914, 1918, 1922, 1925, 1928, 1927, 1929, 1927, 
+    1930, 1929, 1928, 1927, 1924, 1922, 1921, 1921, 
+    1921, 1921, 1918, 1918, 1920, 1920, 1920, 1920, 
+    1922, 1927, 1931, 1930, 1932, 1933, 1933, 1937, 
+    1935, 1935, 1935, 1932, 1930, 1929, 1928, 1926, 
+    1926, 1926, 1927, 1928, 1930, 1933, 1936, 1939, 
+    1941, 1945, 1945, 1947, 1946, 1942, 1939, 1935, 
+    1932, 1929, 1928, 1928, 1927, 1929, 1931, 1935, 
+    1936, 1938, 1939, 1942, 1945, 1946, 1949, 1949, 
+    1946, 1946, 1943, 1939, 1937, 1934, 1935, 1934, 
+    1934, 1934, 1933, 1935, 1938, 1940, 1942, 1942, 
+    1944, 1943, 1944, 1943, 1944, 1944, 1943, 1943, 
+    1942, 1941, 1941, 1941, 1941, 1941, 1942, 1943, 
+    1942, 1943, 1945, 1946, 1947, 1947, 1948, 1950, 
+    1949, 1948, 1947, 1945, 1947, 1949, 1949, 1948, 
+    1950, 1952, 1948, 1950, 1954, 1952, 1952, 1955, 
+    1955, 1956, 1956, 1955, 1957, 1956, 1956, 1957, 
+    1960, 1958, 1959, 1960, 1959, 1960, 1963, 1964, 
+    1963, 1963, 1962, 1964, 1964, 1964, 1964, 1965, 
+    1967, 1967, 1966, 1964, 1965, 1962, 1961, 1961, 
+    1962, 1960, 1962, 1961, 1961, 1962, 1963, 1966, 
+    1968, 1969, 1967, 1968, 1967, 1967, 1966, 1967, 
+    1969, 1967, 1968, 1966, 1967, 1967, 1968, 1966, 
+    1966, 1969, 1970, 1973, 1972, 1974, 1978, 1976, 
+    1976, 1977, 1979, 1978, 1975, 1974, 1972, 1972, 
+    1971, 1969, 1969, 1970, 1971, 1972, 1974, 1976, 
+    1979, 1980, 1979, 1980, 1981, 1982, 1982, 1982, 
+    1980, 1978, 1980, 1980, 1978, 1976, 1977, 1979, 
+    1979, 1977, 1978, 1979, 1981, 1982, 1986, 1987, 
+    1988, 1989, 1989, 1994, 1993, 1995, 1994, 1993, 
+    1993, 1994, 1997, 1997, 1995, 1993, 1993, 1993, 
+    1995, 1995, 1997, 1996, 2000, 2002, 2001, 2001, 
+    2000, 2002, 2002, 2001, 2000, 2001, 2001, 2000, 
+    2001, 1998, 1998, 1998, 1998, 1997, 1997, 1998, 
+    1996, 1996, 1997, 1998, 2000, 1999, 2000, 2000, 
+    2000, 2003, 2002, 2001, 2001, 2002, 2004, 2005, 
+    2002, 2001, 2001, 2001, 2001, 1998, 2000, 1999, 
+    2000, 2000, 1998, 1999, 2001, 2000, 2002, 2004, 
+    2005, 2007, 2006, 2006, 2004, 2004, 2004, 2003, 
+    2003, 2001, 2001, 2000, 2000, 1999, 1999, 1998, 
+    1996, 1998, 1998, 1998, 1996, 1997, 1996, 1994, 
+    1995, 1995, 1994, 1997, 1997, 1997, 2002, 2002, 
+    2000, 2000, 1999, 2000, 1998, 2000, 2001, 2001, 
+    2001, 1999, 1998, 1998, 1999, 1999, 1999, 2000, 
+    2003, 2006, 2006, 2008, 2006, 2004, 2006, 2007, 
+    2008, 2007, 2007, 2006, 2005, 2007, 2006, 2010, 
+    2009, 2007, 2008, 2010, 2011, 2011, 2012, 2013, 
+    2012, 2014, 2011, 2012, 2014, 2013, 2015, 2013, 
+    2015, 2013, 2012, 2014, 2014, 2012, 2013, 2010, 
+    2010, 2012, 2013, 2014, 2014, 2011, 2013, 2014, 
+    2013, 2011, 2010, 2011, 2009, 2009, 2008, 2008, 
+    2007, 2006, 2005, 2005, 2004, 2005, 2005, 2004, 
+    2004, 2003, 2003, 2004, 2006, 2007, 2008, 2007, 
+    2008, 2010, 2011, 2009, 2008, 2006, 2007, 2007, 
+    2007, 2005, 2005, 2006, 2005, 2007, 2009, 2008, 
+    2008, 2008, 2008, 2007, 2006, 2004, 2004, 2005, 
+    2004, 2004, 2003, 2003, 2002, 2002, 2001, 2000, 
+    2000, 1999, 2000, 1997, 2000, 2000, 1999, 1999, 
+    2000, 2002, 2002, 2004, 2003, 2003, 2003, 2003, 
+    2002, 2003, 2006, 2007, 2007, 2009, 2007, 2006, 
+    2005, 2005, 2004, 2002, 2001, 2001, 2002, 2000, 
+    1999, 1996, 1999, 2000, 1999, 2001, 2001, 2000, 
+    1998, 2000, 2001, 2001, 2001, 2001, 2000, 1999, 
+    1998, 1998, 2000, 2000, 2000, 1999, 1998, 1996, 
+    1994, 1992, 1992, 1993, 1994, 1993, 1995, 1994, 
+    1993, 1998, 1999, 1996, 1994, 1995, 1995, 1996, 
+    1994, 1994, 1995, 1995, 1994, 1994, 1992, 1992, 
+    1993, 1992, 1992, 1993, 1994, 1994, 1994, 1996, 
+    1996, 1996, 1996, 1996, 1995, 1997, 1997, 1998, 
+    2001, 2000, 2000, 1998, 1999, 2000, 1999, 2000, 
+    1999, 1998, 1998, 1997, 1999, 2001, 2000, 2000, 
+    2001, 1998, 1998, 1997, 1998, 1998, 1998, 1998, 
+    1998, 1997, 1994, 1995, 1997, 1997, 1995, 1996, 
+    1995, 1993, 1995, 1994, 1997, 1995, 1995, 1994, 
+    1997, 1997, 1996, 1998, 1999, 1998, 1997, 1999, 
+    1999, 1999, 1999, 1998, 1997, 1995, 1998, 1999, 
+    1999, 1997, 1998, 1999, 1998, 1999, 2000, 2000, 
+    1998, 1998, 1997, 1992, 1994, 1996, 1993, 1994, 
+    1993, 1995, 1995, 1997, 1994, 1995, 1995, 1995, 
+    1994, 1993, 1993, 1992, 1991, 1993, 1992, 1993, 
+    1992, 1991, 1993, 1991, 1992, 1992, 1991, 1992, 
+    1989, 1990, 1990, 1992, 1990, 1991, 1991, 1991, 
+    1989, 1991, 1989, 1990, 1989, 1990, 1991, 1990, 
+    1990, 1990, 1990, 1990, 1991, 1993, 1991, 1991, 
+    1991, 1992, 1993, 1994, 1993, 1994, 1994, 1994, 
+    1995, 1995, 2000, 2000, 1999, 2001, 2000, 1997, 
+    1999, 1998, 1996, 1997, 1996, 1996, 1996, 1995, 
+    1997, 1997, 1997, 1996, 1995, 1997, 1997, 1999, 
+    1999, 2000, 1999, 1999, 2000, 2001, 2000, 2002, 
+    2005, 2004, 2007, 2006, 2006, 2005, 2005, 2006, 
+    2006, 2008, 2007, 2008, 2009, 2009, 2011, 2013, 
+    2013, 2013, 2017, 2017, 2019, 2020, 2019, 2021, 
+    2021, 2021, 2022, 2022, 2023, 2022, 2024, 2023, 
+    2027, 2025, 2027, 2027, 2026, 2029, 2029, 2027, 
+    2029, 2030, 2029, 2029, 2031, 2029, 2028, 2030, 
+    2029, 2033, 2032, 2035, 2032, 2031, 2032, 2027, 
+    2031, 2030, 2029, 2030, 2030, 2029, 2030, 2034, 
+    2033, 2033, 2036, 2038, 2038, 2039, 2038, 2040, 
+    2040, 2041, 2040, 2040, 2039, 2040, 2040, 2043, 
+    2044, 2044, 2044, 2044, 2045, 2047, 2045, 2047, 
+    2048, 2047, 2048, 2048, 2049, 2051, 2051, 2051, 
+    2051, 2054, 2052, 2049, 2051, 2051, 2049, 2050, 
+    2050, 2050, 2052, 2050, 2052, 2052, 2051, 2051, 
+    2051, 2050, 2051, 2050, 2052, 2053, 2053, 2052, 
+    2054, 2053, 2052, 2053, 2054, 2052, 2056, 2057, 
+    2057, 2056, 2057, 2056, 2056, 2057, 2057, 2056, 
+    2056, 2056, 2059, 2058, 2058, 2059, 2059, 2059, 
+    2059, 2061, 2059, 2059, 2059, 2062, 2062, 2061, 
+    2062, 2061, 2062, 2063, 2063, 2064, 2064, 2064, 
+    2064, 2062, 2061, 2061, 2061, 2061, 2059, 2058, 
+    2059, 2061, 2062, 2059, 2059, 2061, 2060, 2059, 
+    2060, 2060, 2062, 2062, 2064, 2067, 2064, 2066, 
+    2067, 2066, 2066, 2066, 2067, 2067, 2066, 2066, 
+    2066, 2066, 2069, 2068, 2066, 2069, 2067, 2067, 
+    2069, 2069, 2070, 2069, 2071, 2072, 2074, 2072, 
+    2071, 2073, 2073, 2073, 2071, 2073, 2076, 2073, 
+    2071, 2072, 2074, 2072, 2075, 2073, 2074, 2077, 
+    2079, 2080, 2081, 2084, 2083, 2083, 2082, 2086, 
+    2087, 2086, 2086, 2086, 2088, 2089, 2088, 2088, 
+    2088, 2088, 2090, 2090, 2090, 2090, 2093, 2093, 
+    2093, 2094, 2093, 2097, 2098, 2096, 2096, 2094, 
+    2095, 2096, 2096, 2092, 2095, 2097, 2094, 2096, 
+    2095, 2097, 2097, 2095, 2095, 2097, 2097, 2097, 
+    2095, 2094, 2097, 2097, 2098, 2097, 2096, 2096, 
+    2096, 2099, 2100, 2100, 2098, 2099, 2099, 2099, 
+    2102, 2104, 2103, 2103, 2105, 2104, 2105, 2104, 
+    2106, 2107, 2107, 2106, 2107, 2109, 2110, 2110, 
+    2111, 2113, 2115, 2113, 2114, 2116, 2114, 2116, 
+    2113, 2114, 2112, 2112, 2112, 2111, 2114, 2114, 
+    2112, 2112, 2112, 2115, 2116, 2115, 2114, 2112, 
+    2113, 2114, 2114, 2114, 2114, 2114, 2114, 2112, 
+    2113, 2115, 2113, 2115, 2114, 2115, 2117, 2115, 
+    2116, 2116, 2117, 2118, 2116, 2116, 2117, 2117, 
+    2117, 2118, 2118, 2120, 2121, 2120, 2117, 2116, 
+    2118, 2120, 2121, 2120, 2120, 2122, 2121, 2124, 
+    2122, 2120, 2123, 2121, 2121, 2123, 2121, 2121, 
+    2121, 2119, 2119, 2118, 2115, 2117, 2119, 2117, 
+    2116, 2115, 2115, 2115, 2114, 2113, 2112, 2113, 
+    2111, 2111, 2111, 2112, 2110, 2111, 2111, 2111, 
+    2111, 2111, 2112, 2111, 2111, 2112, 2111, 2110, 
+    2111, 2113, 2113, 2111, 2111, 2109, 2110, 2109, 
+    2107, 2109, 2110, 2112, 2111, 2112, 2109, 2109, 
+    2110, 2110, 2109, 2112, 2112, 2110, 2108, 2108, 
+    2108, 2109, 2107, 2108, 2112, 2111, 2109, 2108, 
+    2109, 2111, 2112, 2108, 2106, 2107, 2108, 2107, 
+    2107, 2106, 2106, 2107, 2107, 2107, 2107, 2109, 
+    2109, 2112, 2111, 2108, 2106, 2108, 2108, 2105, 
+    2106, 2107, 2106, 2107, 2105, 2104, 2105, 2105, 
+    2104, 2104, 2103, 2102, 2101, 2100, 2098, 2099, 
+    2098, 2098, 2098, 2097, 2099, 2099, 2097, 2094, 
+    2095, 2097, 2094, 2094, 2090, 2092, 2093, 2093, 
+    2094, 2094, 2094, 2093, 2094, 2094, 2094, 2093, 
+    2090, 2093, 2092, 2089, 2092, 2091, 2092, 2088, 
+    2088, 2090, 2088, 2087, 2087, 2088, 2087, 2088, 
+    2086, 2087, 2087, 2088, 2089, 2085, 2085, 2086, 
+    2088, 2087, 2086, 2088, 2087, 2085, 2085, 2086, 
+    2087, 2086, 2085, 2084, 2085, 2085, 2087, 2089, 
+    2091, 2091, 2086, 2086, 2085, 2083, 2083, 2082, 
+    2081, 2084, 2085, 2085, 2082, 2081, 2082, 2080, 
+    2082, 2084, 2082, 2082, 2082, 2079, 2080, 2080, 
+    2079, 2078, 2077, 2076, 2076, 2075, 2076, 2076, 
+    2077, 2074, 2077, 2077, 2075, 2075, 2075, 2074, 
+    2074, 2074, 2075, 2075, 2072, 2073, 2071, 2072, 
+    2072, 2070, 2070, 2068, 2070, 2068, 2069, 2068, 
+    2067, 2068, 2069, 2066, 2063, 2065, 2067, 2065, 
+    2065, 2065, 2064, 2064, 2062, 2063, 2062, 2061, 
+    2061, 2060, 2063, 2060, 2059, 2058, 2055, 2058, 
+    2059, 2059, 2061, 2058, 2057, 2057, 2058, 2058, 
+    2058, 2057, 2056, 2054, 2054, 2055, 2056, 2058, 
+    2058, 2058, 2054, 2058, 2060, 2059, 2056, 2056, 
+    2055, 2056, 2058, 2057, 2057, 2057, 2056, 2056, 
+    2057, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 
+    2059, 2059, 2059, 2060, 2061, 2060, 2059, 2059, 
+    2060, 2061, 2062, 2063, 2065, 2063, 2062, 2061, 
+    2062, 2063, 2064, 2064, 2061, 2061, 2062, 2065, 
+    2067, 2065, 2068, 2065, 2066, 2066, 2066, 2067, 
+    2068, 2069, 2070, 2068, 2068, 2068, 2066, 2066, 
+    2066, 2068, 2070, 2068, 2071, 2070, 2068, 2067, 
+    2066, 2068, 2069, 2068, 2067, 2069, 2067, 2067, 
+    2070, 2069, 2068, 2067, 2066, 2066, 2068, 2069, 
+    2069, 2069, 2069, 2071, 2071, 2069, 2070, 2070, 
+    2067, 2070, 2072, 2073, 2074, 2073, 2068, 2069, 
+    2071, 2073, 2075, 2077, 2080, 2078, 2079, 2078, 
+    2078, 2078, 2078, 2077, 2076, 2078, 2076, 2079, 
+    2079, 2079, 2078, 2079, 2080, 2079, 2081, 2080, 
+    2082, 2084, 2084, 2085, 2085, 2086, 2088, 2089, 
+    2087, 2087, 2088, 2090, 2090, 2090, 2091, 2092, 
+    2093, 2093, 2092, 2094, 2093, 2095, 2093, 2093, 
+    2093, 2094, 2093, 2095, 2096, 2097, 2095, 2092, 
+    2097, 2093, 2093, 2094, 2096, 2095, 2092, 2092, 
+    2093, 2093, 2093, 2095, 2093, 2092, 2092, 2090, 
+    2090, 2091, 2091, 2092, 2094, 2095, 2096, 2094, 
+    2096, 2097, 2094, 2097, 2096, 2094, 2096, 2096, 
+    2096, 2097, 2097, 2097, 2094, 2095, 2097, 2098, 
+    2100, 2099, 2099, 2099, 2098, 2100, 2100, 2097, 
+    2099, 2100, 2101, 2100, 2100, 2102, 2102, 2100, 
+    2100, 2100, 2102, 2103, 2106, 2104, 2102, 2101, 
+    2101, 2101, 2099, 2100, 2102, 2103, 2103, 2103, 
+    2102, 2101, 2103, 2105, 2104, 2106, 2104, 2105, 
+    2105, 2105, 2105, 2102, 2101, 2102, 2103, 2103, 
+    2103, 2102, 2101, 2102, 2103, 2101, 2105, 2102, 
+    2103, 2104, 2104, 2103, 2104, 2104, 2103, 2105, 
+    2103, 2102, 2103, 2103, 2105, 2104, 2101, 2100, 
+    2099, 2099, 2100, 2101, 2101, 2099, 2100, 2100, 
+    2101, 2103, 2104, 2104, 2105, 2103, 2103, 2104, 
+    2103, 2103, 2102, 2100, 2100, 2101, 2101, 2100, 
+    2101, 2099, 2098, 2099, 2099, 2102, 2101, 2099, 
+    2099, 2098, 2100, 2103, 2103, 2104, 2107, 2106, 
+    2108, 2107, 2105, 2107, 2104, 2104, 2105, 2105, 
+    2104, 2104, 2107, 2107, 2107, 2108, 2107, 2108, 
+    2108, 2109, 2110, 2111, 2112, 2111, 2110, 2110, 
+    2111, 2110, 2111, 2112, 2113, 2114, 2114, 2112, 
+    2112, 2112, 2116, 2116, 2115, 2116, 2116, 2118, 
+    2119, 2120, 2119, 2121, 2122, 2120, 2122, 2125, 
+    2125, 2124, 2124, 2125, 2124, 2123, 2123, 2123, 
+    2121, 2122, 2122, 2125, 2124, 2123, 2124, 2126, 
+    2123, 2125, 2126, 2126, 2125, 2125, 2124, 2125, 
+    2125, 2124, 2126, 2126, 2127, 2127, 2125, 2127, 
+    2126, 2128, 2128, 2126, 2127, 2129, 2129, 2131, 
+    2131, 2131, 2131, 2132, 2130, 2130, 2132, 2132, 
+    2132, 2130, 2132, 2132, 2134, 2136, 2136, 2137, 
+    2139, 2138, 2138, 2136, 2136, 2136, 2135, 2132, 
+    2133, 2132, 2133, 2133, 2132, 2134, 2132, 2133, 
+    2136, 2131, 2132, 2133, 2133, 2135, 2134, 2134, 
+    2133, 2132, 2132, 2133, 2135, 2133, 2133, 2132, 
+    2133, 2133, 2133, 2134, 2135, 2136, 2135, 2133, 
+    2135, 2137, 2136, 2136, 2137, 2136, 2139, 2138, 
+    2137, 2138, 2137, 2139, 2138, 2138, 2139, 2139, 
+    2137, 2137, 2139, 2136, 2132, 2134, 2134, 2132, 
+    2130, 2132, 2132, 2129, 2128, 2126, 2126, 2128, 
+    2129, 2128, 2127, 2128, 2128, 2127, 2129, 2130, 
+    2130, 2128, 2128, 2128, 2129, 2129, 2131, 2132, 
+    2130, 2128, 2129, 2130, 2128, 2127, 2128, 2128, 
+    2128, 2128, 2129, 2131, 2131, 2132, 2132, 2132, 
+    2131, 2132, 2131, 2130, 2130, 2132, 2131, 2127, 
+    2130, 2127, 2127, 2127, 2128, 2124, 2123, 2124, 
+    2124, 2124, 2124, 2125, 2124, 2122, 2121, 2121, 
+    2119, 2120, 2119, 2118, 2117, 2118, 2118, 2114, 
+    2114, 2113, 2113, 2115, 2112, 2114, 2114, 2111, 
+    2111, 2111, 2111, 2109, 2110, 2110, 2109, 2108, 
+    2111, 2113, 2110, 2110, 2107, 2109, 2108, 2106, 
+    2108, 2106, 2107, 2106, 2108, 2109, 2109, 2108, 
+    2108, 2109, 2108, 2107, 2110, 2108, 2104, 2103, 
+    2105, 2106, 2104, 2104, 2103, 2103, 2102, 2102, 
+    2102, 2103, 2103, 2101, 2102, 2101, 2103, 2106, 
+    2105, 2102, 2104, 2103, 2102, 2100, 2101, 2102, 
+    2099, 2101, 2102, 2104, 2102, 2101, 2101, 2101, 
+    2103, 2102, 2103, 2105, 2103, 2104, 2102, 2102
+};

+ 39 - 0
keyboards/planck/keymaps/synth_wavetable/config.h

@@ -0,0 +1,39 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+    #define STARTUP_SONG SONG(PLANCK_SOUND)
+    // #define STARTUP_SONG SONG(NO_SOUND)
+
+    #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+                                  SONG(COLEMAK_SOUND), \
+                                  SONG(DVORAK_SOUND) \
+                                }
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+// Most tactile encoders have detents every 4 stages
+#define ENCODER_RESOLUTION 4
+

+ 326 - 0
keyboards/planck/keymaps/synth_wavetable/keymap.c

@@ -0,0 +1,326 @@
+/* Copyright 2019 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+#include "audio.h"
+
+extern keymap_config_t keymap_config;
+
+enum planck_layers {
+  _QWERTY,
+  _COLEMAK,
+  _DVORAK,
+  _LOWER,
+  _RAISE,
+  _PLOVER,
+  _ADJUST
+};
+
+enum planck_keycodes {
+  QWERTY = SAFE_RANGE,
+  COLEMAK,
+  DVORAK,
+  PLOVER,
+  BACKLIT,
+  EXT_PLV
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_planck_grid(
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
+    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
+    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
+    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+),
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = LAYOUT_planck_grid(
+    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC,
+    KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,
+    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
+    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+),
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  |  /   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = LAYOUT_planck_grid(
+    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC,
+    KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH,
+    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT ,
+    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | | Home | End  |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_planck_grid(
+    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
+    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
+    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
+    _______, _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |Pg Up |Pg Dn |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_planck_grid(
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
+    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
+    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Plover layer (http://opensteno.org)
+ * ,-----------------------------------------------------------------------------------.
+ * |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |   S  |   T  |   P  |   H  |   *  |   *  |   F  |   P  |   L  |   T  |   D  |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |   S  |   K  |   W  |   R  |   *  |   *  |   R  |   B  |   G  |   S  |   Z  |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Exit |      |      |   A  |   O  |             |   E  |   U  |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_PLOVER] = LAYOUT_planck_grid(
+    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   ,
+    XXXXXXX, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC,
+    XXXXXXX, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
+    EXT_PLV, XXXXXXX, XXXXXXX, KC_C,    KC_V,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * |      | Reset|      |      |      |      |      |      |      |      |      |  Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover|      |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      |      |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_planck_grid(
+    _______, RESET,   DEBUG,   RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,  RGB_VAI, RGB_VAD, KC_DEL ,
+    _______, _______, MU_MOD,  AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  COLEMAK,  DVORAK,  PLOVER,  _______,
+    _______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  TERM_ON, TERM_OFF, _______, _______, _______,
+    _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______, _______, _______
+)
+
+};
+
+#ifdef AUDIO_ENABLE
+  float plover_song[][2]     = SONG(PLOVER_SOUND);
+  float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND);
+#endif
+
+uint32_t layer_state_set_user(uint32_t state) {
+  return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case QWERTY:
+      if (record->event.pressed) {
+        print("mode just switched to qwerty and this is a huge string\n");
+        set_single_persistent_default_layer(_QWERTY);
+      }
+      return false;
+      break;
+    case COLEMAK:
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_COLEMAK);
+      }
+      return false;
+      break;
+    case DVORAK:
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_DVORAK);
+      }
+      return false;
+      break;
+    case BACKLIT:
+      if (record->event.pressed) {
+        register_code(KC_RSFT);
+        #ifdef BACKLIGHT_ENABLE
+          backlight_step();
+        #endif
+        #ifdef KEYBOARD_planck_rev5
+          PORTE &= ~(1<<6);
+        #endif
+      } else {
+        unregister_code(KC_RSFT);
+        #ifdef KEYBOARD_planck_rev5
+          PORTE |= (1<<6);
+        #endif
+      }
+      return false;
+      break;
+    case PLOVER:
+      if (record->event.pressed) {
+        #ifdef AUDIO_ENABLE
+          stop_all_notes();
+          PLAY_SONG(plover_song);
+        #endif
+        layer_off(_RAISE);
+        layer_off(_LOWER);
+        layer_off(_ADJUST);
+        layer_on(_PLOVER);
+        if (!eeconfig_is_enabled()) {
+            eeconfig_init();
+        }
+        keymap_config.raw = eeconfig_read_keymap();
+        keymap_config.nkro = 1;
+        eeconfig_update_keymap(keymap_config.raw);
+      }
+      return false;
+      break;
+    case EXT_PLV:
+      if (record->event.pressed) {
+        #ifdef AUDIO_ENABLE
+          PLAY_SONG(plover_gb_song);
+        #endif
+        layer_off(_PLOVER);
+      }
+      return false;
+      break;
+  }
+  return true;
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool music_mask_user(uint16_t keycode) {
+  switch (keycode) {
+    case RAISE:
+    case LOWER:
+      return false;
+    default:
+      return true;
+  }
+}
+
+#include "wavetable.h"
+
+float dac_if[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+uint8_t dac_morph = 0;
+// uint8_t dac_morph_flipped = 0;
+// uint16_t dac_morph_counter = 0;
+
+void dac_setup_note(void) {
+  dac_if[dac_number_of_voices()] = 0.0f;
+}
+
+uint16_t dac_value_generate(void) {
+  uint16_t value = DAC_OFF_VALUE;
+  uint8_t working_voices = dac_number_of_voices();
+  if (working_voices > DAC_VOICES_MAX)
+    working_voices = DAC_VOICES_MAX;
+
+  if (working_voices > 0) {
+    uint16_t value_avg = 0;
+    for (uint8_t i = 0; i < working_voices; i++) {
+      dac_if[i] = dac_if[i] + ((dac_get_frequency(i) * DAC_BUFFER_SIZE) / DAC_SAMPLE_RATE);
+
+      // Needed because % doesn't work with floats
+      while (dac_if[i] >= (DAC_BUFFER_SIZE))
+        dac_if[i] = dac_if[i] - DAC_BUFFER_SIZE;
+
+      // #define DAC_MORPH_SPEED 372
+      // #define DAC_MORPH_SPEED_COMPUTED (DAC_SAMPLE_RATE / DAC_WAVETABLE_CUSTOM_LENGTH * (1000 / DAC_MORPH_SPEED))
+
+      uint16_t dac_i = (uint16_t)dac_if[i];
+      // value_avg += dac_buffer_custom[dac_morph_flipped][dac_i] / working_voices / 2 * ((dac_morph >= 63) ? 6400 - dac_morph_counter : dac_morph_counter) / 6400;
+      // value_avg += dac_buffer_custom[dac_morph_flipped + 1][dac_i] / working_voices / 2 * ((dac_morph >= 63) ? dac_morph_counter : 6400 - dac_morph_counter) / 6400;
+
+      // value_avg += dac_wavetable_custom[dac_morph][dac_i] / working_voices / 2 * (DAC_MORPH_SPEED_COMPUTED - dac_morph_counter) / DAC_MORPH_SPEED_COMPUTED;
+      // value_avg += dac_wavetable_custom[dac_morph + 1][dac_i] / working_voices / 2 * dac_morph_counter / DAC_MORPH_SPEED_COMPUTED;
+      value_avg += dac_wavetable_custom[dac_morph][dac_i] / working_voices;
+    }
+    value = value_avg;
+
+    // dac_morph_counter++;
+    // if (dac_morph_counter >= DAC_MORPH_SPEED_COMPUTED) {
+      // dac_morph_counter = 0;
+      // dac_morph = (dac_morph + 1) % 125;
+      // dac_morph_flipped = ((dac_morph >= 63) ? (125 - dac_morph) : dac_morph);
+      // dac_morph = (dac_morph + 1) % (DAC_WAVETABLE_CUSTOM_LENGTH - 1);
+    // }
+  }
+  return value;
+}
+
+void encoder_update(bool clockwise) {
+  if (clockwise) {
+    dac_morph = (dac_morph + 1) % DAC_WAVETABLE_CUSTOM_LENGTH;
+  } else {
+    if (dac_morph == 0)
+      dac_morph = (DAC_WAVETABLE_CUSTOM_LENGTH - 1);
+    else
+      dac_morph--;
+  }
+}

+ 0 - 0
keyboards/planck/keymaps/synth_wavetable/rules.mk


+ 2180 - 0
keyboards/planck/keymaps/synth_wavetable/wavetable.h

@@ -0,0 +1,2180 @@
+#define DAC_WAVETABLE_CUSTOM_LENGTH 64
+
+static const dacsample_t dac_wavetable_custom[64][256] = {
+  {
+    3038, 4095, 3745, 3945, 3779, 3889, 3782, 3850, 
+    3775, 3817, 3766, 3788, 3755, 3762, 3743, 3738, 
+    3729, 3716, 3715, 3695, 3700, 3676, 3683, 3658, 
+    3667, 3642, 3649, 3626, 3632, 3611, 3614, 3596, 
+    3596, 3581, 3579, 3567, 3561, 3552, 3544, 3537, 
+    3528, 3522, 3511, 3507, 3495, 3491, 3479, 3476, 
+    3464, 3460, 3449, 3444, 3433, 3428, 3419, 3412, 
+    3404, 3397, 3389, 3382, 3374, 3366, 3359, 3351, 
+    3345, 3336, 3330, 3322, 3314, 3307, 3299, 3293, 
+    3285, 3279, 3270, 3265, 3255, 3251, 3241, 3237, 
+    3227, 3223, 3213, 3208, 3200, 3194, 3187, 3179, 
+    3173, 3165, 3161, 3150, 3149, 3136, 3137, 3121, 
+    3125, 3107, 3112, 3093, 3099, 3080, 3086, 3068, 
+    3072, 3056, 3058, 3045, 3043, 3036, 3027, 3027, 
+    3010, 3019, 2992, 3013, 2974, 3007, 2955, 3002, 
+    2935, 2999, 2913, 2998, 2886, 3006, 2842, 3067, 
+    2464, 221, 205, 228, 215, 260, 231, 285, 
+    249, 307, 270, 326, 291, 344, 313, 359, 
+    335, 374, 357, 388, 378, 403, 399, 416, 
+    419, 431, 438, 445, 457, 460, 475, 476, 
+    492, 492, 509, 508, 525, 524, 540, 541, 
+    555, 558, 571, 574, 586, 591, 601, 607, 
+    616, 624, 631, 639, 647, 656, 662, 671, 
+    677, 687, 692, 702, 708, 718, 723, 733, 
+    738, 748, 753, 763, 768, 777, 783, 792, 
+    798, 806, 812, 820, 827, 834, 842, 848, 
+    857, 862, 872, 875, 887, 888, 901, 902, 
+    915, 915, 929, 929, 943, 942, 956, 956, 
+    969, 971, 981, 986, 992, 1001, 1003, 1017, 
+    1013, 1032, 1023, 1048, 1033, 1064, 1043, 1079, 
+    1054, 1093, 1065, 1106, 1078, 1118, 1092, 1127, 
+    1109, 1132, 1130, 1132, 1160, 1118, 1217, 1036
+  },
+  {
+    2048, 2049, 2056, 2071, 2096, 2130, 2174, 2225, 
+    2280, 2337, 2392, 2444, 2490, 2529, 2559, 2581, 
+    2593, 2597, 2594, 2589, 2585, 2588, 2603, 2635, 
+    2685, 2755, 2842, 2943, 3050, 3157, 3258, 3347, 
+    3423, 3485, 3535, 3577, 3612, 3641, 3665, 3682, 
+    3692, 3694, 3692, 3689, 3690, 3700, 3724, 3761, 
+    3811, 3867, 3924, 3972, 4005, 4019, 4013, 3993, 
+    3964, 3936, 3915, 3906, 3912, 3931, 3959, 3990, 
+    4020, 4043, 4059, 4067, 4068, 4063, 4051, 4030, 
+    3997, 3946, 3875, 3782, 3671, 3546, 3419, 3299, 
+    3197, 3120, 3072, 3053, 3062, 3091, 3133, 3180, 
+    3224, 3257, 3276, 3277, 3259, 3221, 3163, 3084, 
+    2986, 2870, 2741, 2607, 2474, 2351, 2245, 2161, 
+    2102, 2069, 2058, 2067, 2091, 2124, 2160, 2195, 
+    2222, 2239, 2245, 2238, 2219, 2191, 2155, 2116, 
+    2077, 2042, 2014, 1995, 1987, 1991, 2003, 2023, 
+    2048, 2074, 2101, 2124, 2144, 2158, 2166, 2170, 
+    2172, 2175, 2181, 2195, 2221, 2260, 2315, 2384, 
+    2465, 2555, 2648, 2740, 2826, 2903, 2971, 3029, 
+    3076, 3114, 3142, 3159, 3167, 3167, 3160, 3153, 
+    3150, 3157, 3180, 3222, 3283, 3362, 3452, 3546, 
+    3636, 3715, 3777, 3823, 3854, 3874, 3889, 3905, 
+    3923, 3944, 3968, 3989, 4007, 4019, 4026, 4030, 
+    4033, 4040, 4051, 4066, 4081, 4090, 4086, 4063, 
+    4019, 3956, 3878, 3794, 3716, 3651, 3606, 3586, 
+    3589, 3612, 3647, 3688, 3728, 3760, 3781, 3787, 
+    3780, 3757, 3718, 3661, 3584, 3485, 3366, 3230, 
+    3085, 2938, 2801, 2683, 2589, 2525, 2492, 2486, 
+    2503, 2537, 2580, 2624, 2663, 2691, 2703, 2698, 
+    2674, 2633, 2574, 2500, 2415, 2322, 2228, 2139, 
+    2059, 1994, 1945, 1914, 1900, 1901, 1913, 1933, 
+    1957, 1983, 2006, 2025, 2038, 2046, 2049, 2048
+  },
+  {
+    2048, 2053, 2074, 2119, 2191, 2291, 2416, 2559, 
+    2710, 2860, 3000, 3124, 3225, 3301, 3350, 3371, 
+    3364, 3334, 3288, 3234, 3182, 3144, 3127, 3137, 
+    3173, 3231, 3304, 3378, 3441, 3483, 3495, 3475, 
+    3423, 3344, 3243, 3128, 3002, 2867, 2726, 2581, 
+    2433, 2286, 2142, 2001, 1865, 1731, 1597, 1460, 
+    1317, 1171, 1023, 881, 750, 637, 546, 476, 
+    423, 380, 341, 300, 254, 205, 154, 109, 
+    75, 56, 55, 72, 105, 153, 217, 296, 
+    395, 513, 651, 806, 972, 1139, 1299, 1444, 
+    1572, 1680, 1772, 1855, 1935, 2018, 2110, 2212, 
+    2323, 2442, 2563, 2680, 2786, 2877, 2944, 2982, 
+    2986, 2951, 2877, 2771, 2640, 2498, 2360, 2238, 
+    2145, 2087, 2069, 2088, 2140, 2215, 2303, 2392, 
+    2469, 2524, 2550, 2543, 2505, 2437, 2346, 2241, 
+    2132, 2031, 1949, 1893, 1870, 1878, 1915, 1974, 
+    2048, 2128, 2206, 2276, 2332, 2371, 2394, 2402, 
+    2403, 2404, 2417, 2449, 2510, 2603, 2728, 2882, 
+    3056, 3236, 3410, 3564, 3690, 3783, 3842, 3868, 
+    3864, 3833, 3777, 3700, 3604, 3495, 3378, 3261, 
+    3150, 3048, 2958, 2877, 2801, 2723, 2637, 2536, 
+    2420, 2289, 2146, 1997, 1847, 1698, 1552, 1410, 
+    1271, 1133, 999, 870, 748, 637, 536, 446, 
+    364, 288, 216, 150, 92, 49, 29, 37, 
+    76, 144, 235, 339, 444, 541, 623, 689, 
+    741, 784, 826, 874, 933, 1009, 1101, 1209, 
+    1330, 1461, 1598, 1739, 1877, 2007, 2123, 2219, 
+    2291, 2338, 2364, 2374, 2378, 2385, 2404, 2443, 
+    2503, 2585, 2684, 2794, 2904, 3004, 3084, 3136, 
+    3154, 3133, 3070, 2965, 2823, 2650, 2458, 2261, 
+    2075, 1914, 1787, 1701, 1656, 1649, 1675, 1726, 
+    1791, 1861, 1927, 1981, 2020, 2043, 2051, 2050
+  },
+  {
+    2048, 2051, 2065, 2095, 2144, 2212, 2298, 2397, 
+    2504, 2612, 2716, 2811, 2894, 2961, 3011, 3042, 
+    3055, 3052, 3036, 3014, 2996, 2988, 3001, 3040, 
+    3108, 3204, 3324, 3459, 3598, 3728, 3841, 3930, 
+    3992, 4029, 4045, 4045, 4032, 4009, 3975, 3930, 
+    3874, 3809, 3738, 3665, 3596, 3534, 3481, 3436, 
+    3397, 3357, 3312, 3255, 3184, 3099, 3003, 2900, 
+    2795, 2693, 2595, 2503, 2413, 2325, 2235, 2143, 
+    2048, 1950, 1850, 1750, 1651, 1554, 1460, 1370, 
+    1287, 1215, 1159, 1122, 1105, 1107, 1124, 1147, 
+    1168, 1179, 1172, 1143, 1091, 1019, 931, 836, 
+    741, 655, 584, 535, 510, 514, 549, 618, 
+    721, 856, 1019, 1201, 1388, 1569, 1730, 1862, 
+    1956, 2012, 2029, 2013, 1971, 1911, 1844, 1779, 
+    1725, 1690, 1676, 1686, 1719, 1771, 1838, 1913, 
+    1989, 2059, 2115, 2152, 2167, 2161, 2136, 2097, 
+    2048, 1994, 1942, 1894, 1856, 1829, 1813, 1805, 
+    1803, 1800, 1788, 1762, 1715, 1643, 1544, 1420, 
+    1276, 1120, 962, 811, 675, 558, 463, 390, 
+    337, 304, 290, 294, 316, 353, 399, 447, 
+    489, 517, 526, 513, 479, 430, 375, 322, 
+    283, 264, 269, 297, 345, 405, 473, 542, 
+    612, 682, 754, 829, 910, 996, 1086, 1179, 
+    1273, 1366, 1459, 1553, 1649, 1747, 1848, 1949, 
+    2048, 2141, 2227, 2305, 2375, 2440, 2505, 2574, 
+    2649, 2733, 2825, 2923, 3023, 3122, 3215, 3300, 
+    3373, 3433, 3476, 3499, 3496, 3465, 3403, 3313, 
+    3200, 3073, 2945, 2829, 2735, 2672, 2644, 2652, 
+    2691, 2756, 2836, 2921, 3000, 3062, 3101, 3111, 
+    3090, 3036, 2950, 2835, 2695, 2539, 2375, 2214, 
+    2069, 1947, 1855, 1795, 1766, 1765, 1786, 1824, 
+    1871, 1920, 1965, 2003, 2029, 2044, 2050, 2049
+  },
+  {
+    2048, 2061, 2117, 2228, 2396, 2610, 2844, 3065, 
+    3240, 3343, 3358, 3283, 3125, 2900, 2629, 2337, 
+    2048, 1783, 1558, 1379, 1241, 1136, 1049, 971, 
+    900, 843, 815, 838, 930, 1103, 1358, 1680, 
+    2048, 2435, 2816, 3170, 3479, 3729, 3908, 4008, 
+    4025, 3959, 3819, 3616, 3364, 3076, 2757, 2413, 
+    2048, 1667, 1285, 922, 601, 347, 175, 92, 
+    93, 168, 304, 490, 722, 998, 1315, 1668, 
+    2048, 2437, 2818, 3173, 3483, 3736, 3919, 4021, 
+    4035, 3956, 3788, 3544, 3247, 2924, 2605, 2309, 
+    2048, 1819, 1614, 1422, 1234, 1050, 878, 733, 
+    633, 597, 635, 751, 939, 1186, 1471, 1768, 
+    2048, 2280, 2443, 2523, 2523, 2457, 2354, 2241, 
+    2146, 2087, 2067, 2081, 2113, 2142, 2149, 2118, 
+    2048, 1944, 1824, 1711, 1629, 1601, 1637, 1740, 
+    1896, 2080, 2261, 2404, 2481, 2478, 2394, 2243, 
+    2048, 1835, 1634, 1468, 1354, 1299, 1300, 1342, 
+    1408, 1479, 1540, 1586, 1625, 1670, 1744, 1865, 
+    2048, 2292, 2585, 2903, 3215, 3491, 3707, 3846, 
+    3899, 3864, 3745, 3550, 3296, 2999, 2682, 2360, 
+    2048, 1749, 1462, 1186, 917, 661, 432, 250, 
+    137, 112, 184, 351, 600, 912, 1268, 1651, 
+    2048, 2444, 2828, 3184, 3496, 3749, 3932, 4040, 
+    4072, 4031, 3919, 3739, 3493, 3185, 2828, 2441, 
+    2048, 1675, 1346, 1074, 862, 705, 592, 516, 
+    476, 475, 524, 632, 806, 1046, 1343, 1684, 
+    2048, 2412, 2755, 3051, 3279, 3421, 3468, 3421, 
+    3295, 3116, 2914, 2717, 2543, 2398, 2277, 2166, 
+    2048, 1909, 1744, 1557, 1361, 1178, 1031, 940, 
+    919, 975, 1102, 1284, 1497, 1708, 1886, 2004, 
+    2048, 2018, 1931, 1812, 1689, 1590, 1536, 1534, 
+    1585, 1676, 1786, 1894, 1981, 2035, 2056, 2053
+  },
+  {
+    2048, 2072, 2162, 2326, 2531, 2717, 2808, 2744, 
+    2504, 2112, 1636, 1162, 781, 560, 536, 708, 
+    1040, 1468, 1922, 2340, 2681, 2929, 3082, 3144, 
+    3108, 2958, 2676, 2261, 1739, 1174, 654, 273, 
+    103, 179, 496, 1009, 1653, 2344, 2997, 3529, 
+    3874, 3994, 3882, 3563, 3082, 2497, 1866, 1246, 
+    698, 284, 64, 82, 347, 829, 1459, 2145, 
+    2795, 3334, 3712, 3900, 3885, 3668, 3262, 2702, 
+    2048, 1375, 770, 310, 56, 39, 261, 696, 
+    1287, 1952, 2594, 3120, 3458, 3578, 3497, 3260, 
+    2927, 2549, 2159, 1774, 1409, 1084, 836, 709, 
+    741, 951, 1327, 1819, 2353, 2844, 3211, 3395, 
+    3374, 3170, 2846, 2488, 2179, 1975, 1891, 1901, 
+    1956, 2008, 2027, 2015, 1996, 2006, 2073, 2203, 
+    2370, 2529, 2630, 2636, 2539, 2368, 2176, 2032, 
+    1989, 2070, 2251, 2471, 2649, 2712, 2622, 2385, 
+    2048, 1681, 1362, 1153, 1086, 1157, 1334, 1565, 
+    1803, 2019, 2207, 2378, 2545, 2706, 2837, 2892, 
+    2819, 2583, 2185, 1674, 1130, 653, 328, 216, 
+    337, 675, 1182, 1782, 2392, 2928, 3328, 3557, 
+    3606, 3490, 3229, 2845, 2359, 1803, 1223, 690, 
+    283, 77, 118, 409, 910, 1551, 2247, 2916, 
+    3483, 3886, 4077, 4031, 3750, 3266, 2640, 1948, 
+    1273, 689, 261, 35, 43, 291, 753, 1368, 
+    2048, 2691, 3210, 3550, 3691, 3645, 3437, 3096, 
+    2649, 2126, 1569, 1033, 587, 298, 216, 362, 
+    722, 1248, 1866, 2486, 3015, 3375, 3519, 3446, 
+    3200, 2855, 2490, 2166, 1911, 1723, 1584, 1478, 
+    1404, 1379, 1435, 1593, 1858, 2201, 2566, 2885, 
+    3090, 3140, 3027, 2785, 2480, 2196, 2006, 1951, 
+    2026, 2183, 2350, 2459, 2469, 2375, 2208, 2022, 
+    1871, 1793, 1798, 1865, 1955, 2028, 2061, 2057
+  },
+  {
+    2048, 1736, 1511, 1423, 1476, 1630, 1822, 1987, 
+    2083, 2101, 2063, 2006, 1968, 1967, 2000, 2045, 
+    2073, 2061, 2011, 1944, 1899, 1908, 1981, 2099, 
+    2218, 2291, 2292, 2226, 2129, 2054, 2044, 2111, 
+    2237, 2375, 2471, 2480, 2385, 2198, 1962, 1735, 
+    1574, 1515, 1563, 1694, 1861, 2022, 2148, 2232, 
+    2282, 2305, 2299, 2254, 2154, 1996, 1798, 1599, 
+    1449, 1393, 1464, 1664, 1967, 2319, 2651, 2890, 
+    2979, 2896, 2660, 2325, 1964, 1648, 1430, 1334, 
+    1360, 1494, 1707, 1967, 2238, 2480, 2658, 2740, 
+    2709, 2561, 2310, 1987, 1639, 1327, 1114, 1056, 
+    1181, 1476, 1889, 2335, 2720, 2967, 3034, 2923, 
+    2673, 2345, 2010, 1727, 1537, 1455, 1475, 1580, 
+    1747, 1955, 2184, 2411, 2607, 2733, 2751, 2632, 
+    2378, 2025, 1643, 1320, 1132, 1123, 1287, 1573, 
+    1902, 2192, 2386, 2461, 2433, 2339, 2225, 2123, 
+    2048, 1993, 1946, 1898, 1854, 1834, 1865, 1966, 
+    2133, 2334, 2512, 2611, 2593, 2463, 2263, 2058, 
+    1913, 1862, 1902, 1996, 2088, 2130, 2099, 2001, 
+    1871, 1755, 1694, 1710, 1795, 1918, 2036, 2111, 
+    2130, 2104, 2062, 2034, 2032, 2044, 2044, 2008, 
+    1930, 1832, 1756, 1745, 1830, 2008, 2250, 2502, 
+    2700, 2790, 2741, 2556, 2273, 1955, 1672, 1483, 
+    1414, 1463, 1600, 1789, 1998, 2202, 2383, 2519, 
+    2590, 2574, 2460, 2253, 1979, 1682, 1414, 1233, 
+    1183, 1291, 1551, 1925, 2344, 2723, 2981, 3065, 
+    2964, 2707, 2356, 1983, 1656, 1424, 1315, 1335, 
+    1468, 1686, 1950, 2223, 2467, 2652, 2748, 2736, 
+    2601, 2347, 2004, 1624, 1283, 1058, 1009, 1154, 
+    1466, 1873, 2285, 2614, 2801, 2826, 2710, 2501, 
+    2259, 2036, 1862, 1751, 1697, 1692, 1733, 1822, 
+    1963, 2154, 2374, 2582, 2721, 2742, 2619, 2369
+  },
+  {
+    2048, 2099, 2228, 2259, 1999, 1514, 1195, 1450, 
+    2280, 3163, 3424, 2780, 1605, 678, 618, 1447, 
+    2593, 3312, 3203, 2425, 1510, 990, 1120, 1807, 
+    2685, 3258, 3119, 2226, 1045, 353, 712, 2001, 
+    3423, 4031, 3396, 1899, 483, 41, 848, 2389, 
+    3692, 3949, 3033, 1544, 405, 291, 1255, 2722, 
+    3811, 3831, 2719, 1136, 90, 268, 1555, 3114, 
+    3964, 3614, 2324, 895, 183, 617, 1954, 3388, 
+    4020, 3424, 1949, 514, 27, 798, 2345, 3693, 
+    3997, 3089, 1590, 481, 425, 1338, 2538, 3274, 
+    3197, 2470, 1563, 978, 1033, 1728, 2698, 3356, 
+    3224, 2300, 1137, 500, 836, 1934, 3058, 3478, 
+    2986, 2018, 1282, 1194, 1621, 2108, 2314, 2242, 
+    2102, 2039, 2030, 2009, 2004, 2101, 2286, 2386, 
+    2222, 1832, 1496, 1506, 1876, 2312, 2478, 2313, 
+    2077, 2067, 2276, 2385, 2108, 1542, 1143, 1321, 
+    2048, 2836, 3127, 2729, 1951, 1338, 1247, 1633, 
+    2172, 2537, 2581, 2321, 1874, 1441, 1300, 1669, 
+    2465, 3215, 3317, 2530, 1269, 374, 507, 1646, 
+    3076, 3872, 3523, 2269, 928, 339, 820, 2008, 
+    3150, 3579, 3074, 1933, 812, 393, 1006, 2361, 
+    3636, 3973, 3084, 1503, 242, 106, 1176, 2779, 
+    3923, 3906, 2735, 1128, 88, 267, 1552, 3134, 
+    4033, 3701, 2345, 796, 14, 497, 1947, 3438, 
+    4019, 3364, 1958, 721, 380, 1054, 2279, 3324, 
+    3589, 2905, 1647, 566, 367, 1237, 2668, 3752, 
+    3780, 2721, 1257, 332, 511, 1607, 2838, 3413, 
+    3085, 2234, 1489, 1248, 1506, 2001, 2450, 2652, 
+    2503, 2030, 1460, 1167, 1432, 2176, 2932, 3161, 
+    2674, 1808, 1170, 1163, 1680, 2239, 2430, 2258, 
+    2059, 2108, 2334, 2426, 2195, 1777, 1510, 1606, 
+    1957, 2266, 2327, 2193, 2057, 2033, 2068, 2069
+  },
+  {
+    2048, 2119, 2229, 2372, 2541, 2724, 2909, 3085, 
+    3240, 3368, 3466, 3533, 3571, 3581, 3566, 3529, 
+    3473, 3403, 3326, 3251, 3188, 3144, 3128, 3145, 
+    3195, 3276, 3382, 3503, 3628, 3747, 3850, 3932, 
+    3992, 4032, 4055, 4067, 4071, 4069, 4061, 4047, 
+    4025, 3996, 3965, 3934, 3910, 3898, 3902, 3922, 
+    3956, 3998, 4040, 4074, 4093, 4093, 4074, 4041, 
+    4002, 3964, 3935, 3920, 3921, 3936, 3961, 3991, 
+    4020, 4044, 4062, 4073, 4078, 4078, 4073, 4060, 
+    4035, 3994, 3932, 3848, 3744, 3626, 3504, 3389, 
+    3291, 3220, 3180, 3174, 3198, 3247, 3313, 3388, 
+    3462, 3527, 3577, 3607, 3615, 3598, 3553, 3479, 
+    3374, 3240, 3081, 2904, 2720, 2541, 2379, 2245, 
+    2146, 2087, 2069, 2088, 2140, 2218, 2311, 2410, 
+    2503, 2580, 2633, 2654, 2639, 2585, 2492, 2361, 
+    2199, 2014, 1817, 1619, 1435, 1273, 1142, 1045, 
+    984, 959, 967, 1005, 1067, 1148, 1238, 1328, 
+    1408, 1468, 1498, 1493, 1450, 1369, 1254, 1113, 
+    956, 796, 643, 508, 397, 311, 251, 214, 
+    196, 195, 211, 240, 283, 334, 391, 445, 
+    489, 515, 519, 496, 449, 380, 299, 215, 
+    137, 74, 31, 7, 0, 3, 10, 16, 
+    18, 14, 8, 2, 0, 2, 8, 16, 
+    23, 25, 22, 13, 4, 0, 7, 31, 
+    76, 139, 215, 296, 371, 432, 472, 486, 
+    476, 445, 398, 345, 291, 244, 207, 183, 
+    172, 177, 199, 241, 305, 395, 510, 648, 
+    800, 958, 1109, 1242, 1347, 1416, 1448, 1443, 
+    1404, 1338, 1255, 1164, 1077, 1002, 947, 918, 
+    919, 954, 1024, 1129, 1268, 1436, 1624, 1822, 
+    2017, 2197, 2351, 2472, 2554, 2597, 2602, 2571, 
+    2510, 2427, 2331, 2232, 2141, 2070, 2027, 2018
+  },
+  {
+    2048, 2055, 2083, 2142, 2236, 2366, 2526, 2705, 
+    2891, 3068, 3227, 3358, 3455, 3515, 3537, 3522, 
+    3473, 3396, 3302, 3199, 3101, 3015, 2946, 2896, 
+    2859, 2827, 2789, 2734, 2652, 2541, 2399, 2232, 
+    2048, 1853, 1656, 1461, 1273, 1094, 929, 779, 
+    649, 541, 454, 384, 327, 277, 229, 182, 
+    139, 106, 93, 108, 158, 244, 363, 506, 
+    666, 832, 999, 1165, 1330, 1499, 1674, 1857, 
+    2048, 2243, 2440, 2635, 2825, 3005, 3173, 3324, 
+    3453, 3552, 3614, 3635, 3614, 3558, 3476, 3382, 
+    3291, 3215, 3159, 3125, 3110, 3105, 3100, 3084, 
+    3048, 2986, 2897, 2783, 2647, 2497, 2341, 2188, 
+    2048, 1931, 1846, 1799, 1790, 1815, 1863, 1922, 
+    1978, 2017, 2030, 2012, 1962, 1885, 1789, 1687, 
+    1592, 1517, 1473, 1467, 1501, 1574, 1678, 1805, 
+    1940, 2069, 2176, 2249, 2282, 2272, 2224, 2146, 
+    2048, 1941, 1837, 1745, 1672, 1623, 1598, 1591, 
+    1596, 1599, 1590, 1558, 1495, 1398, 1269, 1117, 
+    956, 802, 670, 575, 523, 516, 554, 630, 
+    738, 873, 1027, 1196, 1372, 1550, 1724, 1890, 
+    2048, 2198, 2346, 2498, 2659, 2833, 3019, 3210, 
+    3398, 3573, 3724, 3847, 3939, 4004, 4046, 4069, 
+    4078, 4071, 4048, 4005, 3939, 3852, 3743, 3618, 
+    3479, 3331, 3173, 3006, 2830, 2642, 2446, 2245, 
+    2048, 1860, 1690, 1539, 1406, 1286, 1172, 1057, 
+    936, 808, 676, 546, 425, 322, 242, 192, 
+    172, 186, 235, 319, 438, 590, 769, 965, 
+    1166, 1356, 1526, 1668, 1779, 1864, 1931, 1988, 
+    2048, 2117, 2202, 2304, 2419, 2541, 2659, 2764, 
+    2845, 2893, 2899, 2857, 2767, 2633, 2463, 2272, 
+    2078, 1899, 1750, 1642, 1579, 1563, 1587, 1643, 
+    1721, 1807, 1890, 1961, 2012, 2041, 2052, 2050
+  },
+  {
+    2048, 2060, 2109, 2207, 2360, 2560, 2787, 3015, 
+    3217, 3368, 3451, 3458, 3391, 3257, 3067, 2840, 
+    2593, 2344, 2110, 1900, 1717, 1554, 1404, 1253, 
+    1093, 924, 753, 596, 475, 410, 418, 507, 
+    673, 905, 1189, 1509, 1849, 2196, 2537, 2858, 
+    3146, 3391, 3587, 3732, 3830, 3884, 3899, 3876, 
+    3811, 3695, 3524, 3294, 3012, 2689, 2345, 1999, 
+    1666, 1358, 1077, 824, 599, 404, 246, 133, 
+    75, 80, 151, 285, 478, 721, 1006, 1323, 
+    1660, 2000, 2324, 2612, 2847, 3019, 3127, 3181, 
+    3197, 3192, 3179, 3165, 3148, 3119, 3064, 2972, 
+    2833, 2647, 2419, 2162, 1894, 1634, 1404, 1223, 
+    1109, 1072, 1113, 1222, 1379, 1556, 1726, 1867, 
+    1965, 2019, 2035, 2029, 2021, 2027, 2060, 2127, 
+    2222, 2333, 2441, 2526, 2569, 2558, 2487, 2361, 
+    2197, 2016, 1849, 1723, 1659, 1666, 1742, 1876, 
+    2048, 2234, 2412, 2562, 2670, 2729, 2742, 2718, 
+    2674, 2627, 2591, 2574, 2575, 2583, 2581, 2548, 
+    2465, 2322, 2116, 1859, 1568, 1267, 977, 719, 
+    508, 354, 266, 245, 291, 396, 550, 737, 
+    945, 1165, 1394, 1634, 1891, 2170, 2472, 2790, 
+    3109, 3408, 3667, 3870, 4007, 4077, 4082, 4030, 
+    3923, 3765, 3559, 3306, 3013, 2689, 2347, 1998, 
+    1653, 1320, 1006, 719, 468, 266, 126, 61, 
+    76, 167, 322, 524, 752, 993, 1237, 1486, 
+    1741, 2008, 2289, 2582, 2875, 3157, 3411, 3623, 
+    3780, 3872, 3893, 3841, 3715, 3523, 3282, 3013, 
+    2740, 2489, 2276, 2107, 1979, 1879, 1791, 1699, 
+    1592, 1467, 1331, 1196, 1082, 1005, 980, 1015, 
+    1109, 1256, 1438, 1635, 1821, 1973, 2068, 2097, 
+    2059, 1967, 1844, 1713, 1601, 1526, 1499, 1525, 
+    1594, 1694, 1805, 1908, 1988, 2036, 2055, 2053
+  },
+  {
+    2048, 2072, 2095, 2075, 2062, 2149, 2347, 2534, 
+    2584, 2527, 2537, 2732, 3017, 3166, 3074, 2884, 
+    2844, 3021, 3223, 3212, 2982, 2782, 2838, 3104, 
+    3321, 3317, 3206, 3252, 3548, 3896, 4028, 3910, 
+    3782, 3875, 4095, 4095, 4095, 3855, 3719, 3863, 
+    4080, 4065, 3759, 3424, 3355, 3556, 3739, 3649, 
+    3342, 3105, 3136, 3332, 3412, 3231, 2919, 2715, 
+    2707, 2768, 2724, 2551, 2362, 2259, 2219, 2157, 
+    2048, 1944, 1881, 1811, 1665, 1473, 1350, 1361, 
+    1417, 1359, 1150, 949, 947, 1145, 1329, 1300, 
+    1095, 955, 1044, 1254, 1316, 1103, 782, 627, 
+    713, 835, 759, 498, 306, 386, 653, 834, 
+    792, 690, 804, 1192, 1608, 1771, 1678, 1603, 
+    1778, 2118, 2309, 2159, 1822, 1629, 1734, 1954, 
+    1990, 1762, 1493, 1456, 1681, 1943, 2022, 1925, 
+    1847, 1930, 2119, 2249, 2238, 2153, 2095, 2080, 
+    2048, 1973, 1912, 1915, 1938, 1892, 1763, 1668, 
+    1723, 1885, 1968, 1842, 1593, 1438, 1481, 1578, 
+    1487, 1150, 775, 614, 689, 765, 627, 325, 
+    123, 191, 407, 501, 366, 185, 212, 466, 
+    698, 671, 436, 273, 366, 584, 630, 389, 
+    77, 8, 248, 539, 586, 384, 215, 329, 
+    667, 935, 929, 753, 682, 863, 1169, 1364, 
+    1361, 1292, 1331, 1505, 1700, 1812, 1863, 1934, 
+    2048, 2147, 2196, 2244, 2360, 2521, 2615, 2582, 
+    2519, 2589, 2834, 3096, 3182, 3084, 3009, 3147, 
+    3446, 3657, 3604, 3387, 3271, 3380, 3552, 3521, 
+    3228, 2893, 2770, 2865, 2939, 2800, 2540, 2436, 
+    2621, 2923, 3052, 2930, 2780, 2860, 3153, 3370, 
+    3268, 2930, 2671, 2689, 2844, 2820, 2484, 2039, 
+    1804, 1875, 2038, 2026, 1804, 1593, 1602, 1812, 
+    2013, 2049, 1961, 1906, 1958, 2053, 2091, 2066
+  },
+  {
+    2048, 2070, 2146, 2287, 2483, 2702, 2900, 3027, 
+    3040, 2918, 2664, 2307, 1895, 1485, 1132, 876, 
+    736, 714, 794, 950, 1160, 1403, 1672, 1964, 
+    2279, 2614, 2955, 3279, 3551, 3731, 3784, 3687, 
+    3434, 3043, 2547, 1997, 1446, 948, 545, 265, 
+    123, 122, 252, 500, 850, 1280, 1768, 2284, 
+    2795, 3265, 3654, 3930, 4065, 4046, 3875, 3567, 
+    3152, 2664, 2143, 1626, 1146, 731, 405, 187, 
+    94, 136, 319, 637, 1073, 1592, 2150, 2693, 
+    3169, 3530, 3746, 3807, 3720, 3514, 3223, 2886, 
+    2537, 2196, 1875, 1578, 1306, 1063, 862, 723, 
+    671, 729, 908, 1201, 1584, 2009, 2421, 2763, 
+    2992, 3084, 3043, 2896, 2687, 2466, 2275, 2142, 
+    2070, 2044, 2037, 2021, 1974, 1892, 1789, 1690, 
+    1628, 1627, 1697, 1828, 1989, 2140, 2238, 2252, 
+    2173, 2016, 1819, 1633, 1508, 1484, 1577, 1776, 
+    2048, 2343, 2610, 2807, 2911, 2919, 2849, 2726, 
+    2581, 2434, 2291, 2147, 1986, 1794, 1565, 1306, 
+    1043, 816, 670, 645, 766, 1034, 1430, 1909, 
+    2417, 2895, 3293, 3576, 3726, 3744, 3643, 3442, 
+    3162, 2819, 2430, 2008, 1570, 1139, 742, 413, 
+    189, 97, 158, 374, 732, 1201, 1741, 2303, 
+    2842, 3316, 3692, 3947, 4067, 4047, 3887, 3596, 
+    3191, 2697, 2150, 1590, 1066, 621, 297, 117, 
+    94, 220, 475, 826, 1240, 1683, 2127, 2551, 
+    2937, 3270, 3535, 3711, 3780, 3723, 3531, 3209, 
+    2779, 2282, 1770, 1302, 930, 693, 608, 664, 
+    834, 1076, 1345, 1606, 1836, 2031, 2199, 2355, 
+    2509, 2665, 2811, 2922, 2971, 2931, 2792, 2562, 
+    2271, 1966, 1698, 1514, 1444, 1491, 1632, 1826, 
+    2020, 2164, 2228, 2200, 2097, 1953, 1809, 1705, 
+    1663, 1689, 1767, 1869, 1964, 2029, 2055, 2053
+  },
+  {
+    2048, 2561, 2882, 1925, 1133, 2097, 3797, 4088, 
+    2776, 1767, 2291, 3280, 3257, 2487, 2059, 2126, 
+    2101, 1630, 1064, 1182, 1941, 2104, 1196, 546, 
+    1140, 2073, 2181, 1769, 1821, 2365, 2600, 2511, 
+    2925, 3644, 3507, 2704, 2607, 3268, 3505, 3065, 
+    2629, 2418, 2195, 2003, 2003, 1859, 1066, 110, 
+    157, 1030, 1220, 450, 80, 694, 1448, 1721, 
+    1786, 2100, 2633, 2799, 2270, 1758, 2203, 3394, 
+    4094, 3495, 2357, 2200, 3036, 3279, 2512, 2047, 
+    2132, 1482, 103, 0, 966, 2027, 1434, 250, 
+    475, 1883, 2525, 1973, 1589, 1913, 2175, 1995, 
+    1842, 2221, 3014, 3437, 3043, 2581, 2900, 3549, 
+    3502, 2694, 2013, 1982, 2001, 1505, 1262, 2009, 
+    2685, 2173, 1503, 2031, 3013, 2982, 2080, 1531, 
+    1740, 2035, 2040, 2150, 2357, 2095, 1711, 2170, 
+    3093, 3197, 2417, 1724, 1547, 1653, 1797, 1905, 
+    2048, 2242, 2334, 2300, 2332, 2628, 3225, 3649, 
+    3156, 2071, 1676, 2141, 2380, 2129, 2035, 2014, 
+    1542, 1048, 1384, 2197, 2109, 877, 120, 825, 
+    1656, 1357, 856, 1254, 1923, 2056, 2093, 2657, 
+    3405, 3542, 2994, 2621, 2942, 3334, 3120, 2552, 
+    2206, 2220, 2250, 1874, 1385, 1543, 1973, 1423, 
+    198, 29, 1125, 1695, 806, 0, 263, 1560, 
+    2130, 2050, 2522, 3231, 2971, 2280, 2656, 3851, 
+    4095, 3374, 2153, 1810, 2357, 2798, 2562, 2088, 
+    1879, 1846, 1581, 940, 509, 921, 1484, 1011, 
+    31, 79, 1132, 1898, 1978, 1988, 2205, 2327, 
+    2334, 2625, 3035, 2727, 1825, 1636, 2371, 2727, 
+    2323, 2121, 2341, 2265, 1886, 1866, 2171, 1986, 
+    1120, 626, 1239, 2015, 1854, 1326, 1485, 2132, 
+    2467, 2287, 2008, 2142, 2522, 2233, 1167, 733, 
+    1793, 3076, 2860, 1469, 909, 1947, 2928, 2560
+  },
+  {
+    2048, 2504, 2795, 1937, 1211, 2093, 3713, 4049, 
+    2790, 1746, 2327, 3617, 3862, 2964, 2133, 1958, 
+    2048, 1906, 1540, 1495, 1969, 2095, 1253, 469, 
+    957, 2084, 2288, 1309, 413, 609, 1420, 1878, 
+    2048, 2416, 2641, 2415, 2445, 3116, 3618, 3425, 
+    3094, 3057, 2976, 2556, 2157, 2260, 2607, 2510, 
+    2048, 1846, 1730, 1126, 470, 562, 1118, 1256, 
+    707, 0, 0, 657, 1800, 2252, 1982, 1778, 
+    2048, 2337, 2178, 2155, 3149, 4095, 3814, 2019, 
+    1613, 3417, 4095, 4095, 2914, 2060, 2283, 2403, 
+    2048, 2008, 2319, 1963, 931, 522, 1245, 2190, 
+    2418, 1813, 1007, 831, 1340, 1749, 1701, 1701, 
+    2048, 2283, 2008, 1749, 2382, 3485, 3459, 2102, 
+    1281, 1916, 2557, 2061, 1334, 1451, 2031, 2222, 
+    2048, 2033, 2105, 1834, 1584, 1987, 2435, 1916, 
+    981, 920, 1695, 2348, 2505, 2404, 2271, 2175, 
+    2048, 1874, 1791, 1820, 1787, 1507, 926, 477, 
+    918, 2022, 2475, 1928, 1548, 1878, 2145, 2009, 
+    2048, 2386, 2390, 1952, 2002, 3023, 3848, 3333, 
+    2518, 3030, 4095, 4095, 2947, 2084, 2100, 2270, 
+    2048, 1702, 1663, 1726, 1412, 921, 893, 1364, 
+    1762, 1577, 771, 85, 433, 1479, 2005, 1899, 
+    2048, 2447, 2401, 2251, 3043, 4095, 4095, 3226, 
+    1627, 2142, 3851, 4095, 3076, 2212, 2305, 2408, 
+    2048, 1782, 2003, 2215, 1703, 660, 90, 449, 
+    1182, 1559, 1324, 832, 814, 1398, 1831, 1842, 
+    2048, 2517, 2569, 2216, 2218, 2717, 3036, 2810, 
+    2563, 2830, 3111, 2643, 1890, 1817, 2179, 2205, 
+    2048, 2021, 1715, 1061, 879, 1567, 2270, 1959, 
+    932, 554, 1292, 2021, 1905, 1587, 1757, 2076, 
+    2048, 1774, 1737, 2244, 2760, 2283, 1035, 637, 
+    1788, 3057, 2821, 1509, 1006, 1957, 2836, 2504
+  },
+  {
+    2048, 2448, 2705, 1949, 1297, 2089, 3594, 3952, 
+    2776, 1740, 2347, 3840, 4095, 3348, 2198, 1801, 
+    1994, 2206, 2113, 1926, 2015, 2073, 1535, 882, 
+    1140, 2082, 2300, 1162, 0, 0, 565, 1339, 
+    1170, 960, 1385, 1871, 1992, 2142, 2460, 2617, 
+    2629, 2757, 2854, 2594, 2196, 2427, 3507, 4095, 
+    3938, 2920, 2662, 3067, 3099, 2608, 2195, 2028, 
+    1786, 1282, 808, 955, 1777, 2367, 1886, 688, 
+    1, 586, 1725, 1880, 843, 258, 1065, 2058, 
+    2132, 2013, 2527, 3003, 2625, 2061, 2503, 3589, 
+    3621, 2244, 1338, 2198, 3558, 3686, 2746, 1947, 
+    1842, 2145, 2321, 2155, 1950, 1904, 1660, 1024, 
+    593, 1060, 2140, 2565, 1577, 323, 565, 1997, 
+    2685, 2145, 1719, 2040, 2341, 2179, 2045, 2244, 
+    2355, 2087, 1946, 2350, 2626, 2116, 1633, 2182, 
+    3093, 3120, 2374, 1774, 1637, 1732, 1850, 1936, 
+    2048, 2199, 2274, 2250, 2281, 2539, 3089, 3542, 
+    3156, 2073, 1590, 2184, 2670, 2289, 1876, 2152, 
+    2553, 2428, 2091, 2069, 2066, 1520, 887, 1098, 
+    1656, 1132, 0, 0, 782, 1984, 1924, 1117, 
+    690, 1029, 1618, 1893, 1959, 2147, 2351, 2330, 
+    2206, 2379, 3157, 4095, 4095, 3062, 2159, 2793, 
+    3897, 3778, 2732, 2273, 2711, 2971, 2487, 2018, 
+    2130, 2013, 1044, 328, 923, 1791, 1414, 226, 
+    0, 708, 1938, 2310, 1670, 958, 958, 1461, 
+    1879, 2035, 2162, 2506, 2870, 2767, 2466, 2936, 
+    4064, 4095, 3409, 2348, 2278, 2767, 2907, 2584, 
+    2334, 2371, 2327, 2100, 2069, 2158, 1901, 1584, 
+    1772, 1935, 1261, 335, 403, 1472, 2281, 1965, 
+    1120, 944, 1561, 2033, 1989, 1946, 2085, 2015, 
+    1628, 1297, 1503, 2326, 2936, 2317, 964, 610, 
+    1793, 3007, 2766, 1557, 1113, 1967, 2741, 2447
+  },
+  {
+    2048, 2391, 2614, 1962, 1390, 2084, 3441, 3798, 
+    2733, 1749, 2349, 3933, 4095, 3601, 2245, 1678, 
+    1949, 2480, 2673, 2383, 2069, 2045, 1963, 1657, 
+    1630, 2067, 2213, 1389, 126, 0, 478, 1190, 
+    807, 179, 564, 1450, 1580, 1095, 969, 1325, 
+    1647, 1798, 1949, 2078, 2078, 2176, 2736, 3459, 
+    3495, 2877, 2778, 3608, 4095, 3832, 3049, 2830, 
+    3286, 3873, 3912, 3170, 2242, 1891, 2097, 2250, 
+    2048, 1830, 1948, 1965, 1182, 208, 570, 2072, 
+    2449, 693, 0, 0, 845, 2027, 1506, 582, 
+    844, 1928, 2383, 1996, 1740, 1958, 2133, 2012, 
+    1906, 2171, 2762, 3132, 2879, 2533, 2914, 3805, 
+    4095, 3243, 1950, 1562, 2441, 3329, 3017, 2076, 
+    1754, 2015, 2102, 2047, 2244, 2409, 2068, 1514, 
+    1479, 1988, 2180, 1686, 1404, 1975, 2465, 1917, 
+    1062, 1061, 1753, 2291, 2407, 2322, 2217, 2143, 
+    2048, 1917, 1853, 1872, 1843, 1611, 1109, 674, 
+    1004, 2023, 2508, 1904, 1355, 1759, 2273, 1890, 
+    1114, 1014, 1626, 2105, 2060, 1990, 2239, 2366, 
+    2228, 2562, 3518, 3922, 3105, 2107, 2178, 3174, 
+    3968, 3797, 3010, 2570, 2795, 3051, 2841, 2406, 
+    2157, 2164, 2183, 1932, 1602, 1703, 1995, 1593, 
+    632, 402, 1233, 1703, 667, 0, 0, 882, 
+    2436, 1965, 539, 279, 1239, 1921, 1852, 1776, 
+    2048, 2247, 2081, 1919, 2319, 3168, 3686, 3445, 
+    2847, 2530, 2827, 3508, 3758, 3148, 2545, 2893, 
+    3591, 3482, 2690, 2150, 2095, 2087, 1943, 1859, 
+    1850, 1637, 1317, 1517, 2233, 2422, 1719, 1252, 
+    1659, 1911, 1215, 442, 674, 1620, 2200, 2001, 
+    1621, 1677, 1967, 2049, 2087, 2327, 2405, 1960, 
+    1272, 921, 1332, 2380, 3036, 2331, 957, 652, 
+    1807, 2930, 2695, 1612, 1229, 1978, 2645, 2391
+  },
+  {
+    2048, 2334, 2522, 1976, 1490, 2079, 3258, 3593, 
+    2665, 1773, 2333, 3889, 4095, 3697, 2269, 1604, 
+    1919, 2679, 3113, 2768, 2118, 2017, 2415, 2552, 
+    2260, 2045, 2060, 1896, 1377, 998, 1204, 1514, 
+    1170, 558, 718, 1443, 1509, 781, 350, 647, 
+    1021, 1071, 1139, 1531, 1928, 1784, 1177, 880, 
+    1264, 1772, 1926, 2007, 2266, 2439, 2386, 2410, 
+    2792, 3438, 3834, 3414, 2357, 1705, 2214, 3417, 
+    4094, 3520, 2379, 2228, 3421, 4095, 3464, 2029, 
+    1806, 2675, 3147, 2715, 2168, 2047, 1957, 1561, 
+    1396, 1948, 2471, 1943, 827, 498, 1262, 2186, 
+    2411, 1809, 922, 606, 1091, 1557, 1271, 647, 
+    593, 1304, 2100, 2265, 1910, 1752, 1973, 2052, 
+    1898, 2005, 2283, 2056, 1407, 1270, 2012, 2828, 
+    2791, 2119, 1898, 2432, 2701, 2118, 1653, 2168, 
+    2934, 2918, 2303, 1839, 1742, 1817, 1905, 1968, 
+    2048, 2156, 2211, 2195, 2221, 2422, 2863, 3260, 
+    2987, 2070, 1612, 2188, 2750, 2353, 1795, 2236, 
+    3268, 3558, 2766, 1923, 2007, 2675, 2881, 2459, 
+    2139, 2121, 1934, 1615, 1678, 2021, 1977, 1347, 
+    690, 653, 1185, 1519, 1188, 713, 799, 1352, 
+    1768, 1592, 799, 53, 282, 1342, 1981, 1671, 
+    1281, 1501, 1912, 2039, 2186, 2693, 3057, 2588, 
+    1814, 2110, 3494, 4095, 3331, 2323, 2700, 3882, 
+    4095, 3396, 2161, 1766, 2478, 3411, 3618, 3112, 
+    2529, 2271, 2311, 2368, 2218, 2019, 1965, 1767, 
+    1212, 861, 1236, 1839, 1861, 1367, 1080, 1309, 
+    1542, 1252, 897, 1342, 2261, 2426, 1753, 1413, 
+    1772, 1963, 1600, 1328, 1568, 1949, 2059, 2054, 
+    2265, 2525, 2397, 2065, 2176, 2648, 2657, 1920, 
+    1034, 696, 1245, 2400, 3050, 2324, 1016, 763, 
+    1831, 2827, 2610, 1674, 1353, 1989, 2548, 2334
+  },
+  {
+    2048, 2277, 2428, 1990, 1595, 2073, 3049, 3342, 
+    2572, 1810, 2299, 3712, 4095, 3626, 2267, 1589, 
+    1909, 2769, 3349, 2999, 2150, 1997, 2763, 3291, 
+    2819, 2024, 1903, 2466, 2932, 2799, 2368, 2132, 
+    2048, 1862, 1745, 1856, 1832, 1442, 1103, 1156, 
+    1308, 1252, 1212, 1508, 1905, 1682, 615, 0, 
+    1, 1020, 1235, 461, 0, 472, 1211, 1424, 
+    1100, 697, 708, 1259, 1913, 2154, 2014, 1912, 
+    2048, 2193, 2114, 2104, 2644, 3339, 3110, 2029, 
+    1740, 3127, 4095, 4095, 3180, 2068, 2650, 3863, 
+    3750, 2248, 1351, 2193, 3506, 3666, 2770, 1935, 
+    1786, 2199, 2674, 2737, 2430, 2203, 2224, 2222, 
+    2048, 1929, 2068, 2203, 1867, 1232, 1199, 2013, 
+    2590, 2151, 1589, 2033, 2980, 3075, 2091, 1155, 
+    1243, 1973, 2195, 1680, 1441, 1984, 2396, 1944, 
+    1293, 1318, 1836, 2218, 2295, 2234, 2162, 2111, 
+    2048, 1960, 1917, 1928, 1907, 1741, 1373, 1032, 
+    1249, 2028, 2432, 1921, 1395, 1755, 2298, 1853, 
+    727, 320, 1170, 2212, 2107, 1013, 427, 1035, 
+    1715, 1412, 760, 855, 1561, 2029, 2021, 1936, 
+    2048, 2221, 2244, 2215, 2391, 2686, 2742, 2490, 
+    2249, 2419, 3196, 4095, 4095, 3026, 2157, 2808, 
+    4050, 4086, 2953, 2398, 3348, 4095, 4095, 2977, 
+    1750, 2109, 3132, 3289, 2604, 2133, 2179, 2229, 
+    2048, 1914, 2025, 2135, 1861, 1261, 870, 1014, 
+    1435, 1663, 1397, 758, 436, 929, 1494, 1001, 
+    0, 0, 711, 1758, 1825, 1337, 1158, 1447, 
+    1683, 1541, 1408, 1710, 2133, 2168, 1981, 1969, 
+    2048, 2061, 2217, 2563, 2680, 2320, 1914, 2105, 
+    2836, 3225, 2727, 2076, 2234, 2841, 2792, 1901, 
+    951, 652, 1252, 2385, 2978, 2298, 1136, 936, 
+    1864, 2700, 2513, 1742, 1484, 2000, 2449, 2277
+  },
+  {
+    2048, 2220, 2334, 2004, 1704, 2067, 2818, 3053, 
+    2460, 1858, 2251, 3414, 4031, 3396, 2240, 1636, 
+    1919, 2736, 3335, 3028, 2158, 1991, 2907, 3645, 
+    3117, 2011, 1802, 2860, 4086, 4095, 3365, 2704, 
+    2925, 3282, 2971, 2401, 2313, 2568, 2620, 2422, 
+    2252, 2173, 2097, 2033, 2032, 1982, 1693, 1304, 
+    1264, 1583, 1622, 1093, 632, 815, 1302, 1412, 
+    933, 196, 0, 488, 1712, 2406, 1877, 671, 
+    1, 568, 1709, 1859, 557, 0, 319, 2073, 
+    2409, 947, 0, 0, 1270, 2035, 1732, 1227, 
+    1396, 1984, 2220, 2022, 1893, 2003, 2090, 2030, 
+    1975, 2111, 2427, 2640, 2519, 2335, 2587, 3208, 
+    3502, 2962, 1965, 1594, 2464, 3628, 3486, 2101, 
+    1295, 1914, 2598, 2064, 1043, 989, 2005, 2899, 
+    2791, 2114, 1918, 2362, 2555, 2100, 1766, 2130, 
+    2640, 2614, 2210, 1917, 1860, 1907, 1962, 2000, 
+    2048, 2113, 2146, 2137, 2154, 2281, 2567, 2837, 
+    2675, 2063, 1737, 2152, 2593, 2298, 1828, 2222, 
+    3268, 3696, 2916, 1879, 1984, 3221, 3994, 3348, 
+    2509, 3013, 4095, 4095, 3169, 2103, 2157, 2910, 
+    3405, 3203, 2647, 2357, 2471, 2597, 2469, 2233, 
+    2103, 2106, 2115, 1990, 1824, 1873, 2020, 1808, 
+    1281, 1126, 1573, 1837, 1154, 17, 0, 1100, 
+    2397, 1964, 283, 0, 655, 1759, 1382, 204, 
+    0, 692, 1932, 2342, 1581, 491, 132, 630, 
+    1328, 1655, 1467, 1039, 941, 1374, 1757, 1575, 
+    1212, 1292, 1716, 1996, 2024, 2028, 2100, 2143, 
+    2148, 2260, 2435, 2338, 1942, 1826, 2252, 2573, 
+    2323, 2152, 2746, 3548, 3505, 2575, 1821, 2134, 
+    3142, 3559, 2864, 2080, 2248, 2864, 2784, 1908, 
+    1034, 795, 1352, 2336, 2826, 2253, 1312, 1163, 
+    1903, 2555, 2406, 1814, 1620, 2012, 2350, 2220
+  },
+  {
+    2048, 2162, 2239, 2018, 1817, 2061, 2571, 2735, 
+    2332, 1916, 2190, 3018, 3473, 3030, 2190, 1738, 
+    1949, 2585, 3073, 2846, 2140, 1999, 2806, 3502, 
+    3055, 2012, 1798, 2909, 4095, 4095, 3680, 2913, 
+    3288, 3935, 3590, 2702, 2599, 3294, 3674, 3370, 
+    3014, 2978, 2933, 2572, 2176, 2355, 3177, 3803, 
+    3495, 2741, 2573, 3035, 3287, 2966, 2522, 2392, 
+    2561, 2764, 2748, 2454, 2116, 1994, 2064, 2115, 
+    2048, 1975, 2014, 2019, 1744, 1382, 1493, 2057, 
+    2214, 1451, 509, 482, 1366, 2035, 1658, 822, 
+    844, 1898, 2597, 1926, 735, 474, 1281, 2179, 
+    2390, 1822, 969, 628, 1067, 1516, 1146, 273, 
+    0, 841, 2149, 2578, 1584, 370, 585, 1996, 
+    2756, 2169, 1562, 2033, 2887, 2910, 2081, 1383, 
+    1479, 1997, 2143, 1819, 1683, 2010, 2245, 1990, 
+    1639, 1660, 1937, 2135, 2174, 2142, 2105, 2080, 
+    2048, 2004, 1982, 1987, 1976, 1890, 1695, 1508, 
+    1615, 2037, 2265, 1974, 1655, 1865, 2210, 1916, 
+    1114, 762, 1356, 2185, 2101, 1041, 329, 863, 
+    1613, 1105, 0, 0, 800, 1983, 1912, 910, 
+    127, 281, 1047, 1476, 1166, 733, 851, 1391, 
+    1784, 1613, 829, 23, 149, 1226, 1961, 1482, 
+    632, 672, 1462, 1829, 1265, 533, 635, 1534, 
+    2209, 2015, 1481, 1408, 1764, 2004, 1982, 1957, 
+    2048, 2114, 2059, 2003, 2143, 2453, 2663, 2596, 
+    2379, 2260, 2417, 2799, 3016, 2744, 2406, 2754, 
+    3591, 3831, 3101, 2291, 2248, 2738, 2991, 2750, 
+    2524, 2799, 3150, 2742, 1829, 1638, 2389, 2851, 
+    2436, 2185, 2913, 3805, 3668, 2608, 1817, 2132, 
+    3078, 3425, 2768, 2075, 2215, 2713, 2634, 1939, 
+    1272, 1106, 1533, 2258, 2607, 2193, 1531, 1433, 
+    1948, 2394, 2291, 1890, 1760, 2024, 2249, 2162
+  },
+  {
+    2048, 2105, 2143, 2033, 1932, 2054, 2312, 2396, 
+    2192, 1980, 2121, 2551, 2793, 2565, 2123, 1882, 
+    1994, 2341, 2615, 2495, 2100, 2020, 2490, 2908, 
+    2654, 2026, 1892, 2594, 3514, 3739, 3149, 2645, 
+    2925, 3416, 3196, 2548, 2482, 3061, 3413, 3196, 
+    2917, 2917, 2909, 2579, 2184, 2389, 3368, 4095, 
+    3938, 3011, 2828, 3622, 4095, 3770, 3023, 2835, 
+    3362, 4095, 4095, 3707, 2396, 1681, 2219, 3427, 
+    4094, 3530, 2389, 2240, 3598, 4095, 3939, 2019, 
+    1621, 3410, 4095, 4095, 3221, 2068, 2626, 3750, 
+    3621, 2232, 1405, 2183, 3439, 3644, 2793, 1924, 
+    1740, 2243, 2953, 3201, 2820, 2454, 2719, 3335, 
+    3502, 2881, 1979, 1697, 2347, 3111, 2958, 2079, 
+    1621, 1976, 2331, 2056, 1572, 1565, 2029, 2411, 
+    2355, 2074, 1997, 2168, 2238, 2067, 1946, 2077, 
+    2256, 2244, 2103, 2003, 1984, 2000, 2019, 2032, 
+    2048, 2069, 2080, 2078, 2084, 2127, 2226, 2321, 
+    2268, 2053, 1935, 2086, 2252, 2144, 1961, 2118, 
+    2553, 2751, 2430, 1970, 2017, 2626, 3049, 2749, 
+    2309, 2624, 3428, 3604, 2854, 2090, 2139, 2833, 
+    3405, 3329, 2793, 2485, 2742, 3116, 3052, 2617, 
+    2285, 2453, 3232, 4095, 4062, 2961, 2148, 2746, 
+    3897, 3959, 2917, 2395, 3395, 4095, 4095, 3220, 
+    1635, 2142, 3978, 4095, 3496, 2342, 2719, 3896, 
+    4095, 3406, 2164, 1747, 2533, 3703, 4095, 3653, 
+    2897, 2533, 2807, 3457, 3716, 3158, 2579, 3029, 
+    4064, 4095, 3279, 2318, 2260, 2748, 2965, 2704, 
+    2476, 2700, 2973, 2612, 1875, 1734, 2302, 2630, 
+    2323, 2143, 2632, 3208, 3096, 2403, 1904, 2099, 
+    2667, 2862, 2468, 2063, 2143, 2420, 2372, 1988, 
+    1628, 1543, 1774, 2158, 2340, 2123, 1781, 1732, 
+    1997, 2223, 2170, 1968, 1903, 2036, 2149, 2105
+  },
+  {
+    2048, 2081, 2108, 2062, 2033, 2108, 2213, 2231, 
+    2171, 2169, 2313, 2495, 2523, 2399, 2282, 2198, 
+    2086, 2082, 2304, 2509, 2430, 2273, 2364, 2557, 
+    2495, 2238, 2211, 2647, 3262, 3494, 3182, 2884, 
+    3081, 3340, 3015, 2465, 2546, 3166, 3465, 3191, 
+    2875, 2836, 2831, 2605, 2347, 2539, 3295, 3937, 
+    3765, 3197, 3214, 3747, 3836, 3319, 3028, 3351, 
+    3799, 3942, 3782, 3381, 2828, 2390, 2345, 2780, 
+    3431, 3666, 3188, 2747, 3186, 3917, 3676, 2669, 
+    2404, 3379, 4095, 4095, 3542, 2912, 2971, 3195, 
+    2856, 2177, 2097, 2766, 3226, 2929, 2452, 2338, 
+    2369, 2329, 2435, 2739, 2953, 2972, 2976, 3055, 
+    3070, 2820, 2318, 1989, 2255, 2794, 2819, 2258, 
+    1859, 1983, 2135, 1924, 1650, 1723, 2062, 2302, 
+    2263, 2109, 2092, 2194, 2176, 2011, 1965, 2133, 
+    2271, 2208, 2073, 2013, 2010, 2007, 2008, 2025, 
+    2048, 2062, 2073, 2093, 2113, 2126, 2178, 2283, 
+    2302, 2132, 1953, 2000, 2163, 2178, 2096, 2181, 
+    2443, 2593, 2437, 2158, 2152, 2515, 2813, 2693, 
+    2533, 2857, 3355, 3288, 2694, 2318, 2490, 2851, 
+    3034, 3022, 2962, 2951, 2919, 2748, 2575, 2643, 
+    2816, 2840, 2969, 3484, 3859, 3453, 2747, 2699, 
+    3236, 3489, 3234, 3128, 3642, 4095, 4095, 3247, 
+    2351, 2675, 3676, 3893, 3199, 2870, 3422, 3924, 
+    3615, 2867, 2387, 2435, 2850, 3295, 3533, 3569, 
+    3399, 2991, 2695, 2959, 3443, 3394, 2993, 3131, 
+    3787, 3963, 3300, 2558, 2412, 2676, 2811, 2651, 
+    2532, 2756, 2984, 2622, 1895, 1703, 2209, 2582, 
+    2419, 2303, 2653, 3027, 2911, 2454, 2158, 2257, 
+    2522, 2573, 2384, 2295, 2416, 2406, 2088, 1777, 
+    1737, 1830, 1894, 1984, 2097, 2096, 1974, 1898, 
+    1956, 2060, 2088, 2032, 2001, 2056, 2110, 2082
+  },
+  {
+    2048, 1781, 1533, 1328, 1188, 1124, 1143, 1240, 
+    1403, 1614, 1851, 2091, 2309, 2484, 2597, 2633, 
+    2583, 2447, 2234, 1964, 1663, 1365, 1105, 912, 
+    811, 812, 918, 1116, 1384, 1696, 2022, 2334, 
+    2610, 2832, 2990, 3078, 3096, 3046, 2937, 2779, 
+    2588, 2381, 2175, 1988, 1831, 1709, 1621, 1557, 
+    1503, 1443, 1361, 1248, 1094, 899, 665, 395, 
+    95, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 166, 384, 583, 766, 
+    938, 1107, 1283, 1476, 1697, 1953, 2250, 2587, 
+    2956, 3344, 3735, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 3719, 3312, 2947, 2640, 2399, 2226, 2113, 
+    2048, 2012, 1986, 1950, 1884, 1773, 1608, 1389, 
+    1126, 836, 546, 284, 83, 0, 0, 59, 
+    274, 587, 976, 1413, 1868, 2312, 2719, 3070, 
+    3346, 3538, 3638, 3645, 3564, 3409, 3198, 2956, 
+    2709, 2483, 2299, 2168, 2094, 2069, 2080, 2107, 
+    2131, 2132, 2096, 2015, 1884, 1704, 1477, 1212, 
+    917, 605, 291, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    195, 562, 935, 1298, 1639, 1951, 2228, 2469, 
+    2677, 2855, 3015, 3168, 3329, 3511, 3729, 3991, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 3769, 3464, 3233, 3077, 2987, 2951, 
+    2950, 2961, 2963, 2934, 2858, 2727, 2540, 2308
+  },
+  {
+    2048, 1952, 1949, 1768, 1386, 1123, 1378, 2211, 
+    3175, 3594, 3098, 1985, 1073, 1108, 2177, 3602, 
+    4095, 4052, 2791, 1493, 964, 1374, 2192, 2654, 
+    2372, 1590, 934, 876, 1388, 2030, 2357, 2278, 
+    2048, 1963, 2047, 2045, 1726, 1193, 892, 1244, 
+    2221, 3244, 3550, 2777, 1292, 0, 0, 118, 
+    983, 1287, 636, 0, 0, 0, 0, 779, 
+    1546, 1488, 916, 452, 518, 1050, 1650, 1981, 
+    2048, 2115, 2382, 2741, 2875, 2608, 2181, 2155, 
+    2966, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 3621, 2562, 2500, 3327, 
+    4095, 4095, 4095, 3627, 2872, 2516, 2453, 2357, 
+    2048, 1668, 1511, 1672, 1890, 1743, 1060, 167, 
+    0, 121, 1263, 2408, 2778, 2135, 981, 181, 
+    286, 1100, 1823, 1683, 543, 0, 0, 0, 
+    0, 565, 1406, 1588, 1422, 1356, 1574, 1898, 
+    2048, 1971, 1925, 2214, 2846, 3444, 3531, 2971, 
+    2159, 1763, 2181, 3173, 3984, 3916, 2897, 1582, 
+    883, 1282, 2447, 3481, 3584, 2644, 1282, 365, 
+    373, 1108, 1940, 2337, 2229, 1947, 1840, 1956, 
+    2048, 1886, 1553, 1420, 1810, 2663, 3513, 3854, 
+    3587, 3151, 3191, 3999, 4095, 4095, 4095, 4095, 
+    3032, 2330, 2796, 4021, 4095, 4095, 4095, 3178, 
+    2396, 2381, 2873, 3295, 3253, 2807, 2325, 2091, 
+    2048, 1899, 1453, 865, 538, 744, 1328, 1772, 
+    1624, 918, 212, 166, 965, 2085, 2614, 1931, 
+    204, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 808, 1588, 1863, 1805, 1795, 
+    2048, 2419, 2597, 2452, 2221, 2322, 2954, 3842, 
+    4095, 4095, 3540, 2958, 3201, 4095, 4095, 4095, 
+    4095, 4095, 3278, 2418, 2608, 3384, 3934, 3743, 
+    2950, 2165, 1934, 2315, 2887, 3143, 2906, 2416
+  },
+  {
+    2048, 2249, 2630, 3002, 3260, 3501, 3941, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4049, 4012, 4008, 3770, 3277, 2720, 2299, 
+    2048, 1828, 1484, 998, 506, 139, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 970, 2325, 2665, 2012, 1093, 
+    817, 1633, 3210, 4095, 4095, 4095, 3150, 1878, 
+    1285, 1384, 1706, 1717, 1236, 549, 159, 400, 
+    1194, 2129, 2764, 2912, 2708, 2426, 2253, 2169, 
+    2048, 1826, 1593, 1502, 1589, 1683, 1506, 908, 
+    47, 0, 0, 0, 0, 102, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 276, 753, 1285, 1720, 
+    2048, 2395, 2870, 3414, 3810, 3864, 3601, 3308, 
+    3340, 3843, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 3704, 3989, 4095, 
+    4095, 4095, 4095, 4051, 2637, 2334, 3235, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 3282, 2286, 2136, 2589, 3105, 3255, 
+    2981, 2548, 2276, 2280, 2418, 2463, 2320, 2109
+  },
+  {
+    2048, 1981, 2022, 2010, 1837, 1586, 1497, 1768, 
+    2349, 2925, 3133, 2858, 2376, 2189, 2660, 3701, 
+    4095, 4095, 4095, 3995, 3304, 3429, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 3832, 3750, 3782, 3652, 3274, 2774, 2342, 
+    2048, 1790, 1424, 922, 427, 127, 60, 23, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 24, 0, 0, 0, 
+    0, 0, 22, 745, 854, 467, 36, 0, 
+    431, 1118, 1677, 1894, 1833, 1725, 1753, 1908, 
+    2048, 2060, 1990, 1997, 2183, 2459, 2576, 2336, 
+    1788, 1254, 1108, 1472, 2077, 2413, 2102, 1214, 
+    260, 0, 244, 1107, 1727, 1510, 430, 0, 
+    0, 0, 0, 788, 1040, 227, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 40, 66, 241, 660, 1203, 1688, 
+    2048, 2376, 2811, 3365, 3880, 4095, 4095, 4066, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 3805, 3597, 3930, 4095, 4095, 
+    4026, 3378, 2835, 2600, 2608, 2634, 2512, 2264
+  },
+  {
+    2048, 1979, 2009, 1964, 1767, 1541, 1505, 1758, 
+    2132, 2275, 1927, 1182, 498, 415, 1153, 2399, 
+    3472, 3777, 3230, 2333, 1819, 2110, 2990, 3747, 
+    3706, 2764, 1532, 945, 1611, 3353, 4095, 4095, 
+    4095, 4095, 3789, 3389, 3945, 4095, 4095, 4095, 
+    3758, 2753, 2668, 3694, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4055, 3294, 
+    2817, 2815, 3125, 3395, 3363, 3026, 2587, 2249, 
+    2048, 1864, 1579, 1221, 950, 892, 965, 883, 
+    359, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 25, 0, 0, 0, 
+    0, 0, 272, 531, 159, 0, 0, 0, 
+    112, 1003, 1620, 1819, 1749, 1675, 1747, 1917, 
+    2048, 2087, 2137, 2350, 2744, 3124, 3204, 2846, 
+    2219, 1720, 1692, 2143, 2708, 2905, 2525, 1832, 
+    1408, 1721, 2721, 3800, 4095, 3433, 1879, 361, 
+    0, 227, 1372, 2263, 2247, 1378, 370, 51, 
+    733, 1941, 2725, 2320, 702, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    265, 688, 265, 0, 0, 0, 0, 0, 
+    349, 696, 720, 703, 872, 1233, 1620, 1885, 
+    2048, 2262, 2651, 3160, 3571, 3694, 3553, 3408, 
+    3559, 4089, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 3630, 3510, 3867, 4095, 4095, 
+    3651, 3107, 2795, 2789, 2907, 2897, 2658, 2307
+  },
+  {
+    2048, 1872, 1766, 1689, 1616, 1562, 1560, 1621, 
+    1701, 1715, 1605, 1390, 1179, 1103, 1224, 1486, 
+    1746, 1869, 1832, 1740, 1752, 1968, 2344, 2724, 
+    2953, 2991, 2957, 3045, 3380, 3923, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4063, 
+    3723, 3511, 3391, 3280, 3110, 2869, 2590, 2314, 
+    2048, 1762, 1431, 1059, 683, 332, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    50, 538, 940, 1218, 1401, 1552, 1714, 1886, 
+    2048, 2191, 2340, 2527, 2752, 2966, 3097, 3104, 
+    3013, 2909, 2869, 2903, 2942, 2891, 2712, 2471, 
+    2305, 2325, 2529, 2785, 2913, 2805, 2509, 2198, 
+    2051, 2125, 2315, 2419, 2288, 1922, 1470, 1113, 
+    925, 814, 584, 80, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 138, 382, 682, 1035, 1400, 1738, 
+    2048, 2359, 2699, 3058, 3393, 3664, 3881, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4019, 3703, 3441, 3199, 2929, 2620, 2307
+  },
+  {
+    2048, 2324, 2624, 2954, 3284, 3568, 3796, 4005, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 3881, 3732, 
+    3693, 3578, 3283, 2863, 2500, 2370, 2510, 2788, 
+    2985, 2945, 2673, 2325, 2089, 2063, 2189, 2312, 
+    2292, 2097, 1816, 1580, 1463, 1441, 1421, 1321, 
+    1138, 950, 855, 909, 1092, 1337, 1585, 1816, 
+    2048, 2293, 2541, 2762, 2946, 3128, 3378, 3746, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4031, 3757, 3452, 3099, 2725, 2371, 
+    2048, 1733, 1398, 1043, 710, 449, 268, 119, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 62, 277, 623, 1009, 1254, 1223, 941, 
+    599, 434, 584, 993, 1456, 1759, 1818, 1730, 
+    1683, 1824, 2153, 2532, 2794, 2860, 2799, 2761, 
+    2873, 3137, 3439, 3623, 3604, 3411, 3161, 2970, 
+    2880, 2853, 2815, 2720, 2581, 2438, 2318, 2203, 
+    2048, 1821, 1537, 1244, 981, 748, 506, 225, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 108, 359, 569, 812, 1113, 1444, 1762
+  },
+  {
+    2048, 2136, 2184, 2258, 2362, 2450, 2495, 2543, 
+    2698, 3031, 3494, 3907, 4050, 3808, 3252, 2597, 
+    2059, 1711, 1452, 1102, 565, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 427, 
+    900, 1324, 1741, 2214, 2763, 3334, 3848, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 3382, 2375, 1392, 392, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 195, 503, 850, 1247, 1656, 
+    2048, 2448, 2907, 3435, 3967, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 3718, 2480, 1360, 
+    481, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    1, 806, 1558, 2292, 3019, 3707, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4046, 3131, 2308, 1533, 749, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 74, 551, 1028, 1482, 1838
+  },
+  {
+    2048, 1652, 1202, 705, 224, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 1214, 2449, 3595, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 3911, 3359, 2788, 2223, 1730, 1342, 
+    1019, 683, 285, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 236, 1269, 2189, 2856, 3287, 
+    3595, 3868, 4095, 4095, 4063, 3715, 3216, 2650, 
+    2048, 1375, 591, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 386, 1403, 2358, 3256, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 3807, 3002, 2267, 1658, 1199, 
+    849, 542, 257, 54, 38, 267, 673, 1087, 
+    1334, 1350, 1222, 1104, 1090, 1126, 1049, 726, 
+    188, 0, 0, 0, 282, 1093, 1794, 2245, 
+    2504, 2743, 3095, 3544, 3939, 4095, 4046, 3813, 
+    3592, 3498, 3518, 3536, 3436, 3179, 2817, 2428
+  },
+  {
+    2048, 824, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 661, 1505, 2315, 3100, 3819, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 3826, 3648, 
+    3469, 3194, 2815, 2426, 2146, 2043, 2107, 2294, 
+    2591, 3033, 3661, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 3630, 2887, 
+    2048, 1109, 133, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 354, 1368, 2393, 3450, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 3514, 
+    3057, 2966, 3065, 3137, 3087, 2988, 3006, 3240, 
+    3624, 3948, 4002, 3708, 3173, 2605, 2182, 1954, 
+    1859, 1803, 1751, 1735, 1808, 1977, 2194, 2399, 
+    2590, 2832, 3206, 3724, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 3196
+  },
+  {
+    2048, 1477, 923, 367, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 223, 940, 1648, 2184, 2491, 2611, 
+    2612, 2516, 2290, 1898, 1357, 736, 105, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 774, 1727, 2702, 3715, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4050, 2990, 
+    2048, 1224, 481, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 174, 807, 
+    1142, 1166, 1034, 944, 978, 1044, 964, 629, 
+    117, 0, 0, 0, 571, 1314, 1898, 2238, 
+    2420, 2586, 2817, 3071, 3233, 3221, 3048, 2808, 
+    2590, 2413, 2220, 1944, 1572, 1160, 775, 428, 
+    63, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 442, 1643, 2875, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 
+    4095, 4095, 4095, 4095, 4095, 4095, 3458, 2696
+  },
+  {
+    1987, 2084, 2164, 2206, 2261, 2413, 2694, 3034, 
+    3296, 3367, 3248, 3051, 2909, 2853, 2781, 2527, 
+    2008, 1320, 710, 426, 552, 949, 1342, 1506, 
+    1401, 1175, 1033, 1084, 1263, 1404, 1385, 1232, 
+    1112, 1214, 1614, 2226, 2867, 3375, 3694, 3867, 
+    3964, 4006, 3959, 3788, 3507, 3183, 2884, 2610, 
+    2289, 1846, 1285, 729, 350, 262, 431, 704, 
+    918, 1027, 1128, 1368, 1808, 2329, 2693, 2698, 
+    2326, 1780, 1359, 1274, 1522, 1915, 2227, 2346, 
+    2336, 2355, 2510, 2771, 2994, 3032, 2852, 2551, 
+    2286, 2163, 2180, 2259, 2327, 2370, 2421, 2501, 
+    2577, 2576, 2454, 2250, 2071, 2006, 2043, 2054, 
+    1878, 1451, 867, 332, 27, 0, 107, 208, 
+    231, 284, 575, 1246, 2243, 3308, 4095, 4095, 
+    4095, 4095, 4032, 3954, 3931, 3821, 3535, 3119, 
+    2706, 2412, 2246, 2115, 1902, 1565, 1157, 778, 
+    494, 300, 155, 42, 6, 113, 382, 742, 
+    1067, 1277, 1411, 1619, 2051, 2729, 3500, 4095, 
+    4095, 4095, 4046, 3783, 3614, 3452, 3122, 2520, 
+    1730, 1003, 607, 659, 1051, 1532, 1869, 1985, 
+    1967, 1963, 2057, 2209, 2308, 2272, 2117, 1938, 
+    1825, 1796, 1793, 1750, 1652, 1552, 1515, 1550, 
+    1597, 1579, 1488, 1407, 1460, 1699, 2044, 2314, 
+    2354, 2157, 1892, 1802, 2033, 2537, 3104, 3508, 
+    3666, 3670, 3698, 3846, 4036, 4048, 3685, 2913, 
+    1911, 960, 286, 0, 0, 0, 0, 0, 
+    0, 147, 539, 957, 1333, 1674, 2033, 2442, 
+    2863, 3202, 3389, 3436, 3433, 3474, 3572, 3638, 
+    3555, 3291, 2949, 2712, 2705, 2888, 3052, 2955, 
+    2488, 1760, 1030, 544, 377, 414, 461, 408, 
+    315, 362, 697, 1307, 2009, 2557, 2796, 2743, 
+    2546, 2367, 2278, 2242, 2188, 2087, 1981, 1939
+  },
+  {
+    1039, 1027, 1033, 1037, 1091, 1279, 1630, 2072, 
+    2464, 2687, 2739, 2725, 2771, 2905, 3017, 2936, 
+    2574, 2024, 1528, 1331, 1517, 1944, 2340, 2478, 
+    2320, 2016, 1776, 1709, 1757, 1756, 1587, 1283, 
+    1014, 971, 1234, 1723, 2254, 2669, 2915, 3034, 
+    3099, 3131, 3097, 2959, 2732, 2482, 2273, 2105, 
+    1904, 1591, 1168, 753, 518, 570, 873, 1271, 
+    1597, 1802, 1979, 2275, 2746, 3274, 3619, 3578, 
+    3135, 2494, 1955, 1731, 1825, 2052, 2188, 2131, 
+    1946, 1798, 1799, 1925, 2035, 1988, 1752, 1429, 
+    1176, 1099, 1197, 1389, 1600, 1810, 2049, 2332, 
+    2619, 2831, 2916, 2907, 2904, 2991, 3150, 3247, 
+    3121, 2703, 2088, 1482, 1069, 890, 832, 736, 
+    544, 371, 432, 878, 1662, 2532, 3179, 3416, 
+    3281, 2985, 2759, 2699, 2735, 2721, 2567, 2313, 
+    2086, 1997, 2048, 2137, 2143, 2013, 1796, 1585, 
+    1442, 1357, 1286, 1211, 1176, 1247, 1446, 1704, 
+    1900, 1956, 1920, 1945, 2188, 2677, 3264, 3709, 
+    3827, 3613, 3229, 2878, 2649, 2456, 2125, 1549, 
+    811, 162, 0, 34, 558, 1180, 1666, 1933, 
+    2065, 2206, 2436, 2712, 2921, 2977, 2896, 2770, 
+    2689, 2670, 2656, 2579, 2427, 2254, 2126, 2054, 
+    1981, 1834, 1605, 1382, 1292, 1391, 1602, 1747, 
+    1675, 1382, 1041, 895, 1094, 1592, 2178, 2628, 
+    2857, 2957, 3102, 3389, 3733, 3912, 3723, 3129, 
+    2301, 1517, 997, 790, 788, 838, 859, 880, 
+    983, 1211, 1522, 1827, 2061, 2234, 2405, 2611, 
+    2821, 2948, 2928, 2779, 2599, 2489, 2466, 2445, 
+    2313, 2039, 1728, 1562, 1664, 1990, 2326, 2427, 
+    2176, 1673, 1173, 911, 958, 1189, 1406, 1491, 
+    1501, 1612, 1969, 2562, 3205, 3657, 3764, 3549, 
+    3166, 2782, 2476, 2220, 1948, 1639, 1342, 1132
+  },
+  {
+    1698, 1773, 1820, 1816, 1815, 1903, 2116, 2392, 
+    2597, 2628, 2490, 2304, 2205, 2228, 2272, 2169, 
+    1833, 1355, 971, 922, 1281, 1894, 2479, 2798, 
+    2801, 2627, 2480, 2462, 2511, 2466, 2208, 1776, 
+    1348, 1125, 1199, 1500, 1857, 2122, 2250, 2295, 
+    2330, 2380, 2410, 2380, 2296, 2217, 2198, 2224, 
+    2211, 2068, 1786, 1475, 1299, 1363, 1630, 1944, 
+    2144, 2189, 2181, 2278, 2549, 2887, 3065, 2889, 
+    2353, 1666, 1131, 962, 1157, 1527, 1841, 1982, 
+    2007, 2066, 2260, 2552, 2792, 2830, 2629, 2287, 
+    1964, 1769, 1707, 1708, 1706, 1696, 1719, 1805, 
+    1925, 2010, 2017, 1983, 2010, 2181, 2472, 2743, 
+    2823, 2630, 2245, 1862, 1651, 1641, 1709, 1686, 
+    1512, 1300, 1266, 1568, 2165, 2818, 3229, 3226, 
+    2861, 2359, 1962, 1777, 1742, 1715, 1608, 1457, 
+    1384, 1491, 1769, 2102, 2355, 2461, 2455, 2417, 
+    2397, 2382, 2320, 2194, 2048, 1959, 1955, 1980, 
+    1926, 1730, 1454, 1267, 1336, 1700, 2220, 2658, 
+    2831, 2730, 2511, 2367, 2375, 2435, 2358, 2023, 
+    1500, 1023, 850, 1085, 1613, 2178, 2549, 2649, 
+    2573, 2476, 2453, 2475, 2444, 2289, 2036, 1789, 
+    1645, 1623, 1668, 1707, 1722, 1757, 1865, 2044, 
+    2221, 2309, 2288, 2232, 2258, 2417, 2627, 2712, 
+    2523, 2064, 1519, 1141, 1095, 1348, 1705, 1955, 
+    2024, 2014, 2106, 2397, 2804, 3100, 3075, 2682, 
+    2080, 1535, 1250, 1262, 1450, 1650, 1772, 1839, 
+    1932, 2093, 2286, 2428, 2466, 2419, 2361, 2343, 
+    2345, 2295, 2138, 1899, 1684, 1592, 1641, 1740, 
+    1769, 1688, 1589, 1642, 1956, 2475, 2974, 3197, 
+    3021, 2542, 2014, 1673, 1595, 1665, 1693, 1573, 
+    1374, 1286, 1466, 1913, 2451, 2843, 2941, 2767, 
+    2472, 2218, 2076, 2006, 1933, 1822, 1711, 1662
+  },
+  {
+    951, 1041, 1085, 1054, 1021, 1103, 1347, 1669, 
+    1899, 1910, 1721, 1488, 1376, 1423, 1500, 1419, 
+    1094, 642, 321, 349, 753, 1341, 1831, 2037, 
+    1960, 1750, 1562, 1452, 1366, 1237, 1069, 945, 
+    951, 1087, 1258, 1350, 1327, 1264, 1269, 1380, 
+    1513, 1528, 1361, 1099, 939, 1036, 1369, 1732, 
+    1872, 1675, 1249, 858, 734, 921, 1266, 1546, 
+    1625, 1531, 1394, 1318, 1305, 1277, 1174, 1031, 
+    951, 1020, 1222, 1444, 1575, 1591, 1567, 1596, 
+    1677, 1700, 1527, 1134, 670, 385, 457, 862, 
+    1374, 1722, 1768, 1592, 1406, 1385, 1534, 1707, 
+    1733, 1556, 1274, 1043, 960, 994, 1037, 1015, 
+    951, 937, 1038, 1229, 1416, 1527, 1581, 1669, 
+    1851, 2065, 2134, 1893, 1335, 659, 170, 85, 
+    396, 890, 1303, 1500, 1536, 1575, 1725, 1943, 
+    2073, 1978, 1660, 1262, 960, 843, 868, 927, 
+    951, 961, 1025, 1167, 1326, 1408, 1377, 1312, 
+    1354, 1580, 1907, 2126, 2039, 1619, 1047, 603, 
+    477, 654, 940, 1131, 1161, 1133, 1213, 1471, 
+    1812, 2042, 2014, 1735, 1354, 1049, 908, 902, 
+    951, 1013, 1113, 1284, 1493, 1630, 1585, 1354, 
+    1076, 946, 1074, 1384, 1664, 1714, 1501, 1184, 
+    992, 1051, 1290, 1503, 1517, 1324, 1085, 997, 
+    1139, 1416, 1637, 1659, 1485, 1235, 1041, 957, 
+    951, 979, 1052, 1225, 1522, 1860, 2071, 2010, 
+    1671, 1215, 870, 775, 884, 1023, 1040, 933, 
+    855, 983, 1356, 1820, 2126, 2104, 1784, 1371, 
+    1096, 1056, 1176, 1291, 1286, 1169, 1031, 957, 
+    951, 965, 974, 1026, 1205, 1538, 1928, 2188, 
+    2167, 1868, 1455, 1139, 1023, 1036, 1006, 822, 
+    548, 389, 540, 1025, 1653, 2139, 2287, 2105, 
+    1769, 1482, 1334, 1279, 1213, 1092, 962, 905
+  },
+  {
+    1705, 1810, 1851, 1793, 1729, 1803, 2071, 2426, 
+    2667, 2650, 2412, 2142, 2026, 2092, 2194, 2142, 
+    1878, 1538, 1355, 1478, 1855, 2278, 2533, 2547, 
+    2396, 2204, 2035, 1868, 1680, 1526, 1535, 1796, 
+    2245, 2669, 2834, 2657, 2271, 1930, 1811, 1898, 
+    2008, 1966, 1754, 1523, 1462, 1641, 1955, 2217, 
+    2316, 2290, 2266, 2334, 2459, 2523, 2444, 2257, 
+    2078, 1988, 1947, 1828, 1555, 1212, 1025, 1198, 
+    1745, 2444, 2971, 3109, 2878, 2489, 2168, 2005, 
+    1934, 1849, 1722, 1631, 1671, 1844, 2041, 2131, 
+    2083, 1993, 1996, 2131, 2293, 2317, 2134, 1851, 
+    1684, 1783, 2103, 2422, 2511, 2311, 1976, 1746, 
+    1770, 1998, 2247, 2350, 2274, 2104, 1943, 1812, 
+    1670, 1504, 1397, 1492, 1864, 2416, 2903, 3085, 
+    2900, 2499, 2127, 1942, 1906, 1857, 1671, 1393, 
+    1204, 1277, 1622, 2075, 2421, 2546, 2502, 2421, 
+    2390, 2384, 2319, 2163, 1991, 1920, 1988, 2095, 
+    2069, 1827, 1472, 1246, 1355, 1799, 2359, 2743, 
+    2786, 2547, 2232, 2025, 1959, 1943, 1880, 1778, 
+    1740, 1857, 2100, 2330, 2406, 2306, 2136, 2031, 
+    2025, 2022, 1899, 1644, 1407, 1399, 1716, 2238, 
+    2693, 2843, 2653, 2299, 2026, 1965, 2060, 2150, 
+    2116, 1973, 1823, 1744, 1719, 1672, 1577, 1518, 
+    1634, 1988, 2472, 2859, 2956, 2749, 2409, 2151, 
+    2067, 2064, 1966, 1691, 1341, 1139, 1254, 1663, 
+    2166, 2528, 2639, 2553, 2401, 2267, 2141, 1983, 
+    1813, 1736, 1849, 2129, 2405, 2467, 2232, 1832, 
+    1528, 1525, 1816, 2191, 2399, 2335, 2094, 1881, 
+    1829, 1916, 2015, 2029, 1982, 1987, 2122, 2343, 
+    2512, 2511, 2349, 2146, 2017, 1964, 1877, 1655, 
+    1335, 1111, 1198, 1657, 2314, 2862, 3060, 2889, 
+    2534, 2226, 2079, 2041, 1987, 1858, 1710, 1647
+  },
+  {
+    1144, 1198, 1236, 1220, 1256, 1498, 1990, 2580, 
+    3014, 3122, 2948, 2697, 2556, 2538, 2499, 2288, 
+    1909, 1529, 1341, 1403, 1593, 1730, 1729, 1658, 
+    1647, 1748, 1886, 1951, 1934, 1974, 2238, 2746, 
+    3301, 3592, 3419, 2835, 2106, 1518, 1195, 1071, 
+    1019, 992, 1053, 1274, 1625, 1966, 2173, 2255, 
+    2364, 2643, 3076, 3449, 3501, 3131, 2477, 1826, 
+    1399, 1224, 1171, 1115, 1063, 1132, 1407, 1829, 
+    2218, 2417, 2426, 2383, 2429, 2573, 2682, 2623, 
+    2404, 2187, 2145, 2298, 2464, 2405, 2021, 1449, 
+    964, 779, 913, 1222, 1552, 1858, 2191, 2580, 
+    2940, 3119, 3034, 2771, 2536, 2481, 2566, 2577, 
+    2302, 1726, 1061, 603, 523, 776, 1178, 1581, 
+    1963, 2380, 2832, 3200, 3316, 3115, 2717, 2344, 
+    2153, 2114, 2064, 1872, 1576, 1354, 1362, 1583, 
+    1829, 1895, 1741, 1524, 1469, 1683, 2078, 2463, 
+    2706, 2818, 2888, 2952, 2932, 2709, 2273, 1779, 
+    1455, 1419, 1570, 1669, 1535, 1206, 921, 932, 
+    1318, 1939, 2561, 3025, 3314, 3477, 3507, 3315, 
+    2831, 2128, 1439, 1019, 968, 1161, 1361, 1415, 
+    1373, 1414, 1672, 2096, 2486, 2665, 2620, 2502, 
+    2475, 2571, 2672, 2636, 2436, 2180, 2004, 1932, 
+    1854, 1648, 1325, 1058, 1048, 1351, 1804, 2147, 
+    2226, 2111, 2030, 2171, 2533, 2940, 3191, 3203, 
+    3032, 2762, 2401, 1897, 1248, 607, 235, 329, 
+    867, 1593, 2194, 2507, 2599, 2661, 2815, 3011, 
+    3087, 2937, 2613, 2279, 2058, 1930, 1775, 1516, 
+    1222, 1063, 1161, 1467, 1789, 1956, 1962, 1964, 
+    2128, 2464, 2797, 2915, 2746, 2427, 2187, 2161, 
+    2286, 2380, 2302, 2060, 1775, 1545, 1360, 1148, 
+    909, 781, 967, 1553, 2391, 3157, 3555, 3510, 
+    3184, 2829, 2581, 2401, 2164, 1816, 1448, 1202
+  },
+  {
+    1925, 1987, 2037, 2030, 2087, 2379, 2938, 3577, 
+    4008, 4060, 3804, 3468, 3236, 3108, 2955, 2685, 
+    2367, 2173, 2208, 2399, 2553, 2539, 2413, 2363, 
+    2529, 2862, 3172, 3307, 3296, 3312, 3486, 3756, 
+    3894, 3697, 3168, 2517, 1999, 1727, 1646, 1657, 
+    1757, 2044, 2579, 3251, 3804, 4014, 3875, 3595, 
+    3425, 3440, 3489, 3352, 2942, 2387, 1919, 1686, 
+    1669, 1770, 1951, 2282, 2827, 3495, 4031, 4095, 
+    3856, 3301, 2843, 2698, 2822, 2999, 3038, 2922, 
+    2758, 2633, 2515, 2313, 2030, 1824, 1908, 2356, 
+    3005, 3555, 3790, 3733, 3585, 3526, 3555, 3514, 
+    3265, 2837, 2405, 2130, 2020, 1959, 1854, 1773, 
+    1899, 2352, 3045, 3709, 4087, 4095, 3946, 3756, 
+    3596, 3363, 2942, 2375, 1873, 1658, 1780, 2087, 
+    2371, 2544, 2685, 2914, 3234, 3491, 3522, 3319, 
+    3071, 3005, 3182, 3441, 3524, 3300, 2864, 2435, 
+    2170, 2058, 1994, 1936, 1977, 2245, 2744, 3288, 
+    3627, 3647, 3473, 3352, 3437, 3649, 3745, 3534, 
+    3032, 2435, 1947, 1640, 1475, 1427, 1580, 2054, 
+    2846, 3729, 4095, 4095, 4095, 3589, 3154, 2933, 
+    2832, 2696, 2486, 2300, 2249, 2320, 2381, 2328, 
+    2214, 2227, 2517, 3033, 3531, 3760, 3659, 3396, 
+    3207, 3191, 3247, 3196, 2970, 2671, 2458, 2387, 
+    2361, 2244, 2030, 1884, 2007, 2447, 3035, 3516, 
+    3751, 3802, 3831, 3907, 3919, 3679, 3119, 2392, 
+    1780, 1490, 1521, 1726, 1974, 2266, 2682, 3223, 
+    3730, 3979, 3863, 3510, 3189, 3093, 3188, 3257, 
+    3105, 2732, 2320, 2068, 2025, 2094, 2168, 2258, 
+    2472, 2868, 3331, 3627, 3592, 3289, 2979, 2914, 
+    3137, 3451, 3591, 3433, 3059, 2642, 2283, 1965, 
+    1659, 1444, 1506, 1980, 2784, 3620, 4095, 4095, 
+    4031, 3737, 3527, 3366, 3117, 2724, 2293, 2000
+  },
+  {
+    1117, 1190, 1253, 1255, 1331, 1665, 2274, 2933, 
+    3330, 3305, 2964, 2552, 2241, 2014, 1766, 1479, 
+    1282, 1326, 1599, 1899, 1996, 1843, 1635, 1631, 
+    1925, 2370, 2721, 2850, 2827, 2790, 2766, 2626, 
+    2237, 1641, 1080, 811, 903, 1198, 1477, 1667, 
+    1883, 2264, 2785, 3234, 3381, 3179, 2793, 2430, 
+    2150, 1848, 1419, 930, 618, 693, 1149, 1751, 
+    2236, 2511, 2678, 2865, 3054, 3086, 2829, 2351, 
+    1891, 1661, 1666, 1723, 1652, 1461, 1331, 1421, 
+    1704, 1986, 2103, 2083, 2115, 2351, 2733, 3031, 
+    3045, 2777, 2407, 2101, 1865, 1577, 1177, 795, 
+    677, 970, 1568, 2188, 2594, 2767, 2863, 3009, 
+    3154, 3114, 2775, 2226, 1695, 1355, 1187, 1058, 
+    907, 856, 1104, 1712, 2486, 3090, 3293, 3127, 
+    2813, 2546, 2345, 2112, 1804, 1533, 1464, 1633, 
+    1869, 1930, 1727, 1422, 1300, 1520, 1986, 2451, 
+    2733, 2842, 2898, 2949, 2891, 2584, 2038, 1467, 
+    1139, 1151, 1352, 1496, 1473, 1406, 1518, 1908, 
+    2452, 2917, 3161, 3218, 3188, 3073, 2747, 2108, 
+    1260, 527, 249, 531, 1175, 1844, 2318, 2594, 
+    2782, 2923, 2935, 2732, 2377, 2080, 2022, 2176, 
+    2305, 2168, 1744, 1261, 1006, 1094, 1405, 1735, 
+    1989, 2229, 2534, 2852, 3006, 2864, 2498, 2159, 
+    2059, 2181, 2288, 2137, 1700, 1186, 861, 839, 
+    1049, 1375, 1794, 2366, 3076, 3715, 3966, 3636, 
+    2834, 1923, 1265, 989, 979, 1051, 1142, 1323, 
+    1650, 2041, 2319, 2386, 2341, 2398, 2670, 3025, 
+    3174, 2917, 2326, 1687, 1277, 1163, 1220, 1308, 
+    1418, 1633, 1980, 2323, 2461, 2326, 2084, 2016, 
+    2271, 2723, 3066, 3059, 2705, 2198, 1730, 1347, 
+    999, 697, 596, 878, 1557, 2395, 3041, 3286, 
+    3189, 2978, 2823, 2694, 2448, 2022, 1538, 1203
+  },
+  {
+    1117, 1190, 1253, 1255, 1331, 1665, 2274, 2933, 
+    3330, 3305, 2964, 2552, 2241, 2014, 1766, 1479, 
+    1282, 1326, 1599, 1899, 1996, 1843, 1635, 1631, 
+    1925, 2370, 2721, 2850, 2827, 2790, 2766, 2626, 
+    2237, 1641, 1080, 811, 903, 1198, 1477, 1667, 
+    1883, 2264, 2785, 3234, 3381, 3179, 2793, 2430, 
+    2150, 1848, 1419, 930, 618, 693, 1149, 1751, 
+    2236, 2511, 2678, 2865, 3054, 3086, 2829, 2351, 
+    1891, 1661, 1666, 1723, 1652, 1461, 1331, 1421, 
+    1704, 1986, 2103, 2083, 2115, 2351, 2733, 3031, 
+    3045, 2777, 2407, 2101, 1865, 1577, 1177, 795, 
+    677, 970, 1568, 2188, 2594, 2767, 2863, 3009, 
+    3154, 3114, 2775, 2226, 1695, 1355, 1187, 1058, 
+    907, 856, 1104, 1712, 2486, 3090, 3293, 3127, 
+    2813, 2546, 2345, 2112, 1804, 1533, 1464, 1633, 
+    1869, 1930, 1727, 1422, 1300, 1520, 1986, 2451, 
+    2733, 2842, 2898, 2949, 2891, 2584, 2038, 1467, 
+    1139, 1151, 1352, 1496, 1473, 1406, 1518, 1908, 
+    2452, 2917, 3161, 3218, 3188, 3073, 2747, 2108, 
+    1260, 527, 249, 531, 1175, 1844, 2318, 2594, 
+    2782, 2923, 2935, 2732, 2377, 2080, 2022, 2176, 
+    2305, 2168, 1744, 1261, 1006, 1094, 1405, 1735, 
+    1989, 2229, 2534, 2852, 3006, 2864, 2498, 2159, 
+    2059, 2181, 2288, 2137, 1700, 1186, 861, 839, 
+    1049, 1375, 1794, 2366, 3076, 3715, 3966, 3636, 
+    2834, 1923, 1265, 989, 979, 1051, 1142, 1323, 
+    1650, 2041, 2319, 2386, 2341, 2398, 2670, 3025, 
+    3174, 2917, 2326, 1687, 1277, 1163, 1220, 1308, 
+    1418, 1633, 1980, 2323, 2461, 2326, 2084, 2016, 
+    2271, 2723, 3066, 3059, 2705, 2198, 1730, 1347, 
+    999, 697, 596, 878, 1557, 2395, 3041, 3286, 
+    3189, 2978, 2823, 2694, 2448, 2022, 1538, 1203
+  },
+  {
+    1718, 1921, 1999, 1656, 1132, 1032, 1712, 2848, 
+    3643, 3512, 2596, 1623, 1246, 1506, 1915, 2017, 
+    1844, 1803, 2145, 2612, 2653, 2019, 1111, 688, 
+    1190, 2308, 3242, 3398, 2864, 2229, 1969, 2022, 
+    1965, 1564, 1094, 1081, 1711, 2557, 2915, 2470, 
+    1625, 1150, 1483, 2345, 3029, 3067, 2612, 2185, 
+    2096, 2139, 1883, 1234, 647, 732, 1629, 2782, 
+    3379, 3061, 2216, 1596, 1624, 2069, 2372, 2248, 
+    1953, 1942, 2320, 2666, 2456, 1648, 817, 673, 
+    1391, 2432, 3022, 2838, 2248, 1891, 2042, 2394, 
+    2450, 2085, 1692, 1745, 2251, 2681, 2470, 1618, 
+    757, 605, 1314, 2340, 2962, 2917, 2559, 2405, 
+    2574, 2687, 2333, 1581, 995, 1097, 1825, 2543, 
+    2617, 2016, 1334, 1217, 1764, 2469, 2751, 2515, 
+    2186, 2209, 2546, 2708, 2296, 1481, 909, 1099, 
+    1922, 2684, 2761, 2163, 1491, 1343, 1761, 2265, 
+    2393, 2177, 2070, 2401, 2954, 3126, 2538, 1473, 
+    689, 746, 1508, 2285, 2490, 2151, 1804, 1902, 
+    2355, 2664, 2482, 2010, 1796, 2145, 2747, 2934, 
+    2340, 1301, 593, 739, 1553, 2355, 2620, 2417, 
+    2233, 2394, 2701, 2669, 2100, 1381, 1161, 1710, 
+    2604, 3073, 2700, 1796, 1093, 1072, 1566, 2017, 
+    2081, 1946, 2065, 2586, 3118, 3090, 2358, 1432, 
+    1049, 1496, 2335, 2804, 2518, 1780, 1244, 1274, 
+    1656, 1913, 1860, 1810, 2187, 2986, 3642, 3514, 
+    2517, 1276, 618, 874, 1639, 2210, 2240, 1983, 
+    1918, 2192, 2465, 2316, 1768, 1353, 1601, 2477, 
+    3320, 3416, 2637, 1569, 968, 1111, 1625, 1943, 
+    1888, 1782, 2016, 2544, 2867, 2552, 1738, 1103, 
+    1261, 2175, 3150, 3442, 2895, 2013, 1437, 1358, 
+    1450, 1342, 1089, 1143, 1827, 2881, 3588, 3398, 
+    2455, 1508, 1250, 1731, 2377, 2578, 2246, 1815
+  },
+  {
+    1956, 2312, 2492, 2158, 1587, 1440, 2075, 3103, 
+    3686, 3310, 2251, 1289, 964, 1148, 1318, 1207, 
+    1102, 1470, 2337, 3132, 3196, 2466, 1596, 1370, 
+    1972, 2846, 3266, 3016, 2500, 2211, 2166, 1932, 
+    1202, 279, 0, 514, 1825, 2970, 3298, 2911, 
+    2460, 2438, 2721, 2794, 2395, 1846, 1708, 2128, 
+    2613, 2496, 1639, 644, 310, 889, 1878, 2537, 
+    2593, 2411, 2483, 2835, 2993, 2546, 1687, 1118, 
+    1375, 2266, 3014, 2986, 2268, 1526, 1315, 1565, 
+    1757, 1572, 1273, 1419, 2191, 3093, 3371, 2751, 
+    1734, 1144, 1359, 2019, 2463, 2416, 2209, 2316, 
+    2752, 2995, 2547, 1529, 660, 598, 1311, 2116, 
+    2356, 2015, 1666, 1816, 2379, 2798, 2684, 2258, 
+    2113, 2543, 3164, 3261, 2510, 1347, 574, 613, 
+    1161, 1574, 1564, 1455, 1755, 2519, 3211, 3232, 
+    2567, 1849, 1757, 2343, 2992, 3048, 2449, 1737, 
+    1454, 1580, 1619, 1216, 628, 520, 1267, 2504, 
+    3408, 3450, 2855, 2318, 2281, 2532, 2517, 2013, 
+    1407, 1298, 1822, 2459, 2530, 1902, 1140, 958, 
+    1517, 2286, 2609, 2356, 2002, 2057, 2485, 2743, 
+    2396, 1643, 1184, 1516, 2413, 3111, 3038, 2338, 
+    1674, 1530, 1760, 1837, 1500, 1087, 1183, 1941, 
+    2834, 3122, 2577, 1723, 1337, 1707, 2410, 2796, 
+    2657, 2373, 2410, 2734, 2807, 2177, 1045, 176, 
+    210, 1065, 2032, 2466, 2362, 2242, 2514, 3006, 
+    3170, 2727, 2032, 1745, 2140, 2771, 2886, 2175, 
+    1096, 437, 583, 1209, 1704, 1825, 1894, 2338, 
+    3102, 3601, 3299, 2321, 1415, 1285, 1930, 2673, 
+    2829, 2339, 1732, 1513, 1639, 1648, 1264, 805, 
+    906, 1822, 3065, 3773, 3486, 2550, 1755, 1582, 
+    1830, 1959, 1751, 1543, 1806, 2530, 3118, 2944, 
+    2015, 1030, 751, 1302, 2097, 2453, 2239, 1915
+  },
+  {
+    1964, 2362, 2559, 2189, 1568, 1414, 2067, 3059, 
+    3526, 3046, 2033, 1276, 1149, 1327, 1288, 987, 
+    936, 1584, 2708, 3521, 3425, 2621, 1903, 1856, 
+    2309, 2599, 2335, 1808, 1611, 1918, 2247, 1998, 
+    1166, 443, 549, 1503, 2603, 3140, 3062, 2903, 
+    3077, 3364, 3157, 2203, 1000, 375, 684, 1474, 
+    1982, 1920, 1700, 1887, 2497, 2950, 2717, 1961, 
+    1425, 1673, 2496, 3112, 2972, 2281, 1721, 1683, 
+    1882, 1764, 1217, 782, 1086, 2110, 3112, 3324, 
+    2695, 1899, 1625, 1901, 2178, 2031, 1671, 1687, 
+    2317, 3076, 3199, 2439, 1367, 825, 1111, 1751, 
+    2065, 1899, 1721, 2001, 2610, 2919, 2518, 1731, 
+    1353, 1830, 2779, 3352, 3069, 2250, 1598, 1445, 
+    1472, 1203, 669, 468, 1120, 2420, 3528, 3741, 
+    3144, 2457, 2266, 2453, 2438, 1916, 1254, 1094, 
+    1614, 2272, 2351, 1722, 1001, 913, 1554, 2336, 
+    2649, 2506, 2458, 2890, 3503, 3576, 2750, 1475, 
+    615, 626, 1170, 1560, 1528, 1462, 1874, 2718, 
+    3334, 3129, 2236, 1437, 1396, 2018, 2602, 2606, 
+    2183, 1928, 2145, 2474, 2310, 1544, 781, 764, 
+    1596, 2598, 2979, 2593, 2012, 1853, 2129, 2320, 
+    2047, 1576, 1549, 2236, 3140, 3434, 2781, 1683, 
+    980, 1029, 1443, 1618, 1441, 1379, 1878, 2749, 
+    3283, 2983, 2126, 1531, 1738, 2479, 2991, 2808, 
+    2197, 1776, 1790, 1858, 1476, 702, 214, 644, 
+    1885, 3131, 3627, 3348, 2903, 2803, 2914, 2686, 
+    1876, 935, 595, 1104, 1936, 2317, 2009, 1510, 
+    1471, 1978, 2486, 2467, 2030, 1820, 2285, 3129, 
+    3560, 3092, 2049, 1221, 1077, 1352, 1459, 1214, 
+    1058, 1522, 2535, 3375, 3355, 2530, 1651, 1420, 
+    1826, 2259, 2233, 1913, 1866, 2338, 2895, 2850, 
+    2036, 1061, 736, 1277, 2114, 2503, 2272, 1916
+  },
+  {
+    1639, 1664, 1562, 1341, 1360, 1915, 2829, 3528, 
+    3547, 2949, 2219, 1761, 1548, 1288, 877, 621, 
+    938, 1861, 2903, 3446, 3282, 2734, 2268, 2022, 
+    1771, 1321, 868, 873, 1570, 2635, 3406, 3454, 
+    2920, 2299, 1919, 1689, 1347, 896, 694, 1077, 
+    1938, 2737, 2992, 2720, 2385, 2390, 2662, 2769, 
+    2419, 1793, 1356, 1365, 1621, 1732, 1581, 1463, 
+    1732, 2345, 2832, 2753, 2162, 1583, 1512, 1960, 
+    2502, 2750, 2711, 2665, 2725, 2631, 2028, 958, 
+    0, 0, 496, 1736, 2834, 3458, 3723, 3841, 
+    3752, 3184, 2069, 822, 110, 289, 1094, 1902, 
+    2304, 2395, 2518, 2782, 2906, 2557, 1804, 1148, 
+    1076, 1597, 2255, 2598, 2593, 2554, 2689, 2805, 
+    2511, 1715, 836, 485, 898, 1731, 2409, 2656, 
+    2660, 2728, 2863, 2746, 2156, 1334, 853, 1093, 
+    1868, 2596, 2846, 2685, 2489, 2460, 2405, 2012, 
+    1304, 722, 730, 1335, 2064, 2430, 2399, 2364, 
+    2665, 3183, 3442, 3110, 2344, 1619, 1245, 1108, 
+    918, 647, 646, 1270, 2402, 3433, 3752, 3276, 
+    2479, 1920, 1759, 1753, 1669, 1610, 1864, 2469, 
+    3015, 2959, 2167, 1103, 447, 518, 1081, 1689, 
+    2157, 2652, 3327, 3959, 4051, 3323, 2069, 966, 
+    513, 658, 980, 1199, 1437, 1979, 2804, 3469, 
+    3484, 2808, 1918, 1372, 1319, 1472, 1526, 1535, 
+    1822, 2522, 3289, 3542, 3008, 2017, 1205, 958, 
+    1133, 1343, 1427, 1594, 2085, 2776, 3197, 2987, 
+    2297, 1689, 1605, 1967, 2306, 2280, 2009, 1884, 
+    2086, 2358, 2294, 1817, 1301, 1203, 1573, 2011, 
+    2103, 1872, 1753, 2114, 2839, 3420, 3451, 2996, 
+    2439, 2029, 1639, 1019, 242, 0, 205, 1436, 
+    2883, 3816, 3952, 3559, 3062, 2600, 2024, 1278, 
+    664, 643, 1346, 2343, 2958, 2854, 2286, 1788
+  },
+  {
+    1664, 1710, 1621, 1407, 1442, 2003, 2873, 3465, 
+    3372, 2745, 2084, 1708, 1489, 1146, 713, 612, 
+    1202, 2315, 3312, 3633, 3266, 2647, 2153, 1768, 
+    1286, 760, 609, 1212, 2410, 3513, 3856, 3344, 
+    2445, 1678, 1182, 798, 495, 559, 1284, 2512, 
+    3601, 3926, 3426, 2610, 2030, 1793, 1607, 1266, 
+    968, 1098, 1726, 2439, 2713, 2438, 2006, 1863, 
+    2044, 2194, 2047, 1785, 1847, 2396, 3057, 3245, 
+    2741, 1890, 1225, 956, 880, 784, 811, 1334, 
+    2449, 3684, 4095, 4001, 3035, 2052, 1429, 1079, 
+    781, 592, 827, 1619, 2608, 3172, 2997, 2384, 
+    1932, 1937, 2162, 2183, 1912, 1690, 1855, 2317, 
+    2620, 2441, 1951, 1617, 1681, 1910, 1901, 1595, 
+    1381, 1666, 2386, 3011, 3069, 2603, 2079, 1865, 
+    1879, 1787, 1488, 1298, 1590, 2308, 2924, 2932, 
+    2348, 1676, 1389, 1493, 1645, 1637, 1660, 2042, 
+    2762, 3350, 3316, 2665, 1904, 1532, 1564, 1603, 
+    1355, 1002, 995, 1531, 2303, 2818, 2898, 2809, 
+    2868, 3011, 2849, 2155, 1229, 689, 883, 1548, 
+    2098, 2207, 2062, 2049, 2261, 2408, 2227, 1862, 
+    1767, 2190, 2838, 3128, 2766, 2035, 1479, 1347, 
+    1410, 1328, 1118, 1157, 1721, 2593, 3217, 3234, 
+    2828, 2472, 2390, 2340, 1956, 1257, 718, 808, 
+    1498, 2286, 2699, 2716, 2652, 2684, 2608, 2120, 
+    1299, 686, 820, 1690, 2713, 3260, 3186, 2822, 
+    2502, 2202, 1692, 990, 515, 722, 1593, 2569, 
+    3045, 2906, 2541, 2359, 2356, 2214, 1783, 1351, 
+    1368, 1923, 2586, 2811, 2473, 1952, 1679, 1683, 
+    1634, 1326, 1011, 1176, 1997, 3075, 3770, 3769, 
+    3287, 2713, 2162, 1452, 521, 0, 0, 704, 
+    2221, 3469, 3925, 3689, 3199, 2718, 2167, 1448, 
+    794, 672, 1285, 2261, 2912, 2846, 2291, 1798
+  },
+  {
+    1007, 1856, 3088, 3141, 1847, 693, 1019, 2402, 
+    3221, 2669, 1652, 1511, 2265, 2661, 1926, 902, 
+    1029, 2441, 3641, 3260, 1719, 730, 1238, 2375, 
+    2679, 1956, 1422, 1994, 3006, 3042, 1827, 706, 
+    1023, 2433, 3287, 2649, 1408, 1118, 2052, 2925, 
+    2601, 1546, 1185, 2010, 2913, 2633, 1438, 857, 
+    1747, 3148, 3408, 2207, 934, 975, 2063, 2745, 
+    2291, 1564, 1775, 2782, 3198, 2211, 766, 519, 
+    1815, 3231, 3271, 2120, 1291, 1679, 2511, 2481, 
+    1542, 991, 1744, 3042, 3318, 2172, 930, 1040, 
+    2298, 3130, 2564, 1398, 1127, 2028, 2866, 2544, 
+    1544, 1280, 2202, 3139, 2764, 1349, 530, 1323, 
+    2864, 3450, 2579, 1454, 1382, 2157, 2479, 1781, 
+    1038, 1485, 2882, 3653, 2796, 1178, 554, 1486, 
+    2736, 2860, 1960, 1411, 1992, 2872, 2739, 1593, 
+    829, 1472, 2813, 3235, 2228, 1036, 1114, 2328, 
+    3157, 2624, 1479, 1185, 2020, 2769, 2363, 1324, 
+    1121, 2227, 3406, 3187, 1710, 604, 1030, 2335, 
+    2953, 2368, 1638, 1880, 2743, 2873, 1777, 620, 
+    857, 2375, 3534, 3105, 1716, 1022, 1666, 2595, 
+    2523, 1612, 1201, 1986, 3034, 2956, 1739, 846, 
+    1407, 2768, 3270, 2302, 1044, 990, 2114, 2978, 
+    2598, 1645, 1484, 2330, 2945, 2295, 996, 656, 
+    1854, 3341, 3494, 2243, 1092, 1233, 2166, 2501, 
+    1839, 1266, 1837, 3059, 3406, 2261, 808, 665, 
+    1934, 3095, 2878, 1764, 1266, 1962, 2817, 2600, 
+    1538, 1039, 1834, 2968, 2975, 1770, 819, 1333, 
+    2738, 3371, 2522, 1266, 1073, 1987, 2681, 2254, 
+    1408, 1483, 2608, 3416, 2742, 1172, 431, 1320, 
+    2771, 3183, 2343, 1540, 1807, 2599, 2598, 1556, 
+    737, 1323, 2823, 3559, 2693, 1261, 902, 1879, 
+    2844, 2605, 1599, 1244, 2041, 2919, 2658, 1531
+  },
+  {
+    1940, 2558, 3310, 3167, 1867, 350, 0, 1062, 
+    2800, 3765, 3383, 2325, 1683, 1824, 2122, 1810, 
+    973, 562, 1363, 3030, 4095, 3948, 2338, 733, 
+    312, 1081, 2042, 2327, 2055, 2043, 2730, 3541, 
+    3433, 2069, 354, 0, 660, 2465, 3674, 3555, 
+    2627, 1952, 1980, 2174, 1778, 840, 310, 1054, 
+    2820, 4095, 4095, 2750, 1016, 328, 870, 1758, 
+    2102, 1931, 2002, 2773, 3699, 3704, 2351, 483, 
+    0, 332, 2127, 3511, 3617, 2819, 2147, 2119, 
+    2272, 1849, 837, 165, 780, 2548, 4095, 4095, 
+    3056, 1293, 441, 815, 1624, 1964, 1795, 1856, 
+    2655, 3707, 3898, 2665, 738, 0, 137, 1836, 
+    3299, 3559, 2871, 2228, 2206, 2400, 2025, 983, 
+    161, 577, 2243, 3964, 4095, 3212, 1509, 607, 
+    911, 1683, 1987, 1722, 1634, 2344, 3478, 3919, 
+    2958, 1144, 0, 179, 1657, 3024, 3299, 2677, 
+    2126, 2247, 2633, 2411, 1352, 294, 368, 1792, 
+    3522, 4095, 3306, 1795, 924, 1157, 1829, 2014, 
+    1589, 1330, 1958, 3199, 3921, 3260, 1583, 231, 
+    275, 1525, 2778, 3042, 2448, 1949, 2189, 2781, 
+    2774, 1790, 573, 315, 1429, 3049, 3826, 3210, 
+    1931, 1202, 1494, 2155, 2234, 1577, 1016, 1432, 
+    2711, 3741, 3497, 2102, 754, 565, 1507, 2523, 
+    2671, 2061, 1640, 2072, 2958, 3236, 2353, 953, 
+    300, 1029, 2487, 3382, 3051, 2056, 1509, 1878, 
+    2532, 2499, 1601, 718, 888, 2167, 3485, 3671, 
+    2604, 1315, 927, 1562, 2316, 2308, 1645, 1274, 
+    1887, 3079, 3677, 2945, 1400, 361, 677, 1927, 
+    2902, 2843, 2138, 1788, 2244, 2901, 2778, 1670, 
+    489, 408, 1648, 3195, 3762, 3008, 1804, 1276, 
+    1670, 2211, 2062, 1311, 912, 1616, 3052, 3976, 
+    3474, 1900, 566, 489, 1470, 2418, 2532, 2072
+  },
+  {
+    2305, 1950, 1626, 1814, 2468, 2972, 2698, 1651, 
+    599, 493, 1629, 3299, 4095, 3750, 2036, 322, 
+    0, 716, 2337, 3494, 3539, 2733, 1873, 1551, 
+    1713, 1874, 1704, 1400, 1477, 2176, 3100, 3465, 
+    2796, 1444, 411, 557, 1859, 3357, 3885, 3012, 
+    1398, 273, 466, 1773, 3173, 3670, 3055, 1956, 
+    1225, 1225, 1645, 1927, 1865, 1776, 2102, 2843, 
+    3423, 3156, 1941, 508, 0, 771, 2528, 3975, 
+    4081, 2811, 1147, 304, 788, 2069, 3085, 3132, 
+    2367, 1558, 1356, 1763, 2238, 2291, 1965, 1758, 
+    2067, 2709, 3020, 2475, 1275, 311, 477, 1870, 
+    3595, 4095, 3648, 1838, 238, 0, 953, 2472, 
+    3385, 3239, 2444, 1786, 1701, 1974, 2076, 1773, 
+    1386, 1465, 2176, 3031, 3252, 2491, 1234, 486, 
+    945, 2362, 3668, 3808, 2604, 928, 25, 542, 
+    2045, 3415, 3744, 2992, 1892, 1252, 1307, 1669, 
+    1826, 1700, 1681, 2158, 2993, 3517, 3093, 1773, 
+    411, 53, 1073, 2800, 3984, 3764, 2346, 833, 
+    342, 1140, 2499, 3344, 3124, 2182, 1357, 1230, 
+    1687, 2150, 2196, 1957, 1926, 2378, 2991, 3078, 
+    2252, 913, 57, 492, 2102, 3831, 4095, 3481, 
+    1632, 203, 113, 1246, 2634, 3287, 2946, 2155, 
+    1671, 1781, 2137, 2202, 1837, 1454, 1587, 2295, 
+    3011, 3008, 2101, 926, 482, 1281, 2841, 3994, 
+    3798, 2312, 588, 0, 597, 2192, 3484, 3681, 
+    2895, 1901, 1409, 1511, 1759, 1733, 1500, 1531, 
+    2148, 3075, 3557, 3017, 1650, 404, 259, 1409, 
+    3036, 3917, 3390, 1883, 571, 434, 1497, 2873, 
+    3520, 3065, 2014, 1233, 1196, 1675, 2076, 2072, 
+    1891, 2018, 2606, 3204, 3117, 2089, 689, 0, 
+    611, 2318, 3929, 4095, 3162, 1386, 241, 446, 
+    1669, 2875, 3209, 2628, 1811, 1479, 1772, 2227
+  },
+  {
+    2335, 1960, 1685, 1991, 2665, 2957, 2364, 1256, 
+    1187, 675, 1385, 2969, 4095, 3891, 2178, 296, 
+    0, 858, 2528, 3499, 3277, 2384, 1687, 1864, 
+    1755, 1891, 1800, 1493, 1474, 2117, 3086, 3446, 
+    2627, 1190, 321, 799, 2247, 3423, 3310, 3107, 
+    1738, 395, 255, 1464, 3033, 3737, 3149, 1995, 
+    1297, 1347, 1704, 1834, 1723, 1823, 2108, 2639, 
+    3261, 3208, 2125, 617, 0, 748, 2661, 4066, 
+    3914, 2447, 933, 547, 1394, 1601, 2804, 3229, 
+    2646, 1734, 1332, 1636, 2113, 2142, 1819, 1735, 
+    2218, 2881, 2971, 2189, 1720, 621, 355, 1441, 
+    3232, 4095, 3802, 1959, 273, 50, 1212, 2640, 
+    3225, 2756, 1910, 2316, 1840, 1897, 2026, 1814, 
+    1434, 1470, 2204, 3124, 3256, 2304, 984, 435, 
+    1171, 2551, 3314, 3642, 2920, 1289, 77, 298, 
+    1775, 3318, 3760, 2948, 1844, 1312, 1466, 1796, 
+    1872, 1825, 1577, 1917, 2711, 3406, 3216, 1970, 
+    487, 10, 1148, 2954, 3986, 3485, 1998, 851, 
+    972, 994, 2116, 3181, 3271, 2421, 1473, 1207, 
+    1641, 2110, 2109, 1863, 1914, 2408, 2823, 2479, 
+    2808, 1550, 347, 282, 1634, 3479, 4095, 3526, 
+    1607, 217, 326, 1591, 2839, 3159, 2604, 1942, 
+    1762, 1656, 1999, 2221, 1988, 1609, 1694, 2407, 
+    3070, 2862, 1756, 638, 549, 1686, 3126, 3294, 
+    3719, 2662, 912, 0, 407, 2032, 3459, 3612, 
+    2747, 1800, 1467, 1676, 1899, 1861, 1595, 1503, 
+    1915, 2795, 3437, 3078, 1735, 392, 309, 1631, 
+    3271, 3888, 3033, 1515, 651, 866, 1341, 2604, 
+    3487, 3253, 2196, 1262, 1125, 1617, 2009, 1977, 
+    1857, 2125, 2738, 3044, 2446, 2512, 1180, 155, 
+    433, 2025, 3791, 4095, 3137, 1246, 193, 622, 
+    1932, 2950, 3001, 2393, 2115, 1507, 1558, 1991
+  },
+  {
+    2299, 1606, 1862, 2187, 2600, 3114, 2824, 819, 
+    742, 762, 1777, 2857, 3979, 4095, 2607, 70, 
+    0, 1274, 2290, 3296, 3402, 2624, 1883, 2093, 
+    1423, 1682, 1942, 1277, 1503, 2618, 2805, 3895, 
+    2249, 1512, 0, 904, 1903, 3739, 3659, 3477, 
+    1378, 119, 643, 1169, 2648, 4095, 3128, 2162, 
+    1306, 1460, 1690, 1974, 1373, 1684, 1967, 3108, 
+    3257, 3304, 2323, 309, 7, 529, 2826, 4095, 
+    3817, 2606, 606, 565, 1564, 1755, 2924, 3206, 
+    2565, 1884, 1147, 1262, 2231, 2237, 2195, 2100, 
+    1944, 2626, 3225, 1916, 1444, 924, 395, 1723, 
+    3132, 4095, 3586, 1748, 42, 268, 1482, 2742, 
+    3110, 2570, 2025, 2385, 1828, 2180, 1616, 1958, 
+    1380, 1703, 2019, 3249, 3581, 2116, 685, 199, 
+    1554, 2900, 3289, 3588, 2850, 1045, 0, 597, 
+    1989, 3292, 3640, 3076, 1633, 1156, 1650, 2200, 
+    1884, 1603, 1349, 2034, 2754, 3521, 3437, 1599, 
+    744, 0, 1040, 3065, 4095, 3458, 1782, 963, 
+    997, 977, 1824, 3559, 3467, 2488, 1558, 699, 
+    1750, 1983, 2306, 1793, 2240, 2704, 2237, 2629, 
+    2939, 1330, 530, 545, 1391, 3086, 4095, 3624, 
+    1583, 443, 206, 1788, 2457, 3132, 2913, 1810, 
+    1654, 1539, 2375, 2330, 2305, 1378, 1366, 2269, 
+    3182, 3207, 1447, 648, 813, 1931, 3069, 3286, 
+    3459, 2647, 833, 0, 589, 2201, 3797, 3585, 
+    2499, 1455, 1353, 2169, 2045, 1862, 1599, 1248, 
+    1735, 3087, 3519, 3073, 1783, 586, 403, 1230, 
+    3053, 4030, 3230, 1553, 814, 1012, 1239, 2409, 
+    3612, 3022, 2454, 988, 1344, 1690, 2015, 2311, 
+    1661, 1882, 2970, 3096, 2259, 2286, 1362, 415, 
+    382, 2202, 4077, 4095, 2592, 1052, 470, 805, 
+    2008, 3117, 3179, 2167, 1896, 1466, 1818, 2081
+  },
+  {
+    1966, 2056, 2324, 2444, 1716, 1440, 1465, 1652, 
+    1875, 2034, 2094, 2076, 2037, 2105, 2583, 1888, 
+    994, 1008, 1565, 2138, 2414, 2398, 2270, 2152, 
+    2001, 1726, 1370, 1159, 1325, 1872, 2502, 2825, 
+    2599, 1908, 1177, 1358, 1754, 1897, 1956, 1973, 
+    1965, 1970, 2000, 2020, 1980, 1914, 1867, 1698, 
+    1633, 1822, 2021, 2054, 1931, 1831, 1905, 2094, 
+    2140, 1824, 1297, 1964, 2188, 1828, 1576, 2128, 
+    2255, 1961, 1600, 1533, 1823, 2209, 2347, 2115, 
+    1705, 1447, 1526, 1839, 2117, 2168, 2035, 1919, 
+    1948, 2041, 1998, 1724, 1392, 1362, 1896, 2811, 
+    2122, 1739, 1726, 1901, 2062, 2040, 1867, 1669, 
+    1531, 1527, 1740, 2238, 2702, 2377, 1984, 1563, 
+    1305, 1376, 1742, 2165, 2333, 2139, 1788, 1624, 
+    1819, 2208, 2414, 2176, 1596, 1106, 1087, 1600, 
+    2354, 2838, 2758, 2219, 1598, 1247, 1250, 1468, 
+    1734, 2029, 2451, 2851, 2030, 1593, 1481, 1600, 
+    1808, 1954, 2009, 2012, 1969, 1886, 1800, 1768, 
+    1812, 1937, 2247, 2475, 1925, 1398, 1223, 1479, 
+    1957, 2335, 2421, 2267, 2054, 1870, 1614, 1148, 
+    1402, 2051, 2361, 2381, 2151, 1806, 1621, 1674, 
+    1793, 1900, 1995, 2059, 2054, 1959, 1750, 1419, 
+    1732, 2123, 2329, 2207, 1857, 1571, 1594, 1896, 
+    2180, 2116, 1639, 1438, 1959, 2116, 2093, 2051, 
+    2049, 2037, 1956, 1739, 1214, 911, 2104, 2666, 
+    2618, 2292, 1979, 1758, 1557, 1351, 1268, 1485, 
+    2014, 2601, 2861, 2571, 1885, 1233, 989, 1278, 
+    1853, 2301, 2449, 2380, 2080, 1765, 1562, 1513, 
+    1617, 1930, 2552, 2071, 1735, 1723, 1797, 1809, 
+    1807, 1898, 2059, 2111, 2091, 2188, 1924, 1185, 
+    1048, 1869, 2546, 2656, 2239, 1647, 1338, 1500, 
+    1926, 2232, 2194, 1935, 1853, 1585, 1647, 1843
+  },
+  {
+    1659, 2675, 2749, 995, 2173, 1940, 1758, 1737, 
+    1805, 1884, 1945, 2020, 2163, 2406, 1786, 2321, 
+    991, 844, 1698, 2413, 2642, 2402, 2020, 1879, 
+    1873, 1701, 1340, 1179, 1629, 2362, 2546, 2823, 
+    2611, 635, 1054, 2099, 1830, 1970, 2091, 2189, 
+    2174, 2003, 1706, 1379, 1301, 1802, 2504, 3525, 
+    1931, 631, 1107, 1894, 2188, 2207, 2261, 2251, 
+    1696, 718, 3108, 1636, 1614, 2164, 1962, 1527, 
+    2214, 2001, 1463, 1379, 1962, 2680, 2826, 2236, 
+    1296, 814, 1099, 1902, 2559, 2590, 2142, 1841, 
+    1891, 2012, 1954, 1594, 1161, 1342, 2876, 1538, 
+    2388, 2161, 1968, 1905, 1876, 1872, 1781, 1648, 
+    1622, 1774, 2024, 1808, 1350, 3460, 2891, 1498, 
+    1072, 1273, 1372, 1966, 2476, 2263, 1679, 1448, 
+    1930, 2703, 2997, 2280, 930, 682, 802, 982, 
+    2550, 3717, 3622, 2527, 1167, 573, 651, 1194, 
+    2057, 3027, 3472, 328, 2460, 2176, 1868, 1735, 
+    1734, 1783, 1780, 1757, 1784, 1880, 2039, 2201, 
+    2229, 2073, 1483, 1629, 2971, 1691, 851, 1072, 
+    1864, 2609, 2790, 2451, 1961, 1515, 1103, 1847, 
+    2014, 1647, 1888, 2020, 2063, 2184, 2102, 1878, 
+    1874, 1891, 1808, 1635, 1480, 1540, 2049, 3897, 
+    1024, 1088, 2025, 2385, 2069, 1655, 1649, 2000, 
+    2132, 1527, 1310, 2922, 1737, 1758, 1870, 1969, 
+    2088, 2176, 2080, 1699, 1295, 1033, 1600, 2820, 
+    2718, 2287, 1985, 1875, 1713, 1312, 1028, 1302, 
+    2030, 2858, 3103, 2414, 1614, 1352, 673, 1103, 
+    3016, 3299, 1642, 303, 1899, 2475, 2407, 2217, 
+    2137, 2046, 0, 2298, 2414, 2355, 2160, 1584, 
+    1115, 1349, 2022, 3000, 3585, 1751, 1024, 1398, 
+    0, 1191, 3177, 3342, 3377, 2277, 1124, 914, 
+    1094, 1158, 1371, 2973, 3320, 3253, 614, 540
+  },
+  {
+    2099, 2469, 2236, 702, 2306, 2265, 1928, 1672, 
+    1726, 1987, 2127, 1964, 1717, 1825, 1554, 2705, 
+    1775, 1502, 1837, 2050, 2091, 1947, 1738, 1739, 
+    1928, 2072, 2002, 1816, 1805, 1889, 1699, 2154, 
+    2518, 1076, 1654, 2496, 1911, 1823, 1821, 1849, 
+    1867, 1940, 2050, 1998, 1745, 1642, 1760, 2739, 
+    1747, 1219, 1994, 2375, 1945, 1549, 1785, 2277, 
+    2037, 959, 3051, 1449, 1562, 2284, 2050, 1433, 
+    2072, 2097, 1863, 1753, 1851, 1981, 1988, 1929, 
+    1821, 1824, 1884, 1978, 2013, 1910, 1751, 1793, 
+    1972, 2055, 2014, 1821, 1560, 1700, 2938, 1246, 
+    1937, 1827, 1891, 2013, 2000, 1913, 1785, 1739, 
+    1875, 2124, 2270, 1727, 862, 2745, 2341, 1478, 
+    1641, 2081, 1896, 1913, 2030, 1912, 1750, 1767, 
+    1969, 2110, 2036, 1726, 1441, 2175, 2393, 1596, 
+    1717, 1928, 1974, 1960, 1874, 1981, 1892, 1671, 
+    1728, 2290, 2824, 56, 2531, 2354, 1939, 1671, 
+    1684, 1912, 2091, 2064, 1866, 1685, 1736, 2015, 
+    2225, 2101, 1361, 1380, 2857, 1977, 1503, 1703, 
+    2007, 2108, 1943, 1793, 1857, 1922, 1671, 2226, 
+    2096, 1558, 1797, 1981, 2008, 2034, 1869, 1668, 
+    1813, 2043, 2128, 1982, 1677, 1472, 1753, 3561, 
+    869, 1194, 2258, 2509, 1963, 1436, 1561, 2174, 
+    2442, 1702, 1200, 2655, 1589, 1862, 2067, 1960, 
+    1757, 1756, 1974, 2111, 2016, 1591, 1633, 2335, 
+    2028, 1730, 1723, 1922, 2063, 1955, 1810, 1841, 
+    1901, 1979, 1939, 1732, 1897, 2363, 1614, 1272, 
+    2407, 2579, 1525, 879, 2556, 2497, 1674, 1351, 
+    1926, 2700, 844, 2684, 1928, 1498, 1787, 2108, 
+    2115, 1928, 1585, 1766, 2412, 1472, 1850, 2833, 
+    998, 1559, 2529, 2010, 2009, 1560, 1460, 2158, 
+    2552, 1961, 1049, 1816, 2175, 2885, 1132, 1374
+  },
+  {
+    2298, 2981, 1544, 1907, 2114, 2357, 2312, 2031, 
+    1922, 2051, 2257, 2329, 2136, 1889, 1951, 2330, 
+    2524, 1904, 1503, 2689, 2381, 1845, 1847, 2222, 
+    2478, 2244, 1733, 1671, 2468, 3711, 0, 2679, 
+    2483, 2319, 2099, 1806, 1780, 2394, 3172, 907, 
+    2428, 2019, 1976, 3332, 949, 2022, 2567, 2323, 
+    1942, 1935, 2190, 2256, 2131, 2022, 2136, 2259, 
+    2068, 1982, 2103, 2405, 2424, 1147, 2599, 2418, 
+    2080, 1906, 1999, 2236, 2336, 2151, 1935, 1952, 
+    2363, 2253, 1921, 2191, 2200, 1994, 1982, 2335, 
+    2577, 1839, 774, 4095, 1331, 2647, 760, 2895, 
+    2687, 1875, 1701, 2040, 2404, 2410, 2086, 1796, 
+    1879, 2320, 2724, 2512, 11, 3311, 3102, 1436, 
+    1248, 3032, 2012, 2081, 2195, 1962, 2073, 2353, 
+    2250, 1298, 3430, 1288, 2013, 2392, 2304, 2042, 
+    1870, 2446, 1774, 2216, 2566, 1933, 1739, 2235, 
+    2345, 2240, 2076, 1867, 2092, 2289, 2236, 2183, 
+    2067, 1880, 1944, 2478, 2615, 1919, 1406, 1820, 
+    3158, 2882, 1131, 777, 3423, 2936, 1687, 1391, 
+    1985, 2647, 2670, 1894, 950, 3538, 1441, 2122, 
+    2405, 2205, 1920, 1914, 2189, 2417, 2283, 1842, 
+    1983, 2034, 2172, 2886, 2024, 916, 2464, 2887, 
+    2448, 1253, 1916, 2446, 2377, 2219, 2125, 1761, 
+    1342, 3767, 1742, 1619, 2008, 2362, 2340, 2127, 
+    1995, 1992, 2119, 2263, 2278, 2123, 1862, 1684, 
+    3480, 1143, 1973, 2577, 2351, 1813, 1654, 2372, 
+    3429, 458, 2493, 2385, 2266, 2090, 1932, 2110, 
+    1759, 3261, 1250, 2307, 2104, 1810, 2959, 1710, 
+    1826, 2277, 2319, 2116, 2022, 2111, 2165, 2106, 
+    2081, 2200, 2374, 2014, 1103, 3510, 1988, 1764, 
+    1659, 2400, 2848, 1755, 1832, 1996, 2283, 2580, 
+    2140, 1399, 2388, 2249, 2290, 2145, 2045, 1628
+  },
+  {
+    1924, 2444, 2813, 2991, 2986, 2843, 2628, 2452, 
+    2434, 2498, 2306, 1709, 1257, 1437, 1788, 1893, 
+    1862, 1859, 1900, 1934, 1937, 2067, 2535, 3037, 
+    2605, 1507, 2993, 4095, 2387, 1241, 1643, 1400, 
+    1577, 1690, 1700, 1583, 1320, 1297, 897, 4095, 
+    1859, 4095, 3945, 1699, 4095, 2586, 839, 274, 
+    2773, 861, 522, 638, 3159, 670, 3569, 3585, 
+    2275, 2822, 3052, 2773, 1831, 1291, 2065, 1950, 
+    1808, 1722, 1680, 1706, 1839, 2112, 2552, 3205, 
+    3077, 2986, 9, 2037, 2278, 2969, 1623, 247, 
+    814, 3418, 3028, 3659, 3881, 1185, 3474, 610, 
+    706, 1054, 1511, 1892, 2219, 2487, 2671, 2743, 
+    2690, 2535, 2346, 2195, 2099, 2027, 1929, 1766, 
+    1551, 1422, 1955, 3456, 1602, 1469, 1901, 2533, 
+    2937, 2774, 2129, 1705, 2157, 2768, 2283, 1411, 
+    1188, 1551, 2052, 2447, 2685, 2751, 2625, 2315, 
+    1913, 1593, 1500, 1659, 1967, 2259, 2430, 2493, 
+    2525, 2565, 2554, 2374, 1960, 1424, 1070, 1200, 
+    1881, 2674, 2940, 2849, 2779, 2370, 1681, 1327, 
+    1582, 2205, 2654, 2062, 1522, 2701, 2513, 2191, 
+    1971, 1869, 1866, 1953, 2125, 2366, 2612, 2655, 
+    1259, 2467, 2051, 1394, 2036, 1824, 2313, 2528, 
+    2549, 2764, 2979, 100, 3505, 2383, 1098, 570, 
+    3751, 1455, 1648, 1943, 2152, 2304, 2368, 2476, 
+    2677, 2783, 2720, 2510, 2188, 1792, 1355, 904, 
+    494, 1440, 749, 4095, 3212, 2926, 4095, 1520, 
+    2034, 1383, 1679, 1814, 1792, 1641, 1368, 1075, 
+    3968, 1321, 4081, 1908, 2868, 2153, 433, 2197, 
+    2089, 1958, 1946, 1979, 2098, 2196, 2320, 2614, 
+    2993, 3269, 3108, 2003, 630, 616, 1624, 1690, 
+    1185, 1322, 1960, 2600, 3081, 3429, 3627, 3562, 
+    3123, 2349, 1527, 976, 714, 658, 869, 1345
+  },
+  {
+    1978, 2287, 2526, 2669, 2687, 2577, 2388, 2225, 
+    2197, 2323, 2481, 2505, 2388, 2223, 1976, 1694, 
+    1507, 1450, 1453, 1439, 1427, 1561, 2010, 2746, 
+    3403, 3628, 4078, 3807, 2389, 899, 1003, 1447, 
+    1671, 1739, 1691, 1522, 1184, 554, 648, 3083, 
+    3818, 3891, 3918, 3834, 3555, 2432, 1470, 767, 
+    771, 762, 962, 883, 941, 1513, 3249, 4000, 
+    3729, 3335, 2717, 2321, 2333, 2123, 1688, 1383, 
+    1269, 1282, 1383, 1574, 1866, 2260, 2766, 3457, 
+    4095, 3462, 1413, 1042, 1071, 1153, 780, 812, 
+    1586, 3041, 4083, 3878, 3731, 3467, 2518, 32, 
+    304, 967, 1415, 1780, 2103, 2382, 2594, 2715, 
+    2729, 2642, 2496, 2374, 2319, 2292, 2230, 2098, 
+    1878, 1568, 1256, 1339, 1443, 1902, 2434, 2940, 
+    3241, 3172, 2728, 2140, 1745, 1611, 1490, 1512, 
+    1766, 2091, 2349, 2503, 2567, 2543, 2416, 2195, 
+    1936, 1741, 1692, 1804, 2010, 2210, 2339, 2400, 
+    2437, 2471, 2465, 2345, 2074, 1728, 1483, 1520, 
+    1888, 2416, 2792, 2848, 2593, 2085, 1562, 1321, 
+    1470, 1907, 2449, 2909, 2959, 2629, 2217, 1945, 
+    1799, 1740, 1744, 1802, 1916, 2092, 2334, 2643, 
+    2867, 2610, 1676, 1174, 1590, 2542, 2417, 2057, 
+    2012, 2246, 2772, 2886, 2961, 2174, 1527, 927, 
+    1176, 1434, 1980, 2292, 2408, 2433, 2521, 2716, 
+    2869, 2872, 2728, 2479, 2159, 1797, 1417, 1020, 
+    551, 0, 965, 3313, 4095, 4095, 4036, 1891, 
+    1026, 1725, 2085, 2203, 2157, 1975, 1642, 1080, 
+    858, 1439, 3279, 3362, 2978, 2705, 2345, 2051, 
+    1614, 1552, 1722, 1899, 1989, 2034, 2174, 2497, 
+    2904, 3160, 3029, 2405, 1550, 993, 950, 1074, 
+    1350, 1848, 2358, 2732, 2971, 3126, 3193, 3108, 
+    2807, 2308, 1746, 1299, 1076, 1091, 1304, 1631
+  },
+  {
+    1974, 2482, 2875, 3104, 3130, 2965, 2685, 2444, 
+    2398, 2432, 1941, 1529, 1311, 1281, 1417, 1638, 
+    1741, 1802, 1867, 1875, 1834, 1943, 2424, 3078, 
+    2950, 3018, 3414, 3767, 1893, 292, 1172, 1495, 
+    1619, 1650, 1618, 1519, 1311, 830, 542, 2902, 
+    3970, 3585, 3716, 4095, 3246, 2351, 1679, 1158, 
+    715, 432, 429, 557, 1153, 2006, 2746, 3118, 
+    3104, 2866, 2619, 2497, 2500, 2536, 2518, 2417, 
+    2251, 2029, 1729, 1335, 915, 637, 609, 848, 
+    1492, 2361, 3139, 3618, 3787, 3748, 3570, 3205, 
+    2516, 1447, 246, 0, 141, 0, 1344, 3608, 
+    3264, 2852, 2669, 2550, 2442, 2336, 2235, 2148, 
+    2085, 2047, 2016, 1955, 1850, 1735, 1654, 1631, 
+    1679, 1810, 2036, 2349, 2723, 2936, 2377, 1778, 
+    1434, 1578, 2217, 2631, 2160, 1995, 2078, 2414, 
+    2843, 2278, 1754, 1414, 1251, 1265, 1475, 1865, 
+    2337, 2726, 2890, 2798, 2540, 2262, 2057, 1923, 
+    1798, 1655, 1563, 1640, 1947, 2381, 2691, 2628, 
+    2133, 1456, 1160, 1408, 1536, 2233, 2960, 3266, 
+    3025, 2384, 1601, 1562, 1834, 1990, 2038, 2014, 
+    1962, 1916, 1895, 1901, 1924, 1944, 1932, 1833, 
+    1534, 1899, 2945, 3446, 3179, 2286, 1999, 2217, 
+    2057, 1587, 814, 1088, 1536, 1786, 1929, 2092, 
+    2305, 2494, 2576, 2539, 2454, 2421, 2474, 2546, 
+    2514, 2299, 1938, 1557, 1276, 1131, 1077, 1094, 
+    1249, 1656, 2360, 3211, 3866, 3997, 3421, 2169, 
+    772, 1352, 1724, 1879, 1916, 1860, 1692, 1325, 
+    485, 1603, 3374, 3302, 2657, 2380, 2388, 2362, 
+    1822, 1674, 1777, 1871, 1880, 1838, 1921, 2255, 
+    2723, 3033, 2863, 2051, 920, 840, 1432, 1622, 
+    1483, 1466, 2179, 2729, 3087, 3321, 3428, 3313, 
+    2880, 2155, 1339, 723, 458, 499, 853, 1398
+  },
+  {
+    2279, 2196, 2046, 1841, 1621, 1468, 1478, 1682, 
+    1981, 2172, 2058, 1578, 1603, 1950, 2077, 2075, 
+    2013, 1946, 1898, 1848, 1763, 1631, 1488, 1448, 
+    1612, 1884, 2125, 2292, 2378, 2372, 2259, 2020, 
+    1630, 1020, 0, 1267, 2810, 2483, 2166, 2366, 
+    3306, 2194, 1046, 725, 1498, 1846, 1907, 1695, 
+    1498, 1747, 2090, 2433, 2596, 2448, 2018, 1500, 
+    1142, 1098, 1352, 1750, 2108, 2310, 2340, 2238, 
+    2048, 1801, 1550, 1398, 1482, 1896, 2603, 1967, 
+    1676, 1600, 1639, 1732, 1835, 1922, 2015, 2173, 
+    2124, 2066, 1991, 1537, 1367, 1433, 1626, 1856, 
+    2058, 2186, 2208, 2120, 1947, 1754, 1650, 1828, 
+    2055, 1266, 1253, 1769, 2332, 2499, 2108, 1342, 
+    1447, 2148, 2385, 2317, 2024, 1567, 936, 850, 
+    1389, 2093, 2694, 2927, 2690, 2117, 1485, 1062, 
+    1250, 1474, 1423, 1730, 2003, 2236, 2408, 2460, 
+    2333, 2031, 1654, 1353, 1243, 1334, 1540, 1754, 
+    1927, 2090, 2286, 2487, 2568, 2383, 1892, 1253, 
+    771, 729, 1201, 1984, 2690, 2961, 2668, 1948, 
+    1188, 1675, 1847, 1892, 1871, 1789, 1633, 1343, 
+    592, 1891, 3408, 2563, 2227, 1999, 1802, 1619, 
+    1456, 1343, 1324, 1459, 1807, 2286, 2475, 2255, 
+    2021, 1904, 1852, 1813, 1759, 1681, 1589, 1523, 
+    1555, 1773, 2269, 2057, 1921, 1968, 2072, 2100, 
+    2003, 1824, 1657, 1561, 1535, 1547, 1591, 1712, 
+    1955, 2290, 2567, 2580, 2192, 1458, 763, 1698, 
+    1995, 1819, 1036, 1630, 2202, 2731, 2993, 1909, 
+    1342, 1142, 1288, 1852, 2834, 1816, 1329, 1438, 
+    1885, 2275, 2331, 2041, 1606, 1686, 1699, 1684, 
+    1779, 1942, 2064, 2106, 2069, 1940, 1660, 1087, 
+    1472, 2026, 2215, 2204, 2118, 1966, 1691, 1679, 
+    1969, 2028, 1853, 1400, 1193, 1701, 2076, 2258
+  },
+  {
+    2084, 2007, 2033, 2179, 2411, 2617, 2660, 2466, 
+    2097, 1732, 1555, 1632, 1858, 2024, 1955, 1623, 
+    1136, 625, 1234, 1712, 2121, 2454, 2702, 2873, 
+    2976, 3011, 2962, 2795, 2457, 1905, 1840, 2225, 
+    2377, 2208, 1524, 1695, 2066, 2151, 2080, 1907, 
+    1634, 1214, 462, 498, 1595, 2495, 3312, 2586, 
+    2206, 2032, 2016, 2142, 2357, 2511, 2491, 2398, 
+    2385, 2535, 2903, 2783, 2397, 2106, 1917, 1809, 
+    1778, 1839, 1977, 2104, 2076, 1772, 1187, 711, 
+    1265, 1519, 1606, 1578, 1443, 1129, 1080, 2214, 
+    3585, 4095, 3795, 3636, 3792, 3998, 2811, 1929, 
+    1447, 1217, 1030, 812, 683, 851, 1401, 2164, 
+    2767, 2855, 2327, 1433, 643, 374, 758, 1597, 
+    2511, 3177, 3493, 3554, 3493, 3321, 2894, 2032, 
+    1194, 1977, 2284, 2397, 2397, 2311, 2145, 1894, 
+    1549, 1075, 625, 1121, 1481, 1663, 1693, 1674, 
+    1732, 1935, 2244, 2554, 2771, 2876, 2920, 2957, 
+    2974, 2899, 2671, 2325, 2013, 1910, 2072, 2352, 
+    2441, 2048, 1087, 0, 824, 1237, 1469, 1617, 
+    1714, 1765, 1732, 1478, 1188, 3153, 4095, 4095, 
+    4095, 4095, 2770, 981, 1235, 1454, 1479, 1428, 
+    1319, 1132, 794, 25, 829, 2188, 2980, 3127, 
+    2836, 2442, 2205, 2192, 2294, 2361, 2327, 2242, 
+    2205, 2259, 2350, 2372, 2259, 2048, 1854, 1787, 
+    1878, 2061, 2231, 2314, 2296, 2191, 1991, 1659, 
+    1187, 672, 673, 528, 1256, 2661, 4095, 3440, 
+    3037, 2800, 2620, 2461, 2317, 2194, 2102, 2051, 
+    2043, 2043, 1976, 1822, 1654, 1532, 1474, 1475, 
+    1527, 1611, 1700, 1786, 1889, 2036, 2231, 2419, 
+    2501, 2470, 2431, 2455, 2562, 2770, 3156, 4014, 
+    3029, 1936, 1119, 505, 696, 858, 752, 640, 
+    1462, 2286, 2867, 3090, 3001, 2745, 2465, 2238
+  },
+  {
+    2258, 2290, 2417, 2658, 2973, 3251, 3352, 3201, 
+    2860, 2505, 2321, 2374, 2560, 2670, 2531, 2115, 
+    1533, 918, 1416, 1778, 2070, 2285, 2419, 2481, 
+    2484, 2428, 2301, 2070, 1683, 1099, 1019, 1408, 
+    1581, 1450, 821, 1063, 1519, 1701, 1738, 1680, 
+    1529, 1233, 605, 763, 1977, 2985, 3901, 3262, 
+    2954, 2837, 2860, 3007, 3224, 3362, 3307, 3161, 
+    3080, 3146, 3416, 3186, 2682, 2266, 1948, 1710, 
+    1551, 1488, 1510, 1531, 1408, 1023, 374, 0, 
+    375, 619, 716, 717, 629, 380, 412, 1642, 
+    3121, 4054, 3575, 3547, 3836, 4095, 3115, 2355, 
+    1985, 1857, 1758, 1612, 1539, 1743, 2310, 3072, 
+    3653, 3701, 3115, 2145, 1264, 891, 1160, 1875, 
+    2659, 3193, 3376, 3306, 3120, 2831, 2298, 1343, 
+    426, 1147, 1410, 1497, 1491, 1418, 1284, 1084, 
+    807, 416, 63, 669, 1147, 1455, 1615, 1727, 
+    1916, 2244, 2672, 3091, 3406, 3595, 3708, 3795, 
+    3846, 3786, 3554, 3185, 2831, 2670, 2758, 2948, 
+    2936, 2432, 1352, 17, 838, 1124, 1232, 1261, 
+    1248, 1198, 1078, 750, 403, 2327, 4029, 3456, 
+    3518, 3701, 2009, 284, 617, 927, 1055, 1114, 
+    1122, 1056, 839, 191, 1111, 2580, 3472, 3709, 
+    3495, 3163, 2973, 2990, 3104, 3167, 3111, 2988, 
+    2897, 2881, 2890, 2819, 2605, 2285, 1977, 1794, 
+    1770, 1840, 1904, 1887, 1779, 1596, 1331, 949, 
+    441, 0, 0, 0, 537, 1988, 3802, 2902, 
+    2585, 2443, 2365, 2314, 2281, 2269, 2286, 2340, 
+    2430, 2519, 2531, 2443, 2327, 2244, 2207, 2214, 
+    2255, 2312, 2359, 2388, 2421, 2486, 2589, 2678, 
+    2654, 2515, 2366, 2282, 2284, 2393, 2689, 3468, 
+    2415, 1266, 411, 0, 0, 127, 46, 0, 
+    852, 1745, 2408, 2723, 2735, 2585, 2416, 2301
+  },
+  {
+    2185, 2170, 2249, 2442, 2711, 2942, 2998, 2803, 
+    2420, 2025, 1803, 1822, 1976, 2058, 1894, 1457, 
+    857, 229, 718, 1076, 1368, 1587, 1730, 1806, 
+    1827, 1793, 1693, 1493, 1141, 595, 558, 991, 
+    1213, 1133, 558, 855, 1367, 1607, 1703, 1705, 
+    1613, 1376, 806, 1021, 2290, 3352, 4095, 3728, 
+    3467, 3392, 3454, 3636, 3884, 4049, 4017, 3890, 
+    3822, 3896, 4095, 3941, 3432, 3007, 2675, 2419, 
+    2238, 2150, 2142, 2130, 1971, 1548, 856, 289, 
+    769, 966, 1015, 968, 831, 532, 515, 1697, 
+    3129, 4016, 3493, 3422, 3671, 3972, 2878, 2086, 
+    1687, 1532, 1411, 1246, 1156, 1348, 1907, 2662, 
+    3242, 3290, 2708, 1746, 875, 515, 800, 1533, 
+    2337, 2892, 3098, 3053, 2893, 2630, 2124, 1196, 
+    307, 1055, 1344, 1457, 1476, 1428, 1316, 1137, 
+    880, 506, 170, 789, 1280, 1597, 1765, 1883, 
+    2074, 2404, 2832, 3249, 3559, 3741, 3847, 3925, 
+    3966, 3894, 3649, 3267, 2899, 2723, 2796, 2972, 
+    2944, 2425, 1330, 0, 789, 1062, 1158, 1176, 
+    1153, 1095, 966, 632, 279, 2200, 3899, 3324, 
+    3385, 3569, 1879, 157, 493, 808, 941, 1006, 
+    1021, 961, 751, 110, 1038, 2513, 3413, 3656, 
+    3448, 3122, 2937, 2959, 3077, 3143, 3090, 2969, 
+    2878, 2864, 2872, 2800, 2584, 2262, 1951, 1765, 
+    1737, 1804, 1864, 1844, 1732, 1545, 1277, 892, 
+    383, 0, 0, 0, 479, 1933, 3751, 2856, 
+    2546, 2411, 2343, 2302, 2281, 2282, 2313, 2383, 
+    2489, 2596, 2626, 2558, 2462, 2398, 2382, 2409, 
+    2471, 2548, 2614, 2662, 2712, 2794, 2912, 3014, 
+    3002, 2872, 2730, 2651, 2655, 2764, 3057, 3829, 
+    2767, 1607, 736, 79, 241, 388, 280, 179, 
+    1024, 1882, 2507, 2783, 2752, 2559, 2345, 2185
+  }
+};

+ 6 - 4
quantum/audio/audio.h

@@ -13,8 +13,8 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#ifndef AUDIO_H
-#define AUDIO_H
+
+#pragma once
 
 #include <stdint.h>
 #include <stdbool.h>
@@ -27,6 +27,9 @@
 #include "voices.h"
 #include "quantum.h"
 #include <math.h>
+#if defined(PROTOCOL_CHIBIOS)
+  #include "audio_arm.h"
+#endif
 
 // Largely untested PWM audio mode (doesn't sound as good)
 // #define PWM_AUDIO
@@ -107,6 +110,5 @@ void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat);
 #define PLAY_SONG(note_array) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), false)
 #define PLAY_LOOP(note_array) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), true)
 
+bool is_playing_note(void);
 bool is_playing_notes(void);
-
-#endif

+ 48 - 143
quantum/audio/audio_arm.c

@@ -1,4 +1,4 @@
-/* Copyright 2016 Jack Humbert
+/* Copyright 2016-2019 Jack Humbert
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -26,75 +26,8 @@
 
 // -----------------------------------------------------------------------------
 
-/**
- * Size of the dac_buffer arrays. All must be the same size.
- */
-#define DAC_BUFFER_SIZE 256U
-
-/**
- * Highest value allowed by our 12bit DAC.
- */
-#ifndef DAC_SAMPLE_MAX
-  #define DAC_SAMPLE_MAX  4095U
-#endif
-
-#define DAC_LOW_QUALITY
-
-/**
- * These presets allow you to quickly switch between quality/voice settings for
- * the DAC. The sample rate and number of voices roughly has an inverse
- * relationship - slightly higher sample rates may be possible.
- */
-#ifdef DAC_VERY_LOW_QUALITY
-  #define DAC_SAMPLE_RATE 11025U
-  #define DAC_VOICES_MAX 8
-#endif
-
-#ifdef DAC_LOW_QUALITY
-  #define DAC_SAMPLE_RATE 22050U
-  #define DAC_VOICES_MAX 4
-#endif
-
-#ifdef DAC_HIGH_QUALITY
-  #define DAC_SAMPLE_RATE 44100U
-  #define DAC_VOICES_MAX 2
-#endif
-
-#ifdef DAC_VERY_HIGH_QUALITY
-  #define DAC_SAMPLE_RATE 88200U
-  #define DAC_VOICES_MAX 1
-#endif
-
-/**
- * Effective bitrate of the DAC. 44.1khz is the standard for most audio - any
- * lower will sacrifice perceptible audio quality. Any higher will limit the
- * number of simultaneous voices. In most situations, a tenth (1/10) of the
- * sample rate is where notes become unbearable.
- */
-#ifndef DAC_SAMPLE_RATE
-  #define DAC_SAMPLE_RATE 44100U
-#endif
-
-/**
- * The number of voices (in polyphony) that are supported. If too high a value
- * is used here, the keyboard will freeze and glitch-out when that many voices
- * are being played.
- */
-#ifndef DAC_VOICES_MAX
-  #define DAC_VOICES_MAX 2
-#endif
-
-/**
- * The default value of the DAC when not playing anything. Certain hardware
- * setups may require a high (DAC_SAMPLE_MAX) or low (0) value here.
- */
-#ifndef DAC_OFF_VALUE
-  #define DAC_OFF_VALUE DAC_SAMPLE_MAX / 2
-#endif
-
-int voices = 0;
-float frequencies[8] = {0, 0, 0, 0, 0, 0, 0, 0};
-int volumes[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+uint8_t dac_voices = 0;
+float dac_frequencies[8] = { 0.0 };
 
 bool     playing_notes = false;
 bool     playing_note = false;
@@ -129,7 +62,7 @@ bool glissando = true;
 #endif
 float startup_song[][2] = STARTUP_SONG;
 
-static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
+static const dacsample_t dac_buffer_sine[DAC_BUFFER_SIZE] = {
   // 256 values, max 4095
   0x800,0x832,0x864,0x896,0x8c8,0x8fa,0x92c,0x95e,
   0x98f,0x9c0,0x9f1,0xa22,0xa52,0xa82,0xab1,0xae0,
@@ -209,69 +142,40 @@ static const dacsample_t dac_buffer_square[DAC_BUFFER_SIZE] = {
 
 static dacsample_t dac_buffer_empty[DAC_BUFFER_SIZE] = { DAC_OFF_VALUE };
 
-#include "wavetable.h"
-
-float dac_if[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-uint8_t dac_voice = 0;
-uint8_t dac_voice_flipped = 0;
-uint16_t dac_voice_counter = 0;
-float dac_voice_count_flipped = 0;
+static float dac_if[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
 
 /**
- * Generation of the sample being passed to the callback. Declared weak so users
+ * Generation of the waveform being passed to the callback. Declared weak so users
  * can override it with their own waveforms/noises.
  */
 __attribute__ ((weak))
-uint16_t generate_sample(void) {
-  uint16_t sample = DAC_OFF_VALUE;
-  uint8_t working_voices = voices;
+uint16_t dac_value_generate(void) {
+  uint16_t value = DAC_OFF_VALUE;
+  uint8_t working_voices = dac_voices;
   if (working_voices > DAC_VOICES_MAX)
     working_voices = DAC_VOICES_MAX;
 
   if (working_voices > 0) {
-    uint16_t sample_sum = 0;
+    uint16_t value_avg = 0;
     for (uint8_t i = 0; i < working_voices; i++) {
-      dac_if[i] = dac_if[i] + ((frequencies[i]*DAC_BUFFER_SIZE)/DAC_SAMPLE_RATE);
+      dac_if[i] = dac_if[i] + ((dac_frequencies[i] * DAC_BUFFER_SIZE) / DAC_SAMPLE_RATE);
 
       // Needed because % doesn't work with floats
-      // 0.5 less than the size because we use round() later
       while (dac_if[i] >= (DAC_BUFFER_SIZE))
         dac_if[i] = dac_if[i] - DAC_BUFFER_SIZE;
 
-      (void)dac_buffer;
-      (void)dac_buffer_square;
-      (void)dac_buffer_triangle;
-
-      #define DAC_MORPH_SPEED 3000
-      #define DAC_SAMPLE_CUSTOM_LENGTH 64
-      #define DAC_MORPH_SPEED_COMPUTED (DAC_SAMPLE_RATE / DAC_SAMPLE_CUSTOM_LENGTH * DAC_MORPH_SPEED / 1000)
-
-      uint16_t dac_i = (uint16_t)dac_if[i];
       // Wavetable generation/lookup
+      uint16_t dac_i = (uint16_t)dac_if[i];
       // SINE
-      // sample_sum += dac_buffer[dac_i] / working_voices / 3;
+      value_avg += dac_buffer_sine[dac_i] / working_voices / 3;
       // TRIANGLE
-      // sample_sum += dac_buffer_triangle[dac_i] / working_voices / 3;
-      // RISING TRIANGLE
-      // sample_sum += (uint16_t)round((dac_if[i] * DAC_SAMPLE_MAX) / DAC_BUFFER_SIZE / working_voices );
+      value_avg += dac_buffer_triangle[dac_i] / working_voices / 3;
       // SQUARE
-      // sample_sum += ((dac_if[i] > (DAC_BUFFER_SIZE / 2)) ? DAC_SAMPLE_MAX / working_voices: 0);
-      // sample_sum += dac_buffer_square[dac_i] / working_voices / 3;
-      // sample_sum += dac_buffer_custom[dac_voice_flipped][dac_i] / working_voices / 2 * ((dac_voice >= 63) ? 6400 - dac_voice_counter : dac_voice_counter) / 6400;
-      // sample_sum += dac_buffer_custom[dac_voice_flipped + 1][dac_i] / working_voices / 2 * ((dac_voice >= 63) ? dac_voice_counter : 6400 - dac_voice_counter) / 6400;
-      sample_sum += dac_buffer_custom[dac_voice][dac_i] / working_voices / 2 * (DAC_MORPH_SPEED_COMPUTED - dac_voice_counter) / DAC_MORPH_SPEED_COMPUTED;
-      sample_sum += dac_buffer_custom[dac_voice + 1][dac_i] / working_voices / 2 * dac_voice_counter / DAC_MORPH_SPEED_COMPUTED;
-    }
-    sample = sample_sum;
-    dac_voice_counter++;
-    if (dac_voice_counter >= DAC_MORPH_SPEED_COMPUTED) {
-      dac_voice_counter = 0;
-      // dac_voice = (dac_voice + 1) % 125;
-      // dac_voice_flipped = ((dac_voice >= 63) ? (125 - dac_voice) : dac_voice);
-      dac_voice = (dac_voice + 1) % (DAC_SAMPLE_CUSTOM_LENGTH - 1);
+      value_avg += dac_buffer_square[dac_i] / working_voices / 3;
     }
+    value = value_avg;
   }
-  return sample;
+  return value;
 }
 
 /**
@@ -282,7 +186,7 @@ static void dac_end(DACDriver * dacp, dacsample_t * sample_p, size_t sample_coun
   (void)dacp;
 
   for (uint8_t s = 0; s < sample_count; s++) {
-    sample_p[s] = generate_sample();
+    sample_p[s] = dac_value_generate();
   }
 
   if (playing_notes) {
@@ -402,15 +306,13 @@ void stop_all_notes() {
     if (!audio_initialized) {
         audio_init();
     }
-    voices = 0;
+    dac_voices = 0;
 
     playing_notes = false;
     playing_note = false;
 
-    for (uint8_t i = 0; i < 8; i++)
-    {
-        frequencies[i] = 0;
-        volumes[i] = 0;
+    for (uint8_t i = 0; i < 8; i++) {
+        dac_frequencies[i] = 0;
     }
 }
 
@@ -422,23 +324,20 @@ void stop_note(float freq) {
       audio_init();
     }
     for (int i = 7; i >= 0; i--) {
-      if (frequencies[i] == freq) {
-        frequencies[i] = 0;
-        volumes[i] = 0;
+      if (dac_frequencies[i] == freq) {
+        dac_frequencies[i] = 0;
         for (int j = i; (j < 7); j++) {
-          frequencies[j] = frequencies[j+1];
-          frequencies[j+1] = 0;
-          volumes[j] = volumes[j+1];
-          volumes[j+1] = 0;
+          dac_frequencies[j] = dac_frequencies[j+1];
+          dac_frequencies[j+1] = 0;
         }
         break;
       }
     }
-    voices--;
-    if (voices < 0) {
-      voices = 0;
+    dac_voices--;
+    if (dac_voices < 0) {
+      dac_voices = 0;
     }
-    if (voices == 0) {
+    if (dac_voices == 0) {
       playing_note = false;
     }
   }
@@ -472,25 +371,19 @@ void play_note(float freq, int vol) {
       audio_init();
   }
 
-  if (audio_config.enable && voices < 8) {
-
-     // Cancel notes if notes are playing
-    // if (playing_notes) {
-    //   stop_all_notes();
-    // }
-
+  if (audio_config.enable && dac_voices < 8) {
     playing_note = true;
-
     if (freq > 0) {
       envelope_index = 0;
-      frequencies[voices] = freq;
-      dac_if[voices] = 0.0f;
-      volumes[voices] = vol;
-      voices++;
+      dac_frequencies[dac_voices] = freq;
+      dac_voices++;
     }
-
   }
+}
 
+__attribute__ ((weak))
+void dac_setup_note(void) {
+  dac_if[dac_voices] = 0.0f;
 }
 
 void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat) {
@@ -517,6 +410,10 @@ void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat) {
   }
 }
 
+bool is_playing_note(void) {
+  return playing_note;
+}
+
 bool is_playing_notes(void) {
   return playing_notes;
 }
@@ -624,3 +521,11 @@ void increase_tempo(uint8_t tempo_change) {
     note_tempo -= tempo_change;
   }
 }
+
+uint8_t dac_number_of_voices(void) {
+  return dac_voices;
+}
+
+float dac_get_frequency(uint8_t index) {
+  return dac_frequencies[index];
+}

+ 89 - 0
quantum/audio/audio_arm.h

@@ -0,0 +1,89 @@
+/* Copyright 2019 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "ch.h"
+
+/**
+ * Size of the dac_buffer arrays. All must be the same size.
+ */
+#define DAC_BUFFER_SIZE 256U
+
+/**
+ * Highest value allowed by our 12bit DAC.
+ */
+#ifndef DAC_SAMPLE_MAX
+  #define DAC_SAMPLE_MAX  4095U
+#endif
+
+// #define DAC_LOW_QUALITY
+
+/**
+ * These presets allow you to quickly switch between quality/voice settings for
+ * the DAC. The sample rate and number of voices roughly has an inverse
+ * relationship - slightly higher sample rates may be possible.
+ */
+#ifdef DAC_VERY_LOW_QUALITY
+  #define DAC_SAMPLE_RATE 11025U
+  #define DAC_VOICES_MAX 8
+#endif
+
+#ifdef DAC_LOW_QUALITY
+  #define DAC_SAMPLE_RATE 22050U
+  #define DAC_VOICES_MAX 4
+#endif
+
+#ifdef DAC_HIGH_QUALITY
+  #define DAC_SAMPLE_RATE 44100U
+  #define DAC_VOICES_MAX 2
+#endif
+
+#ifdef DAC_VERY_HIGH_QUALITY
+  #define DAC_SAMPLE_RATE 88200U
+  #define DAC_VOICES_MAX 1
+#endif
+
+/**
+ * Effective bitrate of the DAC. 44.1khz is the standard for most audio - any
+ * lower will sacrifice perceptible audio quality. Any higher will limit the
+ * number of simultaneous voices. In most situations, a tenth (1/10) of the
+ * sample rate is where notes become unbearable.
+ */
+#ifndef DAC_SAMPLE_RATE
+  #define DAC_SAMPLE_RATE 44100U
+#endif
+
+/**
+ * The number of voices (in polyphony) that are supported. If too high a value
+ * is used here, the keyboard will freeze and glitch-out when that many voices
+ * are being played.
+ */
+#ifndef DAC_VOICES_MAX
+  #define DAC_VOICES_MAX 2
+#endif
+
+/**
+ * The default value of the DAC when not playing anything. Certain hardware
+ * setups may require a high (DAC_SAMPLE_MAX) or low (0) value here.
+ */
+#ifndef DAC_OFF_VALUE
+  #define DAC_OFF_VALUE DAC_SAMPLE_MAX / 2
+#endif
+
+uint8_t dac_number_of_voices(void);
+float dac_get_frequency(uint8_t index);
+uint16_t dac_value_generate(void);
+void dac_setup_note(void);

+ 0 - 2178
quantum/audio/wavetable.h

@@ -1,2178 +0,0 @@
-static const dacsample_t dac_buffer_custom[64][256] = {
-  {
-    2049, 2042, 2026, 2000, 1968, 1937, 1912, 1898, 
-    1896, 1904, 1918, 1932, 1939, 1937, 1926, 1918, 
-    1929, 1982, 2094, 2262, 2464, 2655, 2792, 2845, 
-    2817, 2742, 2666, 2628, 2638, 2677, 2716, 2735, 
-    2742, 2767, 2843, 2982, 3162, 3332, 3439, 3457, 
-    3398, 3308, 3238, 3220, 3250, 3298, 3328, 3322, 
-    3286, 3247, 3227, 3235, 3258, 3273, 3270, 3260, 
-    3271, 3333, 3455, 3619, 3781, 3894, 3932, 3899, 
-    3828, 3761, 3728, 3735, 3764, 3789, 3792, 3771, 
-    3740, 3715, 3707, 3712, 3720, 3721, 3711, 3696, 
-    3682, 3674, 3671, 3669, 3664, 3656, 3648, 3642, 
-    3638, 3632, 3622, 3611, 3603, 3598, 3587, 3552, 
-    3474, 3345, 3181, 3017, 2893, 2838, 2853, 2910, 
-    2969, 2996, 2980, 2939, 2899, 2885, 2898, 2923, 
-    2938, 2931, 2907, 2883, 2874, 2877, 2870, 2820, 
-    2708, 2539, 2351, 2193, 2107, 2103, 2158, 2226, 
-    2267, 2266, 2234, 2198, 2179, 2174, 2153, 2081, 
-    1936, 1733, 1519, 1352, 1276, 1295, 1376, 1464, 
-    1513, 1507, 1463, 1416, 1396, 1412, 1449, 1480, 
-    1488, 1472, 1450, 1438, 1440, 1437, 1400, 1304, 
-    1150, 969, 810, 716, 705, 761, 842, 903, 
-    918, 892, 850, 824, 830, 862, 897, 915, 
-    908, 888, 875, 877, 886, 873, 811, 689, 
-    527, 367, 255, 219, 253, 323, 388, 419, 
-    411, 382, 358, 357, 377, 406, 427, 433, 
-    428, 421, 423, 434, 449, 460, 466, 467, 
-    470, 477, 487, 495, 499, 501, 506, 515, 
-    528, 538, 544, 554, 587, 663, 790, 954, 
-    1120, 1245, 1300, 1284, 1225, 1165, 1139, 1156, 
-    1198, 1237, 1250, 1235, 1209, 1196, 1206, 1232, 
-    1255, 1261, 1253, 1260, 1314, 1435, 1610, 1799, 
-    1948, 2025, 2028, 1994, 1970, 1988, 2051, 2131
-  },
-  {
-    2197, 2242, 2285, 2368, 2517, 2725, 2942, 3103, 
-    3165, 3132, 3060, 3018, 3057, 3172, 3313, 3415, 
-    3440, 3401, 3350, 3347, 3419, 3545, 3669, 3737, 
-    3733, 3685, 3648, 3670, 3760, 3885, 3992, 4038, 
-    4015, 3948, 3881, 3848, 3855, 3884, 3909, 3910, 
-    3888, 3856, 3832, 3826, 3832, 3840, 3840, 3829, 
-    3811, 3795, 3787, 3785, 3786, 3782, 3774, 3762, 
-    3751, 3744, 3740, 3736, 3730, 3723, 3714, 3706, 
-    3700, 3695, 3690, 3683, 3674, 3666, 3660, 3655, 
-    3651, 3646, 3638, 3629, 3621, 3614, 3610, 3607, 
-    3603, 3597, 3588, 3578, 3569, 3565, 3564, 3564, 
-    3561, 3552, 3539, 3526, 3518, 3517, 3516, 3505, 
-    3468, 3397, 3299, 3193, 3106, 3059, 3051, 3062, 
-    3059, 3014, 2921, 2805, 2703, 2649, 2647, 2671, 
-    2677, 2630, 2528, 2403, 2303, 2259, 2261, 2262, 
-    2202, 2047, 1814, 1566, 1384, 1315, 1352, 1432, 
-    1476, 1432, 1305, 1149, 1034, 1003, 1044, 1102, 
-    1113, 1045, 918, 786, 706, 702, 748, 790, 
-    775, 690, 564, 451, 396, 407, 452, 480, 
-    449, 357, 236, 136, 95, 119, 181, 243, 
-    274, 268, 241, 219, 218, 240, 270, 292, 
-    298, 291, 284, 285, 298, 316, 330, 337, 
-    337, 337, 341, 351, 364, 374, 379, 382, 
-    385, 391, 401, 411, 419, 423, 426, 431, 
-    438, 447, 457, 464, 468, 471, 475, 482, 
-    492, 501, 508, 512, 514, 517, 523, 533, 
-    543, 552, 558, 559, 559, 563, 571, 584, 
-    596, 604, 605, 606, 618, 655, 725, 821, 
-    923, 1006, 1051, 1059, 1049, 1055, 1101, 1194, 
-    1310, 1413, 1470, 1475, 1452, 1442, 1482, 1579, 
-    1706, 1814, 1867, 1859, 1823, 1814, 1871, 1998, 
-    2151, 2269, 2307, 2268, 2209, 2214, 2346, 2613
-  },
-  {
-    2954, 3272, 3477, 3536, 3486, 3414, 3407, 3507, 
-    3694, 3896, 4036, 4070, 4012, 3914, 3838, 3822, 
-    3860, 3917, 3953, 3946, 3905, 3855, 3825, 3823, 
-    3842, 3863, 3866, 3844, 3799, 3737, 3663, 3584, 
-    3505, 3439, 3394, 3380, 3392, 3419, 3442, 3447, 
-    3432, 3404, 3381, 3378, 3407, 3465, 3544, 3626, 
-    3694, 3735, 3745, 3727, 3694, 3661, 3641, 3637, 
-    3645, 3655, 3658, 3650, 3633, 3615, 3603, 3599, 
-    3602, 3603, 3596, 3569, 3519, 3446, 3358, 3270, 
-    3197, 3155, 3147, 3166, 3195, 3217, 3219, 3201, 
-    3173, 3153, 3154, 3186, 3245, 3321, 3400, 3465, 
-    3508, 3523, 3513, 3487, 3457, 3432, 3421, 3423, 
-    3432, 3443, 3446, 3438, 3419, 3396, 3379, 3376, 
-    3385, 3390, 3367, 3288, 3144, 2953, 2761, 2617, 
-    2552, 2548, 2547, 2474, 2281, 1982, 1652, 1391, 
-    1268, 1285, 1366, 1408, 1334, 1139, 892, 693, 
-    610, 640, 711, 729, 635, 440, 217, 57, 
-    14, 81, 197, 290, 316, 277, 214, 172, 
-    175, 216, 266, 297, 300, 283, 267, 268, 
-    291, 335, 393, 463, 541, 621, 691, 737, 
-    752, 738, 709, 685, 680, 697, 727, 751, 
-    753, 723, 663, 584, 503, 436, 395, 385, 
-    401, 432, 464, 485, 491, 485, 476, 473, 
-    481, 498, 517, 530, 534, 530, 526, 530, 
-    555, 605, 679, 768, 857, 929, 970, 977, 
-    959, 930, 910, 907, 925, 952, 973, 972, 
-    943, 885, 809, 730, 663, 622, 610, 625, 
-    654, 684, 705, 710, 704, 691, 682, 682, 
-    693, 712, 732, 745, 745, 737, 734, 761, 
-    840, 980, 1164, 1353, 1498, 1566, 1565, 1542, 
-    1561, 1667, 1858, 2079, 2253, 2331, 2321, 2291, 
-    2331, 2495, 2766, 3057, 3264, 3323, 3248, 3121
-  },
-  {
-    3038, 3042, 3095, 3098, 2958, 2658, 2283, 1989, 
-    1928, 2164, 2642, 3206, 3675, 3927, 3947, 3818, 
-    3667, 3601, 3659, 3803, 3960, 4060, 4073, 4016, 
-    3937, 3879, 3865, 3886, 3919, 3936, 3925, 3884, 
-    3823, 3750, 3672, 3594, 3521, 3465, 3441, 3457, 
-    3513, 3599, 3692, 3772, 3823, 3841, 3830, 3804, 
-    3776, 3754, 3743, 3742, 3746, 3750, 3748, 3739, 
-    3724, 3708, 3697, 3694, 3695, 3695, 3681, 3645, 
-    3584, 3502, 3410, 3325, 3263, 3237, 3251, 3304, 
-    3383, 3472, 3554, 3613, 3642, 3642, 3620, 3591, 
-    3566, 3552, 3551, 3556, 3561, 3560, 3552, 3539, 
-    3526, 3518, 3515, 3516, 3515, 3503, 3474, 3423, 
-    3350, 3262, 3172, 3098, 3058, 3063, 3112, 3193, 
-    3285, 3367, 3425, 3456, 3463, 3455, 3439, 3418, 
-    3395, 3376, 3368, 3374, 3386, 3388, 3358, 3283, 
-    3170, 3052, 2967, 2933, 2933, 2907, 2783, 2518, 
-    2133, 1714, 1373, 1196, 1187, 1266, 1305, 1206, 
-    948, 607, 309, 157, 177, 306, 431, 457, 
-    361, 194, 45, 0, 29, 131, 224, 259, 
-    231, 174, 133, 138, 189, 268, 352, 429, 
-    498, 560, 611, 643, 649, 631, 604, 587, 
-    591, 615, 644, 658, 643, 594, 521, 439, 
-    364, 311, 286, 291, 319, 355, 386, 400, 
-    396, 381, 373, 385, 426, 496, 584, 674, 
-    754, 810, 833, 821, 773, 698, 610, 526, 
-    464, 434, 434, 458, 489, 516, 530, 530, 
-    522, 516, 522, 549, 601, 677, 765, 854, 
-    925, 968, 977, 960, 931, 908, 904, 920, 
-    947, 970, 971, 940, 879, 798, 715, 646, 
-    603, 591, 604, 634, 669, 695, 706, 700, 
-    684, 673, 684, 731, 814, 918, 1016, 1084, 
-    1116, 1130, 1164, 1259, 1437, 1685, 1957, 2191
-  },
-  {
-    2338, 2382, 2344, 2274, 2227, 2251, 2371, 2590, 
-    2891, 3235, 3569, 3835, 3987, 4009, 3927, 3802, 
-    3703, 3678, 3728, 3814, 3879, 3879, 3808, 3693, 
-    3578, 3493, 3448, 3430, 3425, 3428, 3446, 3491, 
-    3564, 3648, 3720, 3758, 3755, 3723, 3684, 3656, 
-    3647, 3652, 3662, 3665, 3653, 3624, 3577, 3511, 
-    3433, 3352, 3284, 3242, 3236, 3268, 3329, 3407, 
-    3484, 3547, 3587, 3600, 3590, 3566, 3538, 3517, 
-    3510, 3513, 3523, 3529, 3526, 3515, 3498, 3483, 
-    3474, 3473, 3474, 3471, 3453, 3414, 3354, 3278, 
-    3195, 3122, 3072, 3058, 3082, 3140, 3218, 3299, 
-    3366, 3410, 3428, 3422, 3401, 3377, 3357, 3346, 
-    3345, 3350, 3353, 3346, 3320, 3270, 3198, 3112, 
-    3028, 2965, 2938, 2954, 3006, 3080, 3157, 3220, 
-    3266, 3295, 3310, 3313, 3301, 3273, 3237, 3210, 
-    3208, 3229, 3244, 3195, 3023, 2704, 2272, 1820, 
-    1460, 1269, 1246, 1306, 1323, 1198, 911, 538, 
-    208, 32, 47, 198, 376, 480, 468, 372, 
-    267, 222, 262, 365, 480, 569, 621, 651, 
-    678, 707, 725, 709, 650, 560, 467, 400, 
-    376, 388, 420, 451, 471, 476, 474, 470, 
-    471, 481, 505, 550, 614, 694, 776, 843, 
-    883, 886, 853, 794, 719, 643, 579, 538, 
-    523, 533, 560, 589, 611, 619, 614, 606, 
-    602, 607, 620, 637, 649, 653, 651, 648, 
-    652, 672, 711, 770, 844, 924, 996, 1046, 
-    1062, 1039, 982, 903, 820, 751, 707, 692, 
-    699, 720, 743, 761, 770, 771, 767, 766, 
-    774, 799, 847, 917, 1002, 1086, 1150, 1178, 
-    1162, 1109, 1034, 957, 894, 850, 822, 806, 
-    802, 813, 840, 877, 907, 911, 888, 866, 
-    895, 1028, 1283, 1627, 1976, 2241, 2369, 2382
-  },
-  {
-    2363, 2408, 2558, 2765, 2917, 2902, 2690, 2372, 
-    2124, 2121, 2436, 2993, 3598, 4042, 4095, 4086, 
-    3841, 3629, 3562, 3642, 3788, 3895, 3898, 3807, 
-    3677, 3569, 3511, 3487, 3465, 3424, 3375, 3348, 
-    3372, 3450, 3557, 3656, 3715, 3727, 3704, 3670, 
-    3643, 3631, 3630, 3632, 3633, 3629, 3622, 3613, 
-    3603, 3594, 3586, 3582, 3579, 3577, 3572, 3563, 
-    3553, 3544, 3538, 3535, 3533, 3529, 3522, 3513, 
-    3504, 3498, 3494, 3491, 3487, 3481, 3473, 3465, 
-    3459, 3454, 3450, 3445, 3438, 3431, 3425, 3421, 
-    3419, 3417, 3414, 3408, 3400, 3391, 3384, 3378, 
-    3374, 3370, 3364, 3357, 3351, 3346, 3344, 3342, 
-    3338, 3332, 3325, 3318, 3310, 3298, 3274, 3229, 
-    3160, 3074, 2987, 2923, 2899, 2922, 2984, 3065, 
-    3144, 3206, 3246, 3271, 3285, 3288, 3276, 3248, 
-    3212, 3185, 3185, 3206, 3216, 3155, 2965, 2626, 
-    2179, 1723, 1373, 1201, 1196, 1265, 1274, 1127, 
-    814, 419, 81, 0, 0, 118, 312, 423, 
-    411, 312, 205, 162, 207, 315, 435, 526, 
-    577, 605, 627, 650, 660, 639, 578, 490, 
-    400, 336, 313, 330, 377, 441, 515, 594, 
-    670, 734, 775, 787, 775, 752, 734, 731, 
-    745, 767, 785, 788, 767, 723, 658, 584, 
-    515, 465, 447, 468, 524, 604, 694, 777, 
-    845, 888, 903, 889, 846, 781, 703, 627, 
-    569, 539, 543, 579, 641, 719, 801, 877, 
-    937, 973, 983, 972, 951, 933, 929, 941, 
-    964, 985, 990, 969, 920, 851, 775, 708, 
-    662, 646, 664, 712, 784, 869, 955, 1028, 
-    1078, 1094, 1076, 1027, 958, 883, 815, 764, 
-    734, 724, 733, 753, 780, 806, 820, 818, 
-    808, 811, 864, 1005, 1251, 1578, 1925, 2205
-  },
-  {
-    2350, 2341, 2231, 2126, 2144, 2357, 2755, 3249, 
-    3705, 4005, 4095, 4006, 3821, 3638, 3522, 3484, 
-    3492, 3503, 3495, 3473, 3467, 3501, 3579, 3679, 
-    3764, 3807, 3799, 3759, 3711, 3681, 3675, 3687, 
-    3702, 3706, 3693, 3660, 3608, 3542, 3465, 3387, 
-    3320, 3279, 3274, 3306, 3368, 3445, 3522, 3584, 
-    3623, 3635, 3617, 3572, 3503, 3419, 3333, 3259, 
-    3209, 3191, 3205, 3247, 3310, 3383, 3455, 3513, 
-    3549, 3553, 3523, 3465, 3386, 3300, 3219, 3156, 
-    3119, 3112, 3136, 3188, 3260, 3338, 3408, 3458, 
-    3477, 3464, 3420, 3355, 3277, 3196, 3123, 3067, 
-    3037, 3039, 3074, 3138, 3217, 3295, 3357, 3393, 
-    3401, 3388, 3365, 3342, 3327, 3322, 3325, 3331, 
-    3333, 3321, 3288, 3228, 3145, 3051, 2969, 2922, 
-    2922, 2964, 3029, 3097, 3154, 3201, 3246, 3283, 
-    3285, 3203, 2992, 2639, 2193, 1751, 1421, 1267, 
-    1272, 1339, 1339, 1181, 862, 470, 143, 0, 
-    42, 239, 470, 635, 693, 670, 625, 608, 
-    627, 650, 637, 567, 460, 359, 305, 313, 
-    364, 422, 458, 460, 440, 418, 412, 429, 
-    468, 522, 588, 662, 738, 803, 843, 849, 
-    817, 756, 680, 605, 544, 504, 490, 506, 
-    551, 621, 705, 790, 862, 910, 928, 915, 
-    876, 816, 743, 670, 608, 570, 566, 597, 
-    659, 739, 824, 901, 960, 995, 1002, 980, 
-    930, 860, 782, 709, 657, 636, 650, 695, 
-    762, 841, 922, 994, 1049, 1078, 1077, 1043, 
-    980, 903, 825, 763, 726, 717, 729, 752, 
-    775, 792, 800, 801, 798, 797, 806, 836, 
-    892, 973, 1066, 1151, 1201, 1204, 1162, 1093, 
-    1021, 963, 919, 881, 847, 836, 890, 1051, 
-    1331, 1689, 2038, 2285, 2385, 2370, 2347, 2432
-  },
-  {
-    2682, 3039, 3350, 3441, 3219, 2740, 2199, 1842, 
-    1851, 2249, 2895, 3553, 4010, 4095, 4059, 3829, 
-    3618, 3508, 3495, 3521, 3522, 3478, 3413, 3377, 
-    3403, 3492, 3608, 3706, 3756, 3755, 3721, 3682, 
-    3656, 3650, 3656, 3663, 3663, 3654, 3641, 3628, 
-    3620, 3615, 3613, 3610, 3605, 3597, 3588, 3579, 
-    3573, 3569, 3565, 3560, 3553, 3545, 3538, 3532, 
-    3527, 3523, 3517, 3510, 3503, 3496, 3491, 3487, 
-    3482, 3476, 3469, 3462, 3456, 3451, 3447, 3442, 
-    3436, 3429, 3422, 3416, 3412, 3408, 3404, 3398, 
-    3391, 3384, 3378, 3374, 3371, 3367, 3361, 3354, 
-    3348, 3342, 3337, 3334, 3331, 3327, 3322, 3316, 
-    3309, 3303, 3297, 3293, 3290, 3287, 3282, 3276, 
-    3268, 3259, 3252, 3248, 3243, 3229, 3195, 3134, 
-    3050, 2957, 2882, 2845, 2858, 2910, 2980, 3048, 
-    3102, 3146, 3186, 3213, 3192, 3073, 2818, 2434, 
-    1986, 1576, 1304, 1210, 1248, 1306, 1262, 1050, 
-    700, 323, 52, 0, 87, 307, 519, 642, 
-    659, 616, 576, 577, 609, 631, 601, 514, 
-    400, 309, 277, 306, 367, 421, 441, 428, 
-    402, 387, 394, 418, 442, 456, 456, 450, 
-    448, 455, 467, 480, 488, 492, 495, 499, 
-    505, 514, 524, 540, 571, 623, 697, 782, 
-    861, 914, 927, 900, 840, 764, 689, 627, 
-    585, 566, 572, 606, 665, 743, 829, 909, 
-    967, 994, 988, 952, 893, 822, 750, 689, 
-    649, 635, 645, 671, 700, 720, 725, 719, 
-    710, 707, 713, 727, 741, 751, 754, 753, 
-    753, 756, 763, 772, 781, 787, 792, 794, 
-    797, 804, 823, 861, 923, 1004, 1090, 1160, 
-    1195, 1188, 1145, 1082, 1014, 951, 894, 847, 
-    823, 849, 959, 1168, 1461, 1788, 2078, 2271
-  },
-  {
-    2335, 2286, 2174, 2062, 1999, 2010, 2093, 2231, 
-    2399, 2570, 2719, 2822, 2868, 2862, 2828, 2803, 
-    2817, 2878, 2967, 3047, 3088, 3083, 3054, 3038, 
-    3065, 3136, 3225, 3294, 3317, 3297, 3266, 3260, 
-    3301, 3381, 3467, 3523, 3532, 3506, 3479, 3484, 
-    3535, 3617, 3697, 3742, 3743, 3715, 3692, 3703, 
-    3758, 3839, 3914, 3953, 3945, 3903, 3853, 3819, 
-    3813, 3828, 3846, 3852, 3840, 3818, 3796, 3785, 
-    3783, 3787, 3787, 3780, 3767, 3754, 3745, 3740, 
-    3737, 3733, 3725, 3716, 3709, 3704, 3699, 3692, 
-    3683, 3674, 3666, 3659, 3646, 3617, 3565, 3493, 
-    3415, 3350, 3313, 3307, 3313, 3308, 3270, 3198, 
-    3109, 3035, 2997, 2998, 3017, 3019, 2981, 2902, 
-    2807, 2732, 2700, 2711, 2734, 2734, 2687, 2599, 
-    2503, 2436, 2418, 2440, 2465, 2456, 2396, 2301, 
-    2209, 2155, 2147, 2159, 2144, 2065, 1915, 1730, 
-    1569, 1480, 1478, 1530, 1580, 1579, 1510, 1400, 
-    1297, 1244, 1251, 1292, 1320, 1300, 1227, 1131, 
-    1053, 1024, 1041, 1076, 1087, 1050, 971, 881, 
-    817, 800, 823, 851, 851, 805, 724, 641, 
-    590, 584, 611, 638, 633, 582, 500, 421, 
-    376, 375, 403, 427, 417, 364, 284, 209, 
-    170, 178, 220, 270, 302, 305, 288, 268, 
-    263, 278, 304, 328, 339, 337, 330, 328, 
-    336, 350, 365, 375, 378, 378, 380, 388, 
-    398, 408, 415, 420, 426, 434, 442, 450, 
-    458, 470, 497, 546, 616, 694, 760, 799, 
-    808, 802, 805, 840, 909, 995, 1071, 1111, 
-    1112, 1095, 1093, 1129, 1206, 1300, 1376, 1409, 
-    1400, 1377, 1376, 1421, 1507, 1603, 1671, 1690, 
-    1669, 1641, 1646, 1704, 1801, 1899, 1958, 1963, 
-    1930, 1904, 1925, 2003, 2114, 2210, 2252, 2238
-  },
-  {
-    2210, 2227, 2327, 2496, 2663, 2738, 2661, 2443, 
-    2167, 1948, 1873, 1956, 2139, 2325, 2446, 2497, 
-    2534, 2626, 2806, 3041, 3250, 3359, 3346, 3262, 
-    3194, 3217, 3340, 3511, 3645, 3688, 3647, 3582, 
-    3570, 3650, 3800, 3955, 4045, 4040, 3962, 3866, 
-    3808, 3808, 3849, 3893, 3907, 3885, 3843, 3808, 
-    3797, 3806, 3821, 3827, 3817, 3796, 3776, 3765, 
-    3764, 3766, 3766, 3759, 3747, 3735, 3726, 3721, 
-    3717, 3713, 3706, 3698, 3691, 3683, 3677, 3671, 
-    3665, 3658, 3652, 3645, 3639, 3633, 3627, 3620, 
-    3613, 3606, 3600, 3595, 3589, 3583, 3578, 3573, 
-    3568, 3563, 3557, 3549, 3542, 3534, 3528, 3522, 
-    3517, 3512, 3506, 3500, 3495, 3491, 3487, 3482, 
-    3474, 3466, 3459, 3457, 3457, 3456, 3450, 3439, 
-    3424, 3414, 3411, 3410, 3396, 3351, 3264, 3143, 
-    3014, 2913, 2864, 2865, 2884, 2878, 2814, 2693, 
-    2553, 2443, 2397, 2401, 2404, 2339, 2170, 1917, 
-    1651, 1457, 1386, 1421, 1489, 1500, 1400, 1203, 
-    983, 827, 786, 841, 920, 944, 871, 723, 
-    566, 468, 459, 510, 557, 541, 442, 294, 
-    158, 87, 99, 169, 248, 295, 295, 264, 
-    232, 224, 242, 275, 303, 313, 308, 298, 
-    296, 306, 323, 340, 349, 351, 350, 352, 
-    360, 371, 382, 391, 397, 400, 405, 411, 
-    418, 425, 432, 438, 444, 451, 457, 464, 
-    471, 477, 483, 489, 495, 501, 507, 512, 
-    519, 525, 532, 539, 544, 548, 552, 557, 
-    563, 569, 576, 581, 586, 592, 598, 607, 
-    615, 621, 624, 627, 631, 638, 648, 656, 
-    661, 662, 662, 666, 676, 689, 700, 705, 
-    707, 721, 765, 851, 971, 1099, 1199, 1246, 
-    1243, 1223, 1230, 1295, 1415, 1553, 1658, 1699
-  },
-  {
-    1689, 1674, 1713, 1831, 2008, 2186, 2307, 2354, 
-    2366, 2413, 2553, 2787, 3055, 3268, 3362, 3339, 
-    3269, 3248, 3339, 3536, 3766, 3934, 3982, 3919, 
-    3812, 3743, 3762, 3858, 3977, 4056, 4057, 3988, 
-    3886, 3790, 3726, 3693, 3677, 3664, 3647, 3622, 
-    3589, 3544, 3488, 3429, 3379, 3347, 3328, 3296, 
-    3222, 3087, 2905, 2720, 2585, 2532, 2556, 2613, 
-    2648, 2624, 2543, 2441, 2364, 2340, 2361, 2390, 
-    2390, 2340, 2253, 2164, 2109, 2106, 2150, 2222, 
-    2297, 2359, 2401, 2425, 2435, 2438, 2442, 2458, 
-    2493, 2547, 2606, 2652, 2675, 2682, 2701, 2766, 
-    2892, 3067, 3246, 3377, 3425, 3396, 3332, 3288, 
-    3301, 3371, 3465, 3536, 3557, 3535, 3501, 3493, 
-    3530, 3604, 3683, 3735, 3739, 3697, 3622, 3538, 
-    3461, 3402, 3368, 3355, 3347, 3320, 3246, 3112, 
-    2929, 2741, 2597, 2531, 2529, 2535, 2475, 2304, 
-    2036, 1743, 1522, 1433, 1465, 1541, 1560, 1458, 
-    1246, 1003, 827, 774, 824, 893, 889, 764, 
-    546, 321, 177, 156, 232, 331, 377, 335, 
-    228, 113, 50, 62, 138, 239, 328, 388, 
-    422, 441, 457, 475, 498, 528, 570, 626, 
-    686, 737, 769, 788, 818, 892, 1025, 1205, 
-    1389, 1523, 1576, 1553, 1496, 1461, 1484, 1565, 
-    1667, 1744, 1768, 1748, 1718, 1718, 1767, 1854, 
-    1943, 2000, 2004, 1960, 1888, 1813, 1751, 1708, 
-    1684, 1674, 1672, 1668, 1652, 1616, 1562, 1502, 
-    1455, 1432, 1425, 1407, 1344, 1218, 1045, 867, 
-    737, 689, 718, 782, 826, 813, 743, 649, 
-    578, 557, 580, 615, 623, 586, 512, 432, 
-    380, 376, 420, 495, 580, 657, 713, 744, 
-    754, 761, 791, 869, 1006, 1188, 1370, 1504, 
-    1562, 1559, 1545, 1582, 1704, 1894, 2093, 2237
-  },
-  {
-    2297, 2299, 2300, 2353, 2469, 2609, 2719, 2770, 
-    2787, 2834, 2970, 3202, 3474, 3694, 3792, 3766, 
-    3682, 3635, 3689, 3834, 4001, 4095, 4082, 3958, 
-    3794, 3666, 3617, 3639, 3684, 3701, 3661, 3565, 
-    3438, 3307, 3195, 3112, 3059, 3030, 3010, 2980, 
-    2918, 2814, 2680, 2550, 2465, 2458, 2536, 2675, 
-    2835, 2974, 3066, 3106, 3108, 3103, 3117, 3172, 
-    3269, 3394, 3516, 3604, 3639, 3624, 3589, 3569, 
-    3591, 3657, 3744, 3813, 3834, 3797, 3714, 3614, 
-    3526, 3468, 3440, 3433, 3426, 3400, 3338, 3236, 
-    3106, 2973, 2866, 2806, 2790, 2793, 2778, 2712, 
-    2591, 2440, 2307, 2237, 2253, 2350, 2496, 2651, 
-    2779, 2862, 2899, 2906, 2908, 2930, 2990, 3089, 
-    3212, 3329, 3411, 3440, 3425, 3392, 3374, 3396, 
-    3459, 3541, 3608, 3628, 3582, 3473, 3323, 3164, 
-    3033, 2955, 2930, 2924, 2879, 2737, 2473, 2116, 
-    1749, 1469, 1340, 1349, 1414, 1418, 1282, 1007, 
-    678, 415, 303, 347, 467, 548, 512, 354, 
-    144, 0, 0, 5, 152, 300, 396, 426, 
-    414, 400, 415, 477, 587, 736, 910, 1086, 
-    1235, 1332, 1365, 1346, 1310, 1298, 1336, 1420, 
-    1518, 1588, 1594, 1527, 1403, 1256, 1122, 1026, 
-    977, 965, 969, 960, 913, 821, 696, 571, 
-    480, 446, 463, 502, 524, 502, 435, 349, 
-    283, 267, 307, 388, 483, 567, 624, 653, 
-    663, 672, 698, 757, 854, 980, 1113, 1220, 
-    1280, 1295, 1290, 1305, 1373, 1496, 1648, 1780, 
-    1849, 1838, 1759, 1649, 1551, 1489, 1469, 1476, 
-    1484, 1464, 1396, 1273, 1107, 924, 761, 654, 
-    617, 639, 686, 716, 701, 638, 551, 477, 
-    452, 497, 606, 759, 920, 1052, 1130, 1150, 
-    1144, 1164, 1267, 1476, 1765, 2058, 2267, 2348
-  },
-  {
-    2328, 2304, 2384, 2619, 2955, 3257, 3386, 3286, 
-    3033, 2803, 2776, 3028, 3487, 3962, 4095, 4095, 
-    4050, 3758, 3564, 3553, 3694, 3870, 3960, 3910, 
-    3755, 3578, 3457, 3417, 3432, 3452, 3444, 3411, 
-    3377, 3367, 3383, 3408, 3417, 3403, 3381, 3377, 
-    3411, 3482, 3570, 3648, 3694, 3702, 3681, 3648, 
-    3617, 3598, 3593, 3599, 3608, 3610, 3595, 3554, 
-    3487, 3402, 3316, 3245, 3202, 3189, 3200, 3220, 
-    3236, 3240, 3231, 3216, 3201, 3191, 3189, 3191, 
-    3194, 3193, 3187, 3177, 3168, 3168, 3184, 3222, 
-    3281, 3352, 3422, 3475, 3499, 3492, 3463, 3427, 
-    3401, 3393, 3402, 3416, 3422, 3407, 3365, 3299, 
-    3218, 3135, 3064, 3016, 2997, 3004, 3027, 3052, 
-    3062, 3053, 3029, 3005, 2997, 3017, 3065, 3132, 
-    3201, 3261, 3305, 3333, 3344, 3338, 3313, 3276, 
-    3241, 3225, 3238, 3263, 3253, 3148, 2900, 2514, 
-    2054, 1630, 1345, 1242, 1279, 1341, 1301, 1089, 
-    733, 344, 58, 0, 60, 254, 427, 494, 
-    443, 331, 242, 232, 305, 423, 535, 610, 
-    649, 672, 697, 726, 746, 747, 728, 705, 
-    697, 712, 741, 760, 749, 700, 624, 541, 
-    473, 434, 425, 438, 465, 493, 515, 525, 
-    522, 512, 507, 520, 560, 628, 714, 801, 
-    871, 913, 925, 914, 895, 880, 876, 884, 
-    900, 917, 928, 931, 929, 924, 923, 929, 
-    939, 950, 952, 937, 898, 836, 761, 689, 
-    637, 616, 627, 658, 694, 718, 723, 713, 
-    700, 697, 714, 756, 820, 898, 978, 1049, 
-    1098, 1119, 1112, 1088, 1062, 1050, 1060, 1086, 
-    1111, 1119, 1096, 1046, 980, 913, 857, 814, 
-    784, 767, 769, 795, 838, 882, 900, 882, 
-    842, 831, 911, 1122, 1448, 1816, 2124, 2300
-  },
-  {
-    2343, 2331, 2375, 2550, 2838, 3132, 3300, 3265, 
-    3067, 2849, 2778, 2949, 3319, 3735, 4012, 4044, 
-    3851, 3564, 3339, 3265, 3330, 3440, 3497, 3459, 
-    3358, 3270, 3249, 3300, 3374, 3415, 3400, 3358, 
-    3347, 3414, 3564, 3754, 3917, 4002, 3991, 3901, 
-    3767, 3620, 3478, 3351, 3247, 3177, 3155, 3185, 
-    3256, 3347, 3432, 3492, 3522, 3525, 3513, 3495, 
-    3477, 3463, 3454, 3452, 3453, 3453, 3444, 3417, 
-    3369, 3300, 3220, 3143, 3087, 3063, 3076, 3122, 
-    3190, 3265, 3332, 3381, 3406, 3409, 3395, 3371, 
-    3348, 3333, 3329, 3333, 3340, 3338, 3319, 3277, 
-    3213, 3135, 3057, 2992, 2956, 2959, 3007, 3100, 
-    3226, 3368, 3501, 3600, 3645, 3625, 3542, 3409, 
-    3248, 3089, 2956, 2871, 2840, 2855, 2895, 2934, 
-    2950, 2938, 2906, 2878, 2874, 2907, 2977, 3075, 
-    3188, 3310, 3430, 3524, 3552, 3460, 3210, 2805, 
-    2308, 1825, 1463, 1282, 1259, 1294, 1265, 1088, 
-    764, 384, 74, 0, 0, 189, 416, 586, 
-    664, 673, 664, 680, 724, 772, 791, 771, 
-    730, 701, 705, 737, 770, 771, 723, 637, 
-    542, 471, 444, 460, 507, 569, 636, 705, 
-    772, 833, 875, 889, 868, 815, 742, 667, 
-    604, 563, 549, 557, 579, 604, 624, 633, 
-    632, 626, 624, 635, 665, 717, 786, 864, 
-    939, 994, 1019, 1007, 962, 894, 819, 752, 
-    703, 678, 675, 688, 711, 733, 750, 755, 
-    752, 745, 745, 763, 804, 870, 949, 1029, 
-    1092, 1126, 1126, 1094, 1037, 968, 898, 838, 
-    797, 781, 794, 834, 898, 978, 1059, 1129, 
-    1176, 1195, 1188, 1167, 1148, 1142, 1153, 1173, 
-    1190, 1187, 1158, 1098, 1011, 900, 773, 645, 
-    545, 516, 602, 827, 1171, 1572, 1939, 2200
-  },
-  {
-    2330, 2368, 2395, 2482, 2654, 2871, 3061, 3168, 
-    3195, 3203, 3274, 3450, 3697, 3921, 4016, 3933, 
-    3705, 3437, 3239, 3174, 3225, 3322, 3394, 3410, 
-    3392, 3389, 3434, 3522, 3609, 3647, 3613, 3520, 
-    3407, 3314, 3258, 3232, 3220, 3209, 3200, 3197, 
-    3203, 3214, 3218, 3210, 3192, 3180, 3189, 3228, 
-    3291, 3363, 3428, 3470, 3483, 3465, 3420, 3354, 
-    3275, 3196, 3129, 3086, 3072, 3087, 3127, 3184, 
-    3249, 3313, 3366, 3397, 3401, 3375, 3320, 3247, 
-    3167, 3094, 3037, 3005, 3002, 3025, 3072, 3134, 
-    3201, 3263, 3309, 3331, 3323, 3286, 3223, 3146, 
-    3067, 3000, 2954, 2932, 2931, 2944, 2961, 2971, 
-    2970, 2959, 2942, 2930, 2933, 2957, 3005, 3068, 
-    3136, 3194, 3229, 3236, 3213, 3163, 3094, 3014, 
-    2934, 2869, 2834, 2839, 2887, 2970, 3078, 3196, 
-    3314, 3420, 3490, 3488, 3371, 3107, 2705, 2223, 
-    1763, 1428, 1276, 1287, 1362, 1376, 1240, 947, 
-    584, 278, 138, 191, 380, 600, 752, 801, 
-    771, 723, 707, 728, 756, 749, 687, 586, 
-    489, 438, 449, 512, 595, 674, 737, 786, 
-    829, 865, 889, 894, 880, 859, 846, 850, 
-    871, 895, 904, 888, 844, 782, 714, 655, 
-    615, 600, 615, 658, 724, 804, 883, 949, 
-    992, 1005, 989, 950, 894, 829, 766, 713, 
-    682, 678, 704, 758, 831, 911, 984, 1041, 
-    1072, 1076, 1052, 1006, 944, 878, 816, 769, 
-    747, 756, 794, 857, 933, 1011, 1078, 1124, 
-    1146, 1147, 1135, 1118, 1107, 1107, 1119, 1136, 
-    1149, 1147, 1122, 1074, 1010, 944, 889, 855, 
-    848, 869, 917, 986, 1069, 1152, 1218, 1250, 
-    1243, 1204, 1149, 1097, 1052, 1011, 964, 918, 
-    902, 961, 1132, 1411, 1743, 2041, 2229, 2291
-  },
-  {
-    2289, 2325, 2482, 2764, 3083, 3307, 3343, 3199, 
-    2995, 2894, 3008, 3325, 3710, 3985, 4029, 3848, 
-    3561, 3329, 3256, 3342, 3495, 3604, 3613, 3548, 
-    3488, 3506, 3613, 3758, 3862, 3870, 3782, 3646, 
-    3520, 3441, 3407, 3391, 3374, 3355, 3354, 3391, 
-    3469, 3567, 3655, 3703, 3707, 3678, 3639, 3610, 
-    3599, 3602, 3610, 3614, 3610, 3599, 3585, 3573, 
-    3565, 3562, 3562, 3560, 3555, 3546, 3535, 3526, 
-    3521, 3518, 3516, 3511, 3502, 3492, 3482, 3476, 
-    3473, 3472, 3470, 3467, 3462, 3457, 3451, 3445, 
-    3438, 3431, 3425, 3421, 3419, 3416, 3410, 3403, 
-    3394, 3386, 3382, 3378, 3367, 3338, 3285, 3208, 
-    3118, 3034, 2976, 2957, 2983, 3043, 3123, 3203, 
-    3270, 3317, 3341, 3342, 3318, 3268, 3191, 3097, 
-    3003, 2931, 2898, 2912, 2961, 3027, 3092, 3147, 
-    3197, 3244, 3278, 3261, 3143, 2884, 2489, 2023, 
-    1592, 1296, 1184, 1214, 1275, 1241, 1035, 678, 
-    280, 0, 0, 0, 198, 433, 582, 618, 
-    581, 535, 525, 550, 572, 550, 469, 354, 
-    252, 206, 229, 305, 401, 490, 560, 615, 
-    660, 694, 707, 687, 633, 553, 466, 395, 
-    352, 344, 370, 423, 497, 582, 666, 737, 
-    785, 806, 803, 787, 769, 760, 765, 781, 
-    800, 811, 804, 771, 714, 641, 565, 503, 
-    470, 473, 513, 582, 669, 758, 836, 894, 
-    925, 930, 917, 896, 881, 878, 891, 913, 
-    931, 933, 909, 858, 787, 709, 641, 596, 
-    584, 606, 661, 738, 827, 913, 983, 1027, 
-    1038, 1016, 966, 897, 822, 752, 699, 669, 
-    667, 697, 758, 842, 936, 1024, 1087, 1115, 
-    1105, 1066, 1011, 949, 886, 822, 764, 731, 
-    754, 864, 1076, 1377, 1716, 2026, 2244, 2338
-  },
-  {
-    2315, 2218, 2102, 2015, 1981, 2000, 2055, 2126, 
-    2191, 2237, 2263, 2279, 2306, 2372, 2494, 2668, 
-    2861, 3024, 3116, 3127, 3086, 3052, 3076, 3177, 
-    3323, 3457, 3527, 3522, 3477, 3452, 3497, 3616, 
-    3767, 3888, 3934, 3903, 3838, 3796, 3814, 3893, 
-    3993, 4065, 4079, 4038, 3974, 3924, 3909, 3927, 
-    3954, 3967, 3956, 3929, 3900, 3884, 3884, 3892, 
-    3896, 3890, 3875, 3858, 3845, 3840, 3839, 3838, 
-    3832, 3822, 3811, 3801, 3795, 3790, 3786, 3779, 
-    3771, 3762, 3755, 3748, 3743, 3737, 3730, 3722, 
-    3714, 3708, 3702, 3697, 3691, 3684, 3676, 3667, 
-    3661, 3655, 3651, 3647, 3641, 3632, 3622, 3614, 
-    3608, 3605, 3604, 3600, 3592, 3580, 3568, 3560, 
-    3557, 3555, 3542, 3508, 3449, 3372, 3298, 3246, 
-    3226, 3226, 3221, 3179, 3085, 2954, 2820, 2726, 
-    2693, 2708, 2728, 2705, 2614, 2473, 2329, 2234, 
-    2209, 2227, 2228, 2154, 1985, 1757, 1543, 1414, 
-    1396, 1455, 1514, 1504, 1398, 1229, 1070, 984, 
-    989, 1046, 1085, 1050, 930, 769, 634, 577, 
-    599, 653, 674, 618, 489, 336, 222, 186, 
-    223, 287, 324, 299, 218, 122, 56, 46, 
-    88, 149, 196, 208, 191, 165, 154, 166, 
-    193, 221, 235, 234, 225, 221, 228, 245, 
-    262, 274, 277, 277, 278, 285, 297, 309, 
-    318, 323, 325, 329, 336, 346, 356, 364, 
-    368, 372, 377, 385, 394, 403, 410, 414, 
-    418, 423, 430, 440, 449, 456, 460, 463, 
-    467, 473, 482, 493, 502, 507, 509, 510, 
-    514, 523, 535, 547, 554, 556, 558, 572, 
-    607, 666, 740, 812, 862, 883, 884, 892, 
-    934, 1023, 1149, 1279, 1375, 1413, 1403, 1383, 
-    1399, 1480, 1617, 1766, 1872, 1904, 1874, 1834
-  },
-  {
-    1847, 1946, 2110, 2270, 2343, 2282, 2105, 1895, 
-    1757, 1761, 1906, 2123, 2318, 2429, 2463, 2493, 
-    2607, 2851, 3191, 3530, 3760, 3823, 3743, 3615, 
-    3544, 3590, 3736, 3905, 4014, 4018, 3938, 3838, 
-    3780, 3791, 3849, 3907, 3925, 3894, 3838, 3793, 
-    3782, 3800, 3826, 3837, 3823, 3794, 3767, 3756, 
-    3759, 3768, 3770, 3761, 3745, 3729, 3720, 3718, 
-    3718, 3715, 3707, 3696, 3687, 3680, 3675, 3671, 
-    3665, 3657, 3650, 3643, 3637, 3632, 3626, 3619, 
-    3612, 3605, 3599, 3594, 3589, 3583, 3576, 3569, 
-    3562, 3556, 3551, 3546, 3540, 3534, 3527, 3520, 
-    3514, 3509, 3504, 3499, 3493, 3486, 3480, 3474, 
-    3468, 3463, 3457, 3452, 3446, 3441, 3436, 3431, 
-    3424, 3417, 3410, 3405, 3402, 3400, 3396, 3389, 
-    3378, 3368, 3362, 3363, 3366, 3366, 3358, 3341, 
-    3323, 3315, 3317, 3320, 3300, 3237, 3127, 2992, 
-    2871, 2799, 2781, 2779, 2724, 2557, 2266, 1904, 
-    1568, 1353, 1296, 1355, 1428, 1409, 1252, 992, 
-    726, 555, 522, 591, 668, 664, 544, 345, 
-    154, 50, 60, 151, 253, 304, 287, 228, 
-    174, 163, 196, 250, 289, 297, 279, 257, 
-    250, 265, 292, 316, 325, 322, 315, 315, 
-    325, 340, 355, 362, 364, 365, 370, 378, 
-    389, 398, 404, 408, 412, 419, 427, 436, 
-    442, 447, 452, 457, 465, 473, 481, 486, 
-    491, 495, 501, 508, 516, 524, 529, 534, 
-    538, 544, 551, 559, 566, 571, 576, 580, 
-    585, 592, 599, 606, 612, 616, 621, 626, 
-    633, 639, 645, 650, 655, 660, 667, 674, 
-    680, 683, 685, 690, 698, 708, 718, 722, 
-    720, 717, 719, 732, 750, 765, 768, 761, 
-    764, 803, 901, 1056, 1236, 1393, 1487, 1514
-  },
-  {
-    1508, 1526, 1615, 1783, 1994, 2195, 2351, 2472, 
-    2605, 2800, 3072, 3376, 3631, 3765, 3758, 3663, 
-    3574, 3572, 3684, 3864, 4025, 4089, 4023, 3859, 
-    3663, 3503, 3413, 3389, 3396, 3391, 3338, 3222, 
-    3047, 2837, 2628, 2462, 2368, 2347, 2371, 2386, 
-    2347, 2237, 2077, 1924, 1839, 1861, 1988, 2186, 
-    2402, 2587, 2710, 2768, 2782, 2789, 2830, 2935, 
-    3111, 3328, 3535, 3676, 3720, 3679, 3600, 3544, 
-    3553, 3629, 3735, 3817, 3835, 3782, 3682, 3575, 
-    3493, 3453, 3446, 3450, 3435, 3375, 3252, 3069, 
-    2850, 2639, 2479, 2399, 2389, 2404, 2383, 2282, 
-    2101, 1885, 1706, 1624, 1664, 1805, 1992, 2167, 
-    2287, 2342, 2351, 2348, 2371, 2448, 2592, 2788, 
-    3001, 3184, 3297, 3328, 3300, 3261, 3263, 3334, 
-    3461, 3600, 3697, 3712, 3636, 3494, 3329, 3185, 
-    3091, 3055, 3054, 3043, 2967, 2784, 2487, 2123, 
-    1774, 1530, 1433, 1456, 1505, 1473, 1295, 991, 
-    658, 413, 330, 397, 524, 601, 557, 400, 
-    204, 63, 39, 134, 299, 471, 600, 674, 
-    704, 718, 741, 797, 901, 1059, 1260, 1471, 
-    1647, 1751, 1773, 1744, 1721, 1756, 1869, 2034, 
-    2191, 2276, 2251, 2120, 1920, 1705, 1523, 1401, 
-    1342, 1326, 1319, 1279, 1176, 1004, 788, 582, 
-    441, 396, 437, 517, 574, 564, 488, 382, 
-    300, 282, 336, 436, 543, 623, 662, 667, 
-    663, 678, 739, 862, 1044, 1260, 1468, 1625, 
-    1704, 1715, 1702, 1724, 1825, 2006, 2221, 2400, 
-    2481, 2441, 2300, 2113, 1938, 1818, 1762, 1754, 
-    1757, 1735, 1657, 1514, 1319, 1108, 928, 816, 
-    785, 811, 848, 846, 778, 654, 518, 422, 
-    405, 476, 614, 779, 926, 1024, 1062, 1057, 
-    1052, 1103, 1251, 1502, 1808, 2089, 2270, 2327
-  },
-  {
-    2309, 2315, 2430, 2669, 2948, 3135, 3124, 2919, 
-    2647, 2496, 2610, 3003, 3537, 4001, 4095, 4095, 
-    3891, 3626, 3505, 3569, 3746, 3904, 3935, 3811, 
-    3583, 3336, 3136, 3005, 2925, 2876, 2851, 2864, 
-    2925, 3023, 3126, 3197, 3215, 3192, 3166, 3178, 
-    3249, 3372, 3515, 3640, 3718, 3737, 3703, 3629, 
-    3538, 3448, 3376, 3333, 3315, 3314, 3310, 3289, 
-    3242, 3173, 3098, 3035, 2996, 2986, 2998, 3019, 
-    3035, 3039, 3029, 3011, 2995, 2985, 2985, 2991, 
-    2996, 2997, 2990, 2978, 2968, 2968, 2986, 3024, 
-    3079, 3142, 3199, 3238, 3253, 3251, 3246, 3256, 
-    3293, 3354, 3425, 3481, 3496, 3459, 3369, 3241, 
-    3098, 2966, 2865, 2807, 2788, 2795, 2803, 2790, 
-    2743, 2665, 2578, 2516, 2512, 2582, 2724, 2910, 
-    3106, 3276, 3394, 3453, 3455, 3415, 3352, 3291, 
-    3256, 3259, 3296, 3332, 3312, 3177, 2895, 2486, 
-    2029, 1630, 1380, 1303, 1343, 1382, 1305, 1058, 
-    682, 292, 22, 0, 76, 304, 518, 636, 
-    642, 583, 529, 533, 607, 727, 857, 973, 
-    1069, 1147, 1204, 1228, 1207, 1139, 1044, 952, 
-    895, 881, 897, 910, 891, 821, 708, 575, 
-    455, 373, 347, 377, 450, 546, 639, 711, 
-    751, 764, 763, 769, 794, 844, 913, 986, 
-    1046, 1084, 1095, 1085, 1066, 1050, 1045, 1053, 
-    1070, 1086, 1097, 1098, 1092, 1086, 1085, 1091, 
-    1103, 1114, 1115, 1098, 1060, 1004, 940, 882, 
-    845, 831, 835, 840, 829, 792, 730, 660, 
-    607, 593, 631, 719, 845, 985, 1116, 1217, 
-    1277, 1295, 1288, 1278, 1290, 1339, 1418, 1505, 
-    1567, 1573, 1515, 1404, 1269, 1141, 1041, 978, 
-    944, 930, 926, 925, 918, 894, 844, 773, 
-    713, 716, 836, 1096, 1462, 1847, 2150, 2306
-  },
-  {
-    2325, 2301, 2351, 2549, 2871, 3195, 3368, 3298, 
-    3023, 2699, 2526, 2632, 3000, 3477, 3853, 3981, 
-    3846, 3562, 3294, 3164, 3186, 3284, 3355, 3338, 
-    3249, 3155, 3119, 3156, 3230, 3281, 3277, 3233, 
-    3203, 3238, 3356, 3524, 3685, 3786, 3805, 3754, 
-    3667, 3576, 3501, 3445, 3404, 3376, 3356, 3341, 
-    3323, 3291, 3239, 3170, 3099, 3044, 3022, 3038, 
-    3089, 3158, 3230, 3288, 3325, 3339, 3333, 3316, 
-    3296, 3280, 3272, 3270, 3272, 3274, 3273, 3267, 
-    3257, 3247, 3239, 3236, 3236, 3234, 3224, 3200, 
-    3157, 3097, 3027, 2959, 2908, 2884, 2894, 2936, 
-    2999, 3069, 3131, 3174, 3195, 3199, 3196, 3202, 
-    3226, 3271, 3333, 3395, 3438, 3445, 3403, 3313, 
-    3184, 3039, 2904, 2804, 2754, 2752, 2784, 2826, 
-    2853, 2852, 2827, 2795, 2779, 2795, 2847, 2929, 
-    3030, 3138, 3246, 3338, 3387, 3350, 3187, 2880, 
-    2461, 2008, 1624, 1388, 1315, 1347, 1371, 1284, 
-    1041, 685, 327, 87, 35, 162, 390, 617, 
-    770, 831, 834, 826, 838, 869, 897, 900, 
-    879, 852, 842, 856, 878, 874, 819, 708, 
-    564, 425, 330, 302, 343, 438, 567, 706, 
-    836, 941, 1010, 1039, 1033, 1005, 975, 957, 
-    960, 980, 1007, 1023, 1018, 986, 932, 866, 
-    803, 758, 737, 740, 760, 785, 804, 814, 
-    813, 808, 805, 806, 814, 825, 836, 843, 
-    846, 846, 847, 857, 881, 924, 985, 1055, 
-    1123, 1173, 1197, 1195, 1174, 1151, 1138, 1143, 
-    1162, 1185, 1193, 1173, 1117, 1025, 908, 785, 
-    679, 612, 601, 653, 760, 903, 1053, 1183, 
-    1272, 1312, 1309, 1281, 1249, 1230, 1234, 1253, 
-    1276, 1285, 1270, 1226, 1154, 1061, 950, 832, 
-    728, 674, 710, 866, 1138, 1484, 1831, 2106
-  },
-  {
-    2268, 2332, 2352, 2396, 2500, 2652, 2807, 2921, 
-    2989, 3051, 3170, 3379, 3654, 3908, 4040, 3987, 
-    3764, 3455, 3172, 2995, 2945, 2982, 3050, 3113, 
-    3171, 3250, 3365, 3502, 3623, 3687, 3682, 3634, 
-    3592, 3600, 3670, 3775, 3865, 3894, 3840, 3707, 
-    3520, 3311, 3109, 2941, 2830, 2792, 2834, 2946, 
-    3100, 3260, 3393, 3476, 3508, 3503, 3486, 3480, 
-    3500, 3552, 3624, 3695, 3738, 3728, 3649, 3501, 
-    3303, 3086, 2886, 2738, 2670, 2693, 2803, 2981, 
-    3195, 3407, 3581, 3689, 3722, 3685, 3600, 3494, 
-    3394, 3320, 3278, 3262, 3256, 3239, 3191, 3102, 
-    2976, 2830, 2695, 2603, 2584, 2649, 2792, 2990, 
-    3205, 3398, 3539, 3608, 3604, 3542, 3443, 3337, 
-    3245, 3183, 3155, 3150, 3148, 3124, 3057, 2942, 
-    2792, 2638, 2521, 2477, 2521, 2644, 2820, 3014, 
-    3201, 3359, 3473, 3514, 3447, 3238, 2882, 2420, 
-    1943, 1557, 1339, 1293, 1343, 1364, 1245, 950, 
-    540, 144, 0, 0, 57, 359, 667, 898, 
-    1030, 1086, 1105, 1105, 1079, 1005, 876, 714, 
-    564, 469, 447, 479, 524, 540, 504, 425, 
-    333, 265, 250, 302, 419, 590, 793, 1000, 
-    1178, 1294, 1330, 1282, 1165, 1011, 855, 728, 
-    647, 613, 614, 630, 637, 619, 570, 498, 
-    426, 382, 393, 473, 620, 816, 1031, 1227, 
-    1373, 1441, 1420, 1311, 1135, 921, 710, 537, 
-    430, 399, 437, 522, 626, 723, 795, 836, 
-    852, 860, 878, 925, 1012, 1136, 1280, 1415, 
-    1507, 1528, 1463, 1320, 1123, 909, 718, 580, 
-    513, 516, 577, 672, 777, 868, 931, 960, 
-    964, 965, 987, 1053, 1169, 1321, 1475, 1589, 
-    1630, 1583, 1461, 1291, 1104, 923, 763, 641, 
-    587, 639, 826, 1143, 1536, 1916, 2194, 2329
-  },
-  {
-    2352, 2354, 2429, 2621, 2892, 3146, 3287, 3287, 
-    3208, 3166, 3262, 3507, 3812, 4032, 4047, 3835, 
-    3479, 3121, 2886, 2822, 2890, 3013, 3127, 3222, 
-    3325, 3469, 3652, 3827, 3929, 3915, 3787, 3596, 
-    3404, 3261, 3183, 3153, 3149, 3152, 3157, 3164, 
-    3174, 3178, 3172, 3156, 3140, 3141, 3167, 3218, 
-    3284, 3348, 3397, 3419, 3410, 3364, 3280, 3162, 
-    3023, 2886, 2777, 2721, 2735, 2821, 2967, 3152, 
-    3349, 3526, 3653, 3705, 3671, 3552, 3369, 3152, 
-    2940, 2767, 2658, 2624, 2662, 2758, 2889, 3032, 
-    3162, 3259, 3311, 3316, 3279, 3213, 3132, 3053, 
-    2988, 2942, 2917, 2911, 2917, 2929, 2940, 2945, 
-    2939, 2926, 2913, 2914, 2944, 3012, 3118, 3246, 
-    3373, 3471, 3515, 3490, 3392, 3230, 3027, 2812, 
-    2623, 2495, 2454, 2505, 2635, 2814, 3008, 3188, 
-    3338, 3440, 3470, 3397, 3189, 2843, 2398, 1940, 
-    1572, 1367, 1327, 1378, 1397, 1277, 986, 585, 
-    202, 0, 0, 149, 447, 742, 959, 1078, 
-    1128, 1145, 1140, 1099, 993, 814, 590, 378, 
-    235, 197, 260, 389, 542, 687, 808, 899, 
-    962, 993, 994, 972, 941, 920, 921, 942, 
-    971, 988, 980, 944, 888, 824, 765, 720, 
-    698, 705, 748, 831, 951, 1091, 1229, 1336, 
-    1389, 1375, 1291, 1147, 964, 768, 592, 465, 
-    412, 446, 564, 746, 961, 1172, 1343, 1451, 
-    1484, 1447, 1352, 1221, 1079, 950, 853, 801, 
-    796, 833, 900, 980, 1058, 1123, 1167, 1192, 
-    1199, 1194, 1182, 1170, 1166, 1171, 1185, 1199, 
-    1199, 1170, 1102, 996, 868, 742, 646, 603, 
-    627, 723, 882, 1083, 1297, 1486, 1614, 1653, 
-    1598, 1466, 1290, 1103, 931, 786, 680, 635, 
-    686, 862, 1166, 1551, 1927, 2200, 2324, 2329
-  },
-  {
-    2315, 2394, 2620, 2947, 3252, 3400, 3337, 3130, 
-    2939, 2924, 3150, 3540, 3915, 4095, 3994, 3666, 
-    3267, 2958, 2829, 2861, 2966, 3060, 3115, 3165, 
-    3267, 3443, 3659, 3838, 3909, 3847, 3685, 3490, 
-    3324, 3215, 3158, 3131, 3118, 3121, 3150, 3209, 
-    3287, 3361, 3411, 3425, 3406, 3365, 3312, 3250, 
-    3185, 3120, 3066, 3033, 3026, 3040, 3061, 3076, 
-    3076, 3062, 3044, 3032, 3034, 3055, 3093, 3145, 
-    3204, 3259, 3301, 3316, 3298, 3249, 3178, 3099, 
-    3029, 2978, 2951, 2944, 2950, 2960, 2969, 2971, 
-    2966, 2956, 2944, 2938, 2946, 2973, 3020, 3082, 
-    3147, 3198, 3222, 3213, 3173, 3112, 3041, 2972, 
-    2914, 2871, 2851, 2860, 2905, 2988, 3100, 3226, 
-    3341, 3421, 3448, 3409, 3305, 3144, 2948, 2745, 
-    2571, 2460, 2434, 2499, 2635, 2813, 2999, 3169, 
-    3306, 3394, 3409, 3317, 3092, 2736, 2297, 1863, 
-    1533, 1366, 1352, 1405, 1405, 1259, 951, 558, 
-    209, 22, 51, 259, 552, 825, 1015, 1116, 
-    1157, 1171, 1164, 1116, 1000, 816, 597, 400, 
-    279, 261, 335, 467, 615, 752, 864, 949, 
-    1005, 1026, 1009, 957, 884, 810, 751, 718, 
-    710, 722, 752, 798, 858, 928, 996, 1050, 
-    1078, 1081, 1065, 1046, 1035, 1039, 1054, 1071, 
-    1081, 1076, 1054, 1015, 964, 907, 854, 815, 
-    800, 816, 862, 930, 1007, 1078, 1131, 1161, 
-    1170, 1164, 1151, 1140, 1136, 1140, 1151, 1164, 
-    1171, 1164, 1136, 1087, 1024, 961, 912, 890, 
-    900, 938, 996, 1064, 1131, 1191, 1237, 1260, 
-    1252, 1206, 1120, 1005, 878, 763, 684, 659, 
-    699, 803, 962, 1157, 1357, 1528, 1638, 1665, 
-    1605, 1473, 1297, 1107, 931, 789, 703, 692, 
-    780, 977, 1270, 1615, 1948, 2203, 2338, 2351
-  },
-  {
-    2275, 2164, 2062, 1995, 1968, 1971, 1998, 2044, 
-    2106, 2173, 2231, 2271, 2305, 2361, 2473, 2657, 
-    2890, 3115, 3269, 3320, 3288, 3240, 3250, 3359, 
-    3547, 3747, 3879, 3903, 3837, 3746, 3702, 3739, 
-    3842, 3953, 4015, 4005, 3940, 3865, 3822, 3826, 
-    3860, 3893, 3899, 3877, 3840, 3812, 3803, 3812, 
-    3824, 3827, 3816, 3796, 3778, 3769, 3767, 3769, 
-    3767, 3759, 3747, 3735, 3727, 3722, 3718, 3714, 
-    3708, 3701, 3694, 3688, 3683, 3677, 3670, 3663, 
-    3656, 3649, 3643, 3638, 3632, 3626, 3619, 3611, 
-    3603, 3596, 3589, 3583, 3578, 3573, 3568, 3562, 
-    3555, 3548, 3542, 3537, 3532, 3526, 3520, 3513, 
-    3507, 3501, 3498, 3495, 3492, 3486, 3478, 3469, 
-    3461, 3457, 3456, 3453, 3446, 3434, 3419, 3409, 
-    3405, 3406, 3401, 3375, 3321, 3245, 3168, 3113, 
-    3092, 3094, 3084, 3024, 2896, 2716, 2531, 2398, 
-    2345, 2355, 2364, 2302, 2130, 1871, 1599, 1403, 
-    1337, 1384, 1472, 1512, 1450, 1298, 1123, 1004, 
-    977, 1020, 1059, 1023, 885, 682, 489, 379, 
-    374, 438, 496, 484, 384, 230, 89, 18, 
-    34, 110, 194, 243, 241, 206, 170, 159, 
-    179, 215, 245, 257, 251, 239, 234, 243, 
-    261, 280, 292, 296, 295, 295, 301, 311, 
-    323, 333, 340, 345, 349, 354, 360, 368, 
-    377, 385, 393, 400, 406, 411, 417, 423, 
-    431, 438, 446, 452, 457, 463, 469, 475, 
-    482, 488, 493, 499, 505, 512, 520, 528, 
-    534, 538, 542, 547, 555, 564, 571, 576, 
-    578, 580, 586, 595, 607, 615, 618, 617, 
-    616, 621, 635, 651, 663, 664, 663, 677, 
-    726, 821, 950, 1080, 1172, 1209, 1204, 1199, 
-    1244, 1364, 1541, 1724, 1857, 1911, 1906, 1896
-  },
-  {
-    1934, 2037, 2180, 2313, 2404, 2468, 2562, 2752, 
-    3059, 3434, 3775, 3980, 4004, 3884, 3722, 3627, 
-    3653, 3779, 3926, 4012, 3999, 3911, 3810, 3755, 
-    3767, 3820, 3869, 3879, 3847, 3795, 3758, 3751, 
-    3770, 3792, 3798, 3782, 3755, 3732, 3723, 3726, 
-    3733, 3733, 3724, 3709, 3695, 3687, 3684, 3683, 
-    3679, 3672, 3663, 3654, 3647, 3641, 3636, 3631, 
-    3624, 3618, 3611, 3605, 3599, 3592, 3586, 3580, 
-    3574, 3569, 3563, 3556, 3549, 3543, 3537, 3532, 
-    3526, 3520, 3514, 3508, 3502, 3498, 3494, 3490, 
-    3484, 3477, 3469, 3462, 3456, 3451, 3446, 3441, 
-    3435, 3430, 3424, 3420, 3416, 3412, 3406, 3400, 
-    3393, 3388, 3384, 3383, 3380, 3375, 3366, 3355, 
-    3346, 3342, 3345, 3348, 3347, 3337, 3319, 3303, 
-    3296, 3301, 3308, 3299, 3257, 3184, 3100, 3036, 
-    3010, 3011, 2987, 2873, 2629, 2267, 1862, 1524, 
-    1334, 1307, 1367, 1396, 1288, 1016, 650, 315, 
-    127, 127, 263, 422, 499, 450, 312, 170, 
-    100, 129, 223, 318, 360, 340, 286, 243, 
-    241, 277, 326, 358, 361, 342, 323, 321, 
-    337, 362, 382, 389, 385, 380, 381, 391, 
-    405, 418, 426, 430, 432, 436, 443, 451, 
-    461, 469, 476, 481, 485, 489, 494, 500, 
-    508, 516, 523, 528, 533, 537, 544, 551, 
-    559, 566, 571, 574, 578, 583, 591, 600, 
-    607, 612, 615, 618, 621, 627, 635, 642, 
-    648, 651, 654, 659, 666, 675, 684, 690, 
-    694, 695, 697, 703, 711, 721, 729, 733, 
-    733, 733, 736, 745, 757, 769, 774, 772, 
-    766, 765, 774, 793, 812, 822, 817, 808, 
-    813, 850, 923, 1012, 1084, 1112, 1105, 1108, 
-    1186, 1388, 1703, 2057, 2343, 2482, 2474, 2408
-  },
-  {
-    2414, 2583, 2895, 3221, 3377, 3235, 2801, 2226, 
-    1732, 1500, 1581, 1888, 2261, 2566, 2768, 2925, 
-    3124, 3401, 3708, 3945, 4027, 3950, 3795, 3679, 
-    3682, 3798, 3952, 4047, 4035, 3939, 3829, 3776, 
-    3800, 3871, 3932, 3944, 3904, 3843, 3800, 3791, 
-    3810, 3833, 3842, 3829, 3797, 3749, 3686, 3614, 
-    3546, 3498, 3476, 3458, 3396, 3236, 2956, 2592, 
-    2231, 1972, 1866, 1886, 1935, 1896, 1700, 1369, 
-    1006, 737, 640, 710, 861, 983, 999, 906, 
-    763, 648, 615, 672, 783, 896, 976, 1009, 
-    1009, 999, 1010, 1076, 1224, 1460, 1762, 2068, 
-    2306, 2429, 2445, 2426, 2476, 2670, 3007, 3402, 
-    3727, 3881, 3845, 3692, 3542, 3494, 3574, 3729, 
-    3869, 3921, 3874, 3773, 3686, 3657, 3686, 3739, 
-    3774, 3768, 3733, 3693, 3670, 3667, 3676, 3683, 
-    3683, 3674, 3656, 3623, 3565, 3487, 3407, 3351, 
-    3329, 3318, 3257, 3079, 2753, 2317, 1873, 1541, 
-    1394, 1411, 1483, 1470, 1277, 916, 494, 163, 
-    28, 96, 274, 431, 466, 366, 199, 63, 
-    26, 89, 198, 282, 301, 262, 208, 179, 
-    193, 235, 276, 295, 292, 280, 273, 277, 
-    292, 316, 353, 410, 484, 558, 609, 630, 
-    643, 701, 861, 1142, 1509, 1870, 2128, 2230, 
-    2208, 2160, 2202, 2402, 2734, 3095, 3362, 3457, 
-    3395, 3266, 3182, 3216, 3365, 3559, 3707, 3746, 
-    3667, 3511, 3338, 3197, 3110, 3073, 3065, 3051, 
-    2995, 2861, 2635, 2337, 2027, 1780, 1650, 1632, 
-    1654, 1610, 1423, 1090, 695, 368, 212, 249, 
-    405, 560, 611, 532, 375, 233, 179, 226, 
-    328, 417, 448, 419, 366, 330, 333, 368, 
-    410, 436, 440, 430, 419, 416, 424, 446, 
-    486, 548, 623, 694, 739, 755, 767, 828
-  },
-  {
-    986, 1258, 1604, 1946, 2203, 2342, 2404, 2478, 
-    2654, 2967, 3366, 3742, 3984, 4037, 3935, 3772, 
-    3654, 3641, 3721, 3834, 3906, 3892, 3798, 3658, 
-    3520, 3415, 3350, 3316, 3294, 3258, 3181, 3042, 
-    2836, 2582, 2331, 2141, 2051, 2058, 2114, 2149, 
-    2106, 1977, 1804, 1657, 1600, 1660, 1821, 2034, 
-    2242, 2400, 2492, 2527, 2539, 2575, 2681, 2881, 
-    3165, 3481, 3750, 3905, 3918, 3817, 3672, 3561, 
-    3530, 3577, 3657, 3715, 3720, 3674, 3608, 3559, 
-    3551, 3578, 3616, 3631, 3586, 3456, 3236, 2944, 
-    2628, 2349, 2164, 2095, 2115, 2158, 2148, 2040, 
-    1844, 1622, 1455, 1405, 1483, 1652, 1845, 2003, 
-    2093, 2118, 2111, 2114, 2167, 2294, 2495, 2746, 
-    2998, 3195, 3299, 3305, 3252, 3200, 3206, 3291, 
-    3429, 3566, 3647, 3645, 3575, 3480, 3410, 3396, 
-    3437, 3497, 3524, 3461, 3269, 2942, 2520, 2081, 
-    1715, 1491, 1417, 1431, 1429, 1317, 1060, 707, 
-    365, 144, 95, 191, 342, 449, 460, 384, 
-    282, 221, 238, 329, 459, 588, 690, 758, 
-    797, 824, 860, 932, 1065, 1268, 1522, 1776, 
-    1969, 2059, 2048, 1989, 1954, 1998, 2129, 2304, 
-    2451, 2506, 2443, 2281, 2069, 1862, 1705, 1612, 
-    1575, 1562, 1527, 1423, 1227, 946, 633, 365, 
-    209, 195, 296, 441, 552, 583, 536, 457, 
-    398, 393, 439, 505, 554, 564, 537, 498, 
-    484, 529, 658, 877, 1166, 1480, 1755, 1938, 
-    2005, 1985, 1942, 1954, 2063, 2260, 2483, 2650, 
-    2701, 2622, 2453, 2259, 2101, 2012, 1986, 1994, 
-    1992, 1939, 1812, 1611, 1362, 1114, 921, 821, 
-    814, 863, 909, 898, 814, 682, 554, 477, 
-    476, 535, 620, 688, 711, 688, 638, 603, 
-    635, 781, 1059, 1442, 1847, 2174, 2347, 2367
-  },
-  {
-    2323, 2353, 2557, 2930, 3342, 3601, 3563, 3229, 
-    2764, 2420, 2400, 2747, 3315, 3854, 4095, 4095, 
-    3828, 3510, 3326, 3341, 3497, 3661, 3717, 3620, 
-    3406, 3150, 2915, 2725, 2578, 2463, 2384, 2353, 
-    2372, 2417, 2445, 2419, 2337, 2236, 2182, 2233, 
-    2413, 2698, 3026, 3323, 3533, 3633, 3634, 3574, 
-    3504, 3468, 3488, 3560, 3653, 3719, 3718, 3626, 
-    3450, 3227, 3004, 2826, 2717, 2676, 2674, 2672, 
-    2630, 2530, 2379, 2210, 2072, 2009, 2044, 2169, 
-    2349, 2537, 2688, 2778, 2812, 2814, 2824, 2878, 
-    2995, 3171, 3374, 3558, 3676, 3701, 3637, 3516, 
-    3386, 3293, 3257, 3270, 3295, 3286, 3201, 3022, 
-    2760, 2455, 2165, 1946, 1839, 1853, 1959, 2105, 
-    2232, 2298, 2297, 2256, 2223, 2245, 2350, 2535, 
-    2772, 3014, 3217, 3348, 3396, 3375, 3317, 3262, 
-    3248, 3292, 3383, 3475, 3505, 3411, 3163, 2777, 
-    2325, 1903, 1602, 1460, 1443, 1463, 1413, 1226, 
-    910, 545, 247, 104, 139, 297, 482, 605, 
-    628, 571, 498, 475, 541, 703, 938, 1213, 
-    1491, 1734, 1908, 1988, 1971, 1884, 1776, 1703, 
-    1699, 1758, 1838, 1877, 1821, 1650, 1383, 1073, 
-    782, 566, 455, 444, 502, 577, 622, 607, 
-    535, 438, 366, 366, 460, 637, 861, 1083, 
-    1257, 1362, 1402, 1404, 1408, 1451, 1552, 1702, 
-    1869, 2007, 2070, 2036, 1912, 1732, 1544, 1393, 
-    1302, 1269, 1267, 1258, 1206, 1090, 915, 713, 
-    531, 415, 390, 454, 575, 703, 795, 830, 
-    817, 792, 802, 887, 1065, 1326, 1630, 1918, 
-    2134, 2239, 2231, 2141, 2027, 1947, 1934, 1986, 
-    2063, 2110, 2074, 1933, 1696, 1402, 1108, 865, 
-    711, 657, 687, 762, 832, 852, 803, 701, 
-    598, 563, 653, 887, 1234, 1619, 1955, 2183
-  },
-  {
-    2293, 2327, 2354, 2430, 2569, 2739, 2891, 2990, 
-    3048, 3115, 3243, 3450, 3690, 3879, 3934, 3829, 
-    3612, 3381, 3235, 3216, 3292, 3377, 3385, 3274, 
-    3062, 2812, 2593, 2450, 2392, 2405, 2467, 2560, 
-    2670, 2780, 2871, 2925, 2940, 2934, 2940, 2991, 
-    3101, 3254, 3412, 3532, 3581, 3552, 3459, 3332, 
-    3202, 3095, 3024, 2989, 2980, 2981, 2977, 2955, 
-    2913, 2857, 2801, 2760, 2742, 2749, 2769, 2789, 
-    2798, 2791, 2774, 2755, 2745, 2746, 2754, 2762, 
-    2764, 2756, 2743, 2732, 2732, 2747, 2779, 2823, 
-    2871, 2912, 2941, 2954, 2959, 2971, 3005, 3071, 
-    3164, 3266, 3348, 3384, 3354, 3257, 3111, 2944, 
-    2788, 2669, 2600, 2577, 2579, 2578, 2549, 2476, 
-    2369, 2252, 2166, 2145, 2210, 2355, 2554, 2765, 
-    2948, 3074, 3137, 3149, 3137, 3131, 3156, 3224, 
-    3330, 3445, 3523, 3509, 3357, 3055, 2634, 2172, 
-    1769, 1506, 1410, 1435, 1479, 1434, 1238, 912, 
-    549, 272, 167, 245, 439, 644, 771, 789, 
-    730, 663, 650, 721, 866, 1051, 1242, 1414, 
-    1552, 1642, 1671, 1630, 1527, 1388, 1252, 1158, 
-    1119, 1126, 1147, 1149, 1109, 1029, 925, 825, 
-    755, 728, 747, 801, 875, 947, 1004, 1038, 
-    1050, 1052, 1055, 1070, 1104, 1153, 1207, 1257, 
-    1291, 1306, 1301, 1286, 1271, 1264, 1268, 1282, 
-    1298, 1308, 1309, 1303, 1297, 1295, 1301, 1312, 
-    1321, 1320, 1306, 1277, 1236, 1190, 1147, 1116, 
-    1101, 1100, 1103, 1100, 1078, 1037, 984, 937, 
-    916, 934, 997, 1093, 1205, 1310, 1390, 1436, 
-    1453, 1457, 1471, 1513, 1593, 1701, 1810, 1889, 
-    1903, 1839, 1699, 1509, 1306, 1125, 995, 925, 
-    911, 936, 974, 1000, 991, 939, 860, 790, 
-    785, 892, 1125, 1451, 1795, 2070, 2224, 2267
-  },
-  {
-    2271, 2332, 2506, 2776, 3050, 3219, 3225, 3104, 
-    2976, 2976, 3172, 3515, 3860, 4040, 3959, 3641, 
-    3212, 2826, 2592, 2525, 2568, 2645, 2718, 2793, 
-    2905, 3068, 3257, 3413, 3489, 3475, 3418, 3385, 
-    3430, 3559, 3725, 3860, 3903, 3827, 3643, 3384, 
-    3092, 2809, 2571, 2412, 2361, 2429, 2605, 2853, 
-    3119, 3352, 3512, 3586, 3584, 3534, 3466, 3410, 
-    3383, 3390, 3418, 3443, 3434, 3367, 3227, 3023, 
-    2783, 2549, 2369, 2280, 2301, 2431, 2643, 2894, 
-    3138, 3332, 3450, 3486, 3457, 3392, 3324, 3282, 
-    3277, 3302, 3336, 3347, 3307, 3197, 3019, 2791, 
-    2550, 2341, 2208, 2184, 2282, 2488, 2770, 3077, 
-    3355, 3558, 3660, 3656, 3564, 3418, 3255, 3111, 
-    3009, 2957, 2943, 2940, 2915, 2839, 2703, 2520, 
-    2327, 2177, 2114, 2166, 2327, 2571, 2853, 3130, 
-    3366, 3529, 3586, 3508, 3277, 2903, 2440, 1976, 
-    1611, 1409, 1366, 1407, 1413, 1285, 988, 581, 
-    187, 0, 0, 99, 435, 807, 1128, 1355, 
-    1487, 1544, 1540, 1474, 1344, 1160, 957, 783, 
-    677, 651, 677, 709, 700, 628, 504, 366, 
-    260, 228, 292, 455, 698, 989, 1284, 1532, 
-    1692, 1738, 1670, 1512, 1308, 1105, 941, 837, 
-    794, 796, 818, 836, 829, 792, 729, 662, 
-    620, 629, 710, 865, 1078, 1319, 1545, 1714, 
-    1796, 1772, 1646, 1442, 1197, 956, 760, 638, 
-    600, 637, 724, 827, 919, 981, 1009, 1014, 
-    1016, 1040, 1106, 1221, 1380, 1560, 1726, 1838, 
-    1861, 1775, 1585, 1316, 1016, 737, 529, 421, 
-    421, 512, 661, 827, 973, 1073, 1123, 1133, 
-    1134, 1158, 1234, 1372, 1557, 1750, 1898, 1957, 
-    1904, 1743, 1504, 1230, 957, 721, 552, 482, 
-    544, 755, 1097, 1507, 1892, 2165, 2291, 2307
-  },
-  {
-    2306, 2385, 2589, 2877, 3148, 3300, 3302, 3212, 
-    3153, 3235, 3479, 3801, 4051, 4095, 3906, 3550, 
-    3174, 2914, 2828, 2886, 3009, 3127, 3220, 3316, 
-    3454, 3638, 3825, 3947, 3946, 3812, 3585, 3330, 
-    3109, 2954, 2867, 2839, 2861, 2930, 3043, 3185, 
-    3331, 3448, 3512, 3516, 3471, 3398, 3316, 3241, 
-    3177, 3130, 3100, 3088, 3091, 3104, 3116, 3120, 
-    3113, 3099, 3084, 3080, 3092, 3125, 3177, 3240, 
-    3302, 3351, 3374, 3364, 3323, 3258, 3180, 3104, 
-    3041, 2999, 2981, 2982, 2996, 3011, 3019, 3016, 
-    3002, 2987, 2977, 2983, 3009, 3054, 3112, 3176, 
-    3232, 3267, 3270, 3233, 3152, 3035, 2895, 2756, 
-    2640, 2573, 2571, 2640, 2776, 2959, 3161, 3350, 
-    3491, 3562, 3547, 3448, 3278, 3065, 2843, 2649, 
-    2517, 2468, 2509, 2626, 2795, 2985, 3171, 3333, 
-    3451, 3499, 3443, 3251, 2916, 2475, 2009, 1619, 
-    1384, 1319, 1359, 1387, 1293, 1028, 638, 242, 
-    0, 0, 80, 369, 678, 919, 1059, 1119, 
-    1135, 1128, 1090, 996, 830, 612, 392, 228, 
-    167, 219, 361, 555, 763, 957, 1119, 1234, 
-    1289, 1274, 1191, 1057, 902, 761, 658, 607, 
-    606, 644, 708, 784, 861, 929, 981, 1011, 
-    1021, 1015, 1001, 990, 986, 993, 1007, 1022, 
-    1027, 1015, 982, 929, 865, 803, 756, 735, 
-    745, 785, 848, 924, 999, 1063, 1106, 1126, 
-    1124, 1110, 1093, 1085, 1088, 1103, 1119, 1129, 
-    1122, 1095, 1050, 991, 929, 874, 839, 835, 
-    872, 951, 1068, 1207, 1347, 1461, 1527, 1529, 
-    1460, 1326, 1145, 945, 759, 618, 548, 564, 
-    664, 833, 1044, 1261, 1448, 1576, 1624, 1590, 
-    1481, 1319, 1128, 935, 766, 648, 606, 667, 
-    842, 1121, 1469, 1826, 2127, 2320, 2388, 2347
-  },
-  {
-    2243, 2125, 2032, 1982, 1977, 2008, 2064, 2131, 
-    2195, 2246, 2280, 2311, 2366, 2474, 2644, 2855, 
-    3056, 3194, 3245, 3228, 3208, 3251, 3394, 3614, 
-    3842, 3996, 4028, 3952, 3826, 3726, 3696, 3736, 
-    3803, 3847, 3842, 3796, 3741, 3709, 3712, 3738, 
-    3760, 3762, 3740, 3710, 3688, 3683, 3690, 3699, 
-    3698, 3686, 3669, 3654, 3647, 3647, 3647, 3644, 
-    3636, 3625, 3616, 3609, 3604, 3600, 3595, 3589, 
-    3582, 3575, 3568, 3562, 3557, 3551, 3545, 3539, 
-    3533, 3528, 3521, 3515, 3509, 3503, 3498, 3493, 
-    3487, 3481, 3474, 3468, 3463, 3458, 3453, 3447, 
-    3441, 3435, 3429, 3424, 3419, 3414, 3408, 3401, 
-    3395, 3390, 3387, 3383, 3378, 3371, 3362, 3355, 
-    3351, 3349, 3349, 3345, 3337, 3325, 3313, 3308, 
-    3310, 3316, 3317, 3308, 3289, 3271, 3263, 3266, 
-    3265, 3230, 3130, 2958, 2737, 2521, 2368, 2308, 
-    2321, 2344, 2303, 2156, 1918, 1662, 1473, 1403, 
-    1440, 1509, 1522, 1427, 1239, 1032, 888, 850, 
-    890, 929, 886, 726, 485, 248, 102, 87, 
-    179, 306, 396, 411, 364, 300, 266, 279, 
-    327, 377, 401, 394, 371, 353, 355, 377, 
-    404, 423, 427, 421, 415, 417, 428, 443, 
-    456, 463, 465, 466, 470, 476, 486, 495, 
-    502, 508, 513, 517, 522, 528, 535, 542, 
-    549, 556, 561, 566, 570, 576, 583, 590, 
-    597, 603, 607, 611, 616, 623, 630, 637, 
-    643, 647, 651, 656, 662, 669, 677, 682, 
-    686, 689, 693, 700, 708, 715, 721, 723, 
-    726, 729, 736, 745, 754, 760, 761, 761, 
-    762, 769, 780, 793, 801, 801, 796, 793, 
-    798, 812, 830, 843, 847, 853, 886, 976, 
-    1136, 1351, 1572, 1740, 1812, 1792, 1735, 1721
-  },
-  {
-    1808, 1996, 2210, 2342, 2302, 2084, 1772, 1515, 
-    1441, 1598, 1921, 2276, 2532, 2642, 2662, 2717, 
-    2914, 3273, 3711, 4081, 4095, 4095, 4036, 3832, 
-    3725, 3750, 3861, 3968, 4002, 3951, 3860, 3792, 
-    3786, 3832, 3889, 3913, 3889, 3837, 3791, 3775, 
-    3791, 3817, 3829, 3816, 3788, 3761, 3749, 3752, 
-    3761, 3763, 3754, 3737, 3722, 3714, 3712, 3712, 
-    3708, 3699, 3688, 3679, 3673, 3669, 3665, 3659, 
-    3650, 3642, 3636, 3630, 3626, 3620, 3613, 3605, 
-    3598, 3592, 3587, 3582, 3577, 3570, 3563, 3556, 
-    3549, 3543, 3538, 3532, 3527, 3522, 3517, 3512, 
-    3508, 3502, 3496, 3488, 3481, 3473, 3467, 3462, 
-    3458, 3454, 3449, 3443, 3438, 3433, 3428, 3423, 
-    3417, 3412, 3406, 3402, 3399, 3396, 3390, 3382, 
-    3372, 3364, 3362, 3363, 3365, 3361, 3349, 3332, 
-    3319, 3316, 3326, 3338, 3339, 3322, 3293, 3269, 
-    3265, 3277, 3264, 3168, 2936, 2561, 2104, 1670, 
-    1369, 1253, 1282, 1340, 1295, 1071, 691, 270, 
-    0, 0, 0, 128, 308, 377, 324, 207, 
-    114, 100, 165, 257, 318, 320, 276, 228, 
-    212, 238, 286, 325, 335, 320, 299, 292, 
-    306, 331, 353, 362, 360, 354, 355, 366, 
-    381, 394, 400, 401, 402, 407, 417, 427, 
-    435, 440, 444, 449, 457, 466, 474, 479, 
-    482, 485, 491, 498, 507, 515, 521, 525, 
-    529, 534, 542, 550, 559, 565, 570, 574, 
-    579, 585, 592, 598, 604, 608, 611, 615, 
-    620, 627, 634, 640, 646, 651, 657, 663, 
-    670, 676, 681, 685, 689, 695, 702, 708, 
-    713, 717, 720, 726, 733, 741, 747, 750, 
-    750, 752, 759, 772, 786, 792, 789, 779, 
-    775, 785, 809, 835, 844, 831, 813, 833
-  },
-  {
-    939, 1157, 1466, 1808, 2109, 2324, 2465, 2594, 
-    2786, 3078, 3436, 3769, 3978, 4008, 3888, 3711, 
-    3584, 3570, 3656, 3776, 3850, 3839, 3762, 3672, 
-    3624, 3635, 3683, 3727, 3735, 3706, 3662, 3629, 
-    3620, 3630, 3644, 3650, 3647, 3636, 3620, 3600, 
-    3579, 3565, 3567, 3577, 3561, 3457, 3213, 2818, 
-    2328, 1858, 1526, 1390, 1411, 1463, 1407, 1161, 
-    757, 322, 10, 0, 29, 241, 415, 459, 
-    371, 226, 120, 109, 185, 287, 353, 352, 
-    305, 254, 237, 261, 306, 342, 353, 345, 
-    333, 331, 341, 357, 378, 412, 468, 543, 
-    617, 668, 687, 704, 781, 980, 1320, 1751, 
-    2167, 2456, 2565, 2531, 2472, 2517, 2741, 3112, 
-    3512, 3801, 3894, 3804, 3629, 3495, 3482, 3590, 
-    3751, 3874, 3901, 3829, 3701, 3576, 3494, 3464, 
-    3470, 3481, 3462, 3379, 3207, 2939, 2607, 2274, 
-    2020, 1891, 1874, 1883, 1805, 1560, 1158, 701, 
-    333, 169, 222, 408, 586, 645, 557, 384, 
-    230, 176, 233, 347, 444, 472, 434, 370, 
-    331, 339, 383, 430, 455, 454, 438, 426, 
-    426, 434, 446, 459, 474, 493, 506, 505, 
-    495, 507, 595, 807, 1148, 1565, 1957, 2227, 
-    2336, 2333, 2339, 2478, 2805, 3270, 3736, 4053, 
-    4095, 4014, 3801, 3639, 3613, 3717, 3871, 3978, 
-    3983, 3900, 3793, 3729, 3733, 3786, 3838, 3853, 
-    3824, 3776, 3739, 3731, 3744, 3758, 3759, 3748, 
-    3733, 3725, 3721, 3712, 3695, 3677, 3671, 3672, 
-    3646, 3532, 3277, 2871, 2377, 1910, 1591, 1473, 
-    1515, 1591, 1562, 1348, 978, 572, 274, 176, 
-    267, 447, 588, 606, 498, 334, 205, 173, 
-    245, 377, 509, 597, 627, 614, 591, 602, 
-    686, 871, 1154, 1494, 1815, 2046, 2153, 2175
-  },
-  {
-    2202, 2328, 2586, 2917, 3197, 3310, 3227, 3033, 
-    2887, 2928, 3189, 3577, 3922, 4080, 4014, 3807, 
-    3608, 3538, 3624, 3791, 3921, 3925, 3790, 3579, 
-    3383, 3272, 3255, 3288, 3302, 3237, 3065, 2795, 
-    2470, 2154, 1907, 1770, 1744, 1787, 1828, 1803, 
-    1681, 1486, 1288, 1168, 1186, 1352, 1629, 1949, 
-    2239, 2450, 2563, 2598, 2605, 2648, 2779, 3018, 
-    3331, 3644, 3869, 3950, 3888, 3742, 3600, 3530, 
-    3551, 3631, 3709, 3739, 3708, 3642, 3581, 3555, 
-    3571, 3611, 3640, 3623, 3529, 3344, 3075, 2759, 
-    2457, 2231, 2117, 2100, 2117, 2081, 1928, 1658, 
-    1335, 1064, 934, 980, 1171, 1426, 1659, 1813, 
-    1876, 1878, 1871, 1907, 2027, 2244, 2538, 2860, 
-    3143, 3325, 3380, 3333, 3249, 3205, 3249, 3378, 
-    3539, 3662, 3699, 3646, 3543, 3450, 3411, 3440, 
-    3508, 3562, 3541, 3398, 3116, 2720, 2276, 1872, 
-    1590, 1462, 1453, 1468, 1402, 1193, 858, 489, 
-    206, 91, 147, 300, 444, 500, 452, 346, 
-    256, 236, 300, 422, 561, 679, 761, 807, 
-    832, 861, 927, 1065, 1293, 1597, 1925, 2200, 
-    2360, 2388, 2329, 2268, 2285, 2414, 2622, 2831, 
-    2950, 2924, 2749, 2468, 2150, 1864, 1657, 1544, 
-    1507, 1499, 1457, 1327, 1090, 778, 466, 243, 
-    166, 232, 380, 521, 588, 563, 482, 404, 
-    377, 410, 476, 537, 561, 543, 503, 476, 
-    495, 589, 773, 1039, 1350, 1648, 1872, 1986, 
-    2004, 1988, 2025, 2177, 2447, 2769, 3042, 3173, 
-    3127, 2936, 2680, 2446, 2292, 2231, 2231, 2241, 
-    2204, 2082, 1863, 1567, 1245, 966, 788, 736, 
-    784, 865, 905, 860, 735, 582, 465, 428, 
-    474, 566, 654, 697, 683, 631, 581, 583, 
-    686, 918, 1265, 1669, 2035, 2274, 2352, 2323
-  },
-  {
-    2308, 2433, 2748, 3177, 3544, 3668, 3471, 3043, 
-    2609, 2418, 2602, 3107, 3715, 4095, 4095, 4046, 
-    3616, 3185, 2897, 2787, 2788, 2806, 2786, 2731, 
-    2689, 2696, 2748, 2804, 2822, 2794, 2756, 2766, 
-    2869, 3064, 3305, 3525, 3665, 3701, 3639, 3509, 
-    3345, 3176, 3025, 2909, 2838, 2812, 2819, 2835, 
-    2836, 2806, 2748, 2678, 2622, 2603, 2631, 2702, 
-    2801, 2908, 3003, 3069, 3101, 3101, 3077, 3044, 
-    3017, 3005, 3008, 3020, 3031, 3034, 3026, 3010, 
-    2994, 2986, 2988, 2995, 2998, 2985, 2945, 2876, 
-    2783, 2678, 2580, 2509, 2477, 2490, 2540, 2610, 
-    2679, 2730, 2754, 2756, 2753, 2768, 2820, 2918, 
-    3055, 3208, 3345, 3430, 3438, 3358, 3200, 2991, 
-    2767, 2569, 2428, 2360, 2361, 2409, 2472, 2517, 
-    2524, 2495, 2450, 2425, 2449, 2544, 2710, 2930, 
-    3175, 3407, 3585, 3664, 3602, 3379, 3006, 2540, 
-    2075, 1708, 1500, 1447, 1474, 1469, 1336, 1047, 
-    657, 281, 40, 5, 171, 465, 788, 1060, 
-    1245, 1349, 1398, 1415, 1410, 1385, 1347, 1314, 
-    1304, 1326, 1362, 1377, 1334, 1213, 1024, 806, 
-    608, 476, 432, 478, 596, 758, 934, 1092, 
-    1212, 1280, 1300, 1289, 1272, 1275, 1308, 1367, 
-    1436, 1489, 1507, 1479, 1409, 1311, 1205, 1110, 
-    1042, 1010, 1011, 1035, 1068, 1095, 1107, 1103, 
-    1090, 1079, 1077, 1086, 1102, 1117, 1124, 1122, 
-    1115, 1112, 1126, 1166, 1234, 1327, 1430, 1526, 
-    1597, 1629, 1617, 1568, 1498, 1428, 1378, 1354, 
-    1353, 1356, 1341, 1289, 1191, 1055, 904, 770, 
-    687, 680, 758, 913, 1120, 1342, 1539, 1679, 
-    1747, 1745, 1696, 1634, 1591, 1586, 1614, 1656, 
-    1678, 1652, 1560, 1400, 1187, 946, 711, 527, 
-    440, 494, 706, 1050, 1462, 1849, 2132, 2278
-  },
-  {
-    2319, 2331, 2394, 2542, 2751, 2949, 3073, 3109, 
-    3107, 3151, 3303, 3555, 3826, 4002, 4003, 3830, 
-    3568, 3340, 3237, 3272, 3376, 3445, 3394, 3202, 
-    2912, 2606, 2358, 2209, 2165, 2204, 2299, 2425, 
-    2556, 2669, 2743, 2772, 2770, 2770, 2814, 2929, 
-    3111, 3324, 3517, 3640, 3669, 3612, 3505, 3392, 
-    3309, 3269, 3267, 3280, 3282, 3254, 3190, 3097, 
-    2990, 2890, 2814, 2772, 2765, 2784, 2812, 2835, 
-    2841, 2829, 2807, 2785, 2775, 2778, 2789, 2800, 
-    2801, 2791, 2775, 2765, 2773, 2811, 2879, 2969, 
-    3067, 3152, 3208, 3228, 3218, 3198, 3189, 3208, 
-    3257, 3322, 3374, 3382, 3325, 3195, 3007, 2793, 
-    2594, 2444, 2363, 2348, 2368, 2384, 2357, 2271, 
-    2141, 2009, 1928, 1941, 2063, 2280, 2546, 2808, 
-    3018, 3151, 3204, 3200, 3173, 3161, 3191, 3274, 
-    3394, 3511, 3568, 3508, 3293, 2930, 2474, 2018, 
-    1663, 1469, 1429, 1464, 1460, 1319, 1013, 604, 
-    214, 0, 0, 95, 355, 598, 744, 775, 
-    735, 695, 714, 818, 999, 1226, 1467, 1687, 
-    1857, 1950, 1949, 1857, 1704, 1539, 1409, 1346, 
-    1343, 1366, 1368, 1309, 1178, 990, 785, 609, 
-    497, 468, 516, 613, 723, 811, 858, 865, 
-    850, 842, 863, 923, 1017, 1126, 1227, 1302, 
-    1342, 1347, 1328, 1299, 1277, 1271, 1283, 1304, 
-    1325, 1335, 1332, 1321, 1310, 1308, 1318, 1334, 
-    1344, 1336, 1299, 1233, 1143, 1046, 961, 905, 
-    885, 895, 916, 925, 905, 855, 790, 739, 
-    731, 789, 918, 1104, 1314, 1511, 1659, 1739, 
-    1756, 1736, 1722, 1749, 1835, 1964, 2095, 2175, 
-    2161, 2038, 1824, 1562, 1305, 1097, 962, 902, 
-    900, 925, 943, 921, 846, 726, 599, 526, 
-    571, 771, 1112, 1525, 1910, 2177, 2297, 2314
-  },
-  {
-    2323, 2419, 2632, 2912, 3149, 3244, 3173, 3014, 
-    2908, 2973, 3238, 3608, 3918, 4019, 3859, 3505, 
-    3101, 2783, 2620, 2591, 2628, 2672, 2714, 2788, 
-    2927, 3129, 3341, 3496, 3547, 3509, 3442, 3422, 
-    3493, 3644, 3818, 3944, 3963, 3855, 3630, 3317, 
-    2958, 2600, 2295, 2096, 2046, 2159, 2413, 2751, 
-    3101, 3394, 3587, 3670, 3665, 3613, 3558, 3539, 
-    3572, 3648, 3739, 3796, 3774, 3640, 3388, 3043, 
-    2659, 2303, 2045, 1935, 1997, 2221, 2563, 2960, 
-    3340, 3639, 3819, 3868, 3808, 3680, 3536, 3419, 
-    3356, 3346, 3365, 3372, 3322, 3183, 2951, 2650, 
-    2330, 2056, 1891, 1877, 2024, 2310, 2684, 3077, 
-    3421, 3662, 3772, 3754, 3635, 3461, 3280, 3131, 
-    3037, 2997, 2991, 2988, 2954, 2863, 2711, 2517, 
-    2321, 2175, 2124, 2190, 2369, 2629, 2928, 3218, 
-    3461, 3621, 3665, 3563, 3300, 2892, 2403, 1927, 
-    1566, 1378, 1349, 1391, 1380, 1220, 892, 469, 
-    86, 0, 0, 118, 470, 835, 1134, 1339, 
-    1459, 1515, 1514, 1447, 1306, 1104, 885, 705, 
-    604, 589, 626, 660, 644, 558, 420, 275, 
-    173, 156, 248, 453, 754, 1115, 1485, 1799, 
-    1997, 2040, 1918, 1662, 1330, 989, 703, 510, 
-    423, 426, 489, 572, 640, 670, 656, 617, 
-    584, 599, 695, 889, 1165, 1485, 1788, 2013, 
-    2110, 2059, 1869, 1579, 1245, 930, 684, 539, 
-    498, 541, 628, 715, 767, 768, 729, 681, 
-    668, 729, 886, 1133, 1440, 1754, 2016, 2171, 
-    2182, 2039, 1762, 1396, 1005, 660, 415, 303, 
-    323, 444, 620, 801, 946, 1037, 1074, 1079, 
-    1083, 1119, 1211, 1364, 1557, 1751, 1895, 1944, 
-    1877, 1700, 1444, 1154, 870, 629, 463, 408, 
-    493, 732, 1100, 1528, 1919, 2188, 2304, 2314
-  },
-  {
-    2317, 2411, 2628, 2911, 3144, 3223, 3127, 2944, 
-    2824, 2892, 3171, 3558, 3878, 3980, 3821, 3483, 
-    3118, 2868, 2787, 2839, 2940, 3028, 3098, 3195, 
-    3364, 3609, 3870, 4057, 4095, 3974, 3729, 3436, 
-    3165, 2956, 2819, 2748, 2739, 2789, 2892, 3031, 
-    3176, 3292, 3359, 3372, 3343, 3289, 3225, 3160, 
-    3098, 3043, 3004, 2984, 2985, 2998, 3012, 3019, 
-    3014, 3001, 2987, 2980, 2986, 3009, 3049, 3101, 
-    3158, 3209, 3241, 3246, 3220, 3167, 3099, 3028, 
-    2966, 2921, 2897, 2891, 2898, 2911, 2921, 2924, 
-    2917, 2903, 2891, 2888, 2902, 2936, 2987, 3046, 
-    3102, 3142, 3156, 3135, 3076, 2984, 2867, 2740, 
-    2624, 2540, 2512, 2555, 2677, 2868, 3104, 3345, 
-    3550, 3679, 3706, 3626, 3449, 3205, 2935, 2685, 
-    2496, 2398, 2401, 2495, 2649, 2829, 3004, 3156, 
-    3272, 3337, 3327, 3209, 2962, 2599, 2175, 1780, 
-    1502, 1384, 1396, 1443, 1413, 1233, 911, 535, 
-    233, 106, 182, 410, 693, 938, 1099, 1180, 
-    1210, 1213, 1185, 1099, 934, 695, 429, 201, 
-    71, 71, 193, 403, 654, 906, 1126, 1289, 
-    1380, 1390, 1324, 1203, 1057, 920, 817, 760, 
-    746, 767, 813, 874, 943, 1010, 1067, 1105, 
-    1120, 1118, 1105, 1093, 1087, 1092, 1104, 1117, 
-    1124, 1119, 1097, 1058, 1004, 946, 895, 863, 
-    860, 887, 939, 1005, 1075, 1136, 1181, 1207, 
-    1214, 1207, 1193, 1181, 1178, 1186, 1201, 1215, 
-    1219, 1204, 1169, 1117, 1058, 1003, 964, 951, 
-    972, 1028, 1118, 1234, 1360, 1477, 1561, 1589, 
-    1545, 1424, 1235, 1002, 764, 561, 431, 402, 
-    481, 658, 903, 1173, 1419, 1602, 1694, 1690, 
-    1602, 1458, 1285, 1108, 947, 820, 750, 763, 
-    880, 1103, 1406, 1735, 2026, 2224, 2309, 2292
-  },
-  {
-    2211, 2106, 2007, 1930, 1882, 1874, 1912, 1998, 
-    2117, 2239, 2337, 2403, 2465, 2566, 2744, 2996, 
-    3274, 3500, 3615, 3610, 3539, 3489, 3528, 3669, 
-    3863, 4029, 4095, 4068, 3974, 3886, 3854, 3885, 
-    3944, 3986, 3983, 3939, 3886, 3854, 3856, 3879, 
-    3900, 3900, 3878, 3849, 3827, 3822, 3829, 3835, 
-    3833, 3820, 3803, 3789, 3783, 3782, 3781, 3775, 
-    3766, 3755, 3747, 3741, 3736, 3731, 3724, 3716, 
-    3708, 3703, 3698, 3693, 3687, 3678, 3670, 3663, 
-    3658, 3653, 3648, 3642, 3634, 3625, 3618, 3612, 
-    3607, 3602, 3596, 3589, 3582, 3575, 3569, 3563, 
-    3558, 3552, 3546, 3540, 3533, 3527, 3521, 3515, 
-    3509, 3504, 3498, 3493, 3488, 3481, 3474, 3466, 
-    3461, 3457, 3455, 3452, 3445, 3434, 3423, 3415, 
-    3415, 3418, 3420, 3414, 3397, 3378, 3366, 3367, 
-    3369, 3348, 3276, 3139, 2955, 2769, 2632, 2574, 
-    2575, 2574, 2495, 2296, 1995, 1671, 1424, 1317, 
-    1341, 1414, 1427, 1310, 1070, 787, 570, 487, 
-    531, 623, 661, 584, 401, 186, 30, 0, 
-    49, 157, 241, 258, 217, 159, 127, 141, 
-    188, 236, 259, 251, 229, 214, 219, 242, 
-    269, 286, 288, 282, 278, 283, 297, 313, 
-    325, 329, 330, 332, 339, 350, 360, 368, 
-    372, 376, 382, 390, 398, 406, 412, 417, 
-    422, 428, 436, 445, 452, 457, 461, 466, 
-    473, 481, 489, 496, 501, 505, 510, 516, 
-    524, 532, 539, 544, 548, 553, 558, 566, 
-    573, 580, 585, 590, 595, 601, 607, 613, 
-    619, 624, 629, 636, 643, 649, 654, 657, 
-    660, 666, 675, 685, 693, 694, 692, 692, 
-    698, 713, 729, 739, 739, 739, 763, 838, 
-    973, 1151, 1331, 1463, 1520, 1519, 1512, 1562
-  },
-  {
-    1707, 1931, 2171, 2349, 2413, 2363, 2253, 2151, 
-    2108, 2140, 2228, 2354, 2516, 2734, 3020, 3356, 
-    3684, 3923, 4013, 3952, 3799, 3649, 3577, 3606, 
-    3697, 3783, 3810, 3768, 3692, 3630, 3616, 3646, 
-    3689, 3710, 3695, 3656, 3619, 3603, 3612, 3631, 
-    3640, 3632, 3610, 3588, 3577, 3578, 3583, 3585, 
-    3578, 3564, 3551, 3543, 3541, 3540, 3537, 3530, 
-    3520, 3512, 3506, 3502, 3498, 3493, 3486, 3479, 
-    3472, 3468, 3463, 3458, 3453, 3446, 3439, 3433, 
-    3429, 3424, 3419, 3414, 3408, 3401, 3395, 3390, 
-    3386, 3381, 3376, 3370, 3364, 3358, 3353, 3348, 
-    3344, 3339, 3334, 3328, 3322, 3317, 3312, 3307, 
-    3303, 3298, 3293, 3288, 3283, 3278, 3272, 3266, 
-    3262, 3258, 3255, 3252, 3246, 3238, 3230, 3223, 
-    3221, 3223, 3224, 3220, 3208, 3193, 3181, 3180, 
-    3190, 3200, 3200, 3183, 3155, 3134, 3134, 3145, 
-    3130, 3034, 2811, 2462, 2046, 1665, 1414, 1330, 
-    1367, 1413, 1352, 1122, 760, 381, 116, 45, 
-    153, 346, 506, 555, 493, 382, 301, 297, 
-    363, 447, 498, 492, 448, 406, 396, 425, 
-    470, 503, 508, 491, 471, 467, 483, 508, 
-    529, 535, 530, 523, 524, 535, 550, 562, 
-    568, 568, 568, 573, 582, 593, 601, 606, 
-    609, 611, 617, 625, 633, 640, 645, 648, 
-    651, 656, 663, 671, 677, 682, 686, 690, 
-    695, 701, 708, 715, 720, 724, 728, 732, 
-    738, 745, 752, 757, 761, 764, 768, 774, 
-    781, 787, 792, 796, 800, 804, 809, 815, 
-    821, 826, 830, 835, 839, 845, 851, 855, 
-    859, 862, 867, 874, 881, 887, 890, 890, 
-    890, 895, 906, 918, 926, 926, 920, 915, 
-    919, 934, 954, 968, 976, 996, 1068, 1233
-  },
-  {
-    1507, 1856, 2193, 2413, 2442, 2290, 2057, 1904, 
-    1976, 2331, 2901, 3518, 3992, 4095, 4095, 3903, 
-    3665, 3542, 3570, 3694, 3817, 3865, 3821, 3726, 
-    3645, 3621, 3652, 3704, 3735, 3726, 3687, 3646, 
-    3624, 3626, 3639, 3647, 3645, 3635, 3624, 3615, 
-    3603, 3587, 3573, 3569, 3574, 3560, 3475, 3265, 
-    2908, 2446, 1976, 1611, 1425, 1405, 1455, 1442, 
-    1271, 937, 530, 186, 14, 38, 191, 357, 
-    438, 404, 299, 200, 170, 216, 301, 368, 
-    384, 353, 308, 285, 297, 332, 367, 384, 
-    383, 375, 372, 376, 382, 387, 395, 411, 
-    434, 452, 453, 443, 464, 584, 868, 1332, 
-    1914, 2487, 2911, 3104, 3087, 2972, 2911, 3008, 
-    3268, 3599, 3869, 3982, 3926, 3774, 3632, 3580, 
-    3628, 3728, 3810, 3827, 3782, 3709, 3653, 3636, 
-    3655, 3689, 3712, 3701, 3635, 3495, 3276, 2998, 
-    2715, 2493, 2374, 2338, 2299, 2141, 1783, 1237, 
-    622, 113, 0, 0, 116, 392, 562, 561, 
-    431, 278, 200, 232, 337, 440, 481, 451, 
-    387, 341, 342, 385, 436, 466, 466, 447, 
-    431, 430, 443, 460, 473, 484, 496, 507, 
-    511, 509, 521, 592, 769, 1071, 1465, 1866, 
-    2174, 2328, 2349, 2333, 2410, 2665, 3089, 3575, 
-    3972, 4095, 4095, 3941, 3739, 3634, 3661, 3776, 
-    3890, 3933, 3888, 3796, 3719, 3696, 3728, 3778, 
-    3808, 3797, 3759, 3719, 3698, 3699, 3711, 3718, 
-    3715, 3707, 3699, 3689, 3674, 3654, 3638, 3638, 
-    3646, 3626, 3515, 3255, 2831, 2302, 1782, 1398, 
-    1222, 1229, 1308, 1322, 1178, 880, 522, 236, 
-    115, 168, 319, 461, 513, 463, 357, 267, 
-    243, 290, 372, 442, 468, 444, 393, 353, 
-    362, 452, 639, 911, 1230, 1534, 1767, 1903
-  },
-  {
-    1962, 2005, 2092, 2251, 2456, 2649, 2781, 2850, 
-    2908, 3022, 3228, 3493, 3728, 3842, 3794, 3627, 
-    3443, 3341, 3365, 3480, 3601, 3644, 3580, 3441, 
-    3300, 3222, 3226, 3278, 3305, 3239, 3041, 2722, 
-    2338, 1968, 1689, 1544, 1526, 1580, 1626, 1592, 
-    1451, 1235, 1020, 891, 909, 1082, 1369, 1698, 
-    1993, 2202, 2310, 2341, 2348, 2396, 2537, 2784, 
-    3102, 3416, 3640, 3720, 3658, 3514, 3372, 3302, 
-    3323, 3402, 3482, 3514, 3486, 3420, 3359, 3332, 
-    3347, 3388, 3420, 3405, 3312, 3126, 2854, 2536, 
-    2231, 2003, 1889, 1873, 1891, 1857, 1707, 1440, 
-    1119, 847, 715, 760, 954, 1220, 1470, 1644, 
-    1726, 1740, 1737, 1776, 1905, 2144, 2477, 2849, 
-    3180, 3394, 3456, 3386, 3256, 3152, 3136, 3212, 
-    3334, 3437, 3471, 3429, 3345, 3268, 3237, 3259, 
-    3311, 3352, 3333, 3215, 2982, 2647, 2263, 1907, 
-    1655, 1544, 1548, 1579, 1534, 1344, 1020, 652, 
-    364, 248, 314, 489, 664, 748, 719, 618, 
-    522, 489, 535, 632, 733, 802, 827, 821, 
-    811, 834, 924, 1107, 1389, 1743, 2108, 2405, 
-    2573, 2602, 2542, 2481, 2504, 2645, 2871, 3097, 
-    3229, 3206, 3024, 2731, 2402, 2111, 1906, 1798, 
-    1765, 1755, 1707, 1569, 1326, 1012, 699, 475, 
-    394, 454, 598, 739, 809, 789, 711, 631, 
-    599, 626, 689, 751, 778, 764, 724, 693, 
-    706, 798, 982, 1252, 1570, 1873, 2100, 2213, 
-    2229, 2211, 2247, 2398, 2668, 2990, 3262, 3393, 
-    3346, 3150, 2883, 2631, 2456, 2374, 2361, 2364, 
-    2326, 2197, 1958, 1626, 1255, 927, 715, 654, 
-    723, 852, 953, 970, 898, 779, 678, 641, 
-    677, 757, 833, 872, 859, 811, 764, 764, 
-    855, 1060, 1365, 1715, 2023, 2215, 2272, 2249
-  },
-  {
-    2257, 2389, 2661, 2971, 3150, 3053, 2652, 2077, 
-    1558, 1308, 1411, 1787, 2248, 2610, 2801, 2879, 
-    2974, 3182, 3494, 3795, 3942, 3850, 3543, 3141, 
-    2782, 2556, 2470, 2472, 2499, 2521, 2547, 2595, 
-    2666, 2737, 2777, 2776, 2764, 2795, 2915, 3136, 
-    3415, 3680, 3859, 3910, 3830, 3653, 3427, 3197, 
-    3000, 2856, 2776, 2752, 2766, 2791, 2799, 2773, 
-    2714, 2642, 2583, 2563, 2596, 2674, 2779, 2887, 
-    2976, 3032, 3055, 3049, 3026, 2999, 2977, 2967, 
-    2969, 2977, 2986, 2989, 2983, 2970, 2955, 2947, 
-    2946, 2952, 2955, 2941, 2902, 2832, 2738, 2634, 
-    2540, 2475, 2451, 2470, 2522, 2591, 2656, 2701, 
-    2721, 2722, 2724, 2753, 2830, 2967, 3152, 3355, 
-    3531, 3636, 3637, 3523, 3312, 3043, 2767, 2532, 
-    2374, 2306, 2312, 2359, 2404, 2412, 2368, 2285, 
-    2199, 2156, 2194, 2328, 2550, 2829, 3122, 3382, 
-    3565, 3629, 3543, 3297, 2914, 2455, 2012, 1674, 
-    1492, 1454, 1481, 1467, 1325, 1032, 647, 283, 
-    58, 40, 226, 548, 909, 1224, 1451, 1586, 
-    1647, 1657, 1633, 1587, 1537, 1503, 1503, 1536, 
-    1577, 1578, 1495, 1304, 1023, 704, 417, 228, 
-    171, 246, 424, 657, 894, 1094, 1234, 1307, 
-    1323, 1307, 1286, 1284, 1313, 1371, 1440, 1494, 
-    1513, 1483, 1408, 1305, 1197, 1107, 1050, 1027, 
-    1034, 1058, 1086, 1107, 1116, 1114, 1106, 1098, 
-    1095, 1101, 1114, 1127, 1136, 1137, 1132, 1130, 
-    1143, 1181, 1250, 1344, 1448, 1542, 1607, 1630, 
-    1611, 1559, 1491, 1427, 1383, 1364, 1362, 1359, 
-    1330, 1253, 1120, 938, 738, 561, 455, 457, 
-    581, 816, 1123, 1446, 1727, 1921, 2007, 1995, 
-    1921, 1833, 1773, 1764, 1801, 1856, 1888, 1858, 
-    1743, 1541, 1272, 975, 702, 507, 441, 531
-  },
-  {
-    774, 1124, 1511, 1857, 2118, 2294, 2437, 2619, 
-    2894, 3258, 3648, 3959, 4095, 4007, 3717, 3307, 
-    2882, 2528, 2295, 2189, 2191, 2278, 2428, 2623, 
-    2835, 3029, 3168, 3235, 3238, 3215, 3215, 3278, 
-    3411, 3583, 3742, 3829, 3801, 3645, 3376, 3036, 
-    2679, 2361, 2135, 2037, 2079, 2245, 2497, 2779, 
-    3036, 3225, 3329, 3352, 3323, 3276, 3246, 3254, 
-    3302, 3373, 3434, 3448, 3384, 3226, 2983, 2688, 
-    2388, 2141, 1994, 1978, 2099, 2333, 2637, 2953, 
-    3227, 3416, 3500, 3488, 3405, 3292, 3187, 3118, 
-    3093, 3099, 3111, 3094, 3018, 2869, 2654, 2402, 
-    2160, 1980, 1910, 1975, 2176, 2482, 2842, 3191, 
-    3472, 3641, 3682, 3606, 3444, 3242, 3049, 2899, 
-    2810, 2777, 2774, 2762, 2704, 2579, 2391, 2173, 
-    1980, 1868, 1878, 2023, 2282, 2612, 2958, 3268, 
-    3497, 3609, 3576, 3386, 3050, 2617, 2165, 1786, 
-    1550, 1469, 1489, 1508, 1425, 1185, 816, 418, 
-    118, 15, 140, 449, 849, 1244, 1563, 1780, 
-    1895, 1916, 1852, 1708, 1503, 1272, 1067, 929, 
-    875, 886, 916, 912, 840, 702, 530, 378, 
-    298, 329, 482, 744, 1079, 1435, 1754, 1981, 
-    2079, 2036, 1868, 1617, 1337, 1082, 894, 791, 
-    766, 795, 842, 872, 865, 817, 746, 684, 
-    671, 736, 894, 1136, 1429, 1726, 1971, 2117, 
-    2133, 2014, 1780, 1477, 1160, 887, 699, 614, 
-    628, 710, 823, 927, 996, 1022, 1015, 1003, 
-    1020, 1094, 1242, 1456, 1707, 1950, 2130, 2200, 
-    2135, 1934, 1629, 1271, 925, 648, 481, 440, 
-    515, 674, 872, 1064, 1213, 1302, 1335, 1336, 
-    1344, 1397, 1520, 1709, 1931, 2128, 2243, 2231, 
-    2083, 1821, 1493, 1154, 854, 629, 511, 526, 
-    689, 993, 1390, 1797, 2119, 2292, 2322, 2291
-  },
-  {
-    2314, 2477, 2774, 3101, 3304, 3269, 2996, 2616, 
-    2327, 2289, 2534, 2943, 3314, 3465, 3329, 2981, 
-    2577, 2272, 2135, 2143, 2217, 2293, 2362, 2459, 
-    2629, 2873, 3136, 3336, 3402, 3317, 3119, 2875, 
-    2646, 2469, 2348, 2279, 2254, 2274, 2335, 2425, 
-    2519, 2592, 2629, 2631, 2615, 2602, 2605, 2627, 
-    2661, 2697, 2726, 2738, 2725, 2679, 2596, 2477, 
-    2338, 2202, 2098, 2053, 2084, 2196, 2379, 2609, 
-    2850, 3062, 3206, 3253, 3193, 3035, 2807, 2549, 
-    2305, 2114, 2001, 1978, 2037, 2157, 2310, 2463, 
-    2591, 2678, 2718, 2716, 2683, 2633, 2582, 2538, 
-    2510, 2496, 2492, 2489, 2477, 2447, 2397, 2331, 
-    2260, 2201, 2172, 2191, 2269, 2406, 2591, 2794, 
-    2982, 3116, 3165, 3116, 2973, 2757, 2503, 2255, 
-    2054, 1930, 1903, 1972, 2119, 2315, 2524, 2715, 
-    2864, 2950, 2961, 2886, 2724, 2491, 2223, 1971, 
-    1787, 1696, 1687, 1710, 1698, 1602, 1413, 1175, 
-    963, 848, 869, 1014, 1236, 1474, 1680, 1830, 
-    1921, 1953, 1923, 1822, 1647, 1415, 1162, 942, 
-    800, 766, 840, 999, 1206, 1422, 1617, 1764, 
-    1851, 1872, 1835, 1757, 1663, 1577, 1518, 1490, 
-    1486, 1495, 1501, 1496, 1478, 1449, 1415, 1385, 
-    1370, 1381, 1428, 1513, 1632, 1770, 1905, 2008, 
-    2053, 2024, 1913, 1731, 1501, 1261, 1050, 908, 
-    862, 922, 1078, 1303, 1559, 1802, 1993, 2106, 
-    2129, 2070, 1950, 1798, 1645, 1517, 1431, 1391, 
-    1392, 1424, 1472, 1524, 1566, 1595, 1608, 1611, 
-    1615, 1627, 1658, 1708, 1774, 1845, 1904, 1932, 
-    1913, 1836, 1700, 1518, 1317, 1131, 998, 947, 
-    994, 1135, 1351, 1604, 1853, 2054, 2176, 2199, 
-    2128, 1981, 1788, 1585, 1398, 1250, 1158, 1137, 
-    1201, 1350, 1563, 1801, 2007, 2140, 2189, 2186
-  },
-  {
-    2189, 2248, 2375, 2527, 2635, 2643, 2551, 2422, 
-    2354, 2421, 2630, 2905, 3131, 3208, 3107, 2880, 
-    2624, 2431, 2342, 2340, 2379, 2423, 2468, 2540, 
-    2662, 2834, 3015, 3151, 3196, 3140, 3009, 2847, 
-    2695, 2577, 2495, 2447, 2430, 2450, 2510, 2605, 
-    2717, 2822, 2898, 2932, 2923, 2881, 2818, 2746, 
-    2675, 2613, 2568, 2545, 2543, 2555, 2572, 2583, 
-    2585, 2576, 2563, 2553, 2552, 2563, 2586, 2616, 
-    2648, 2676, 2695, 2700, 2689, 2665, 2632, 2593, 
-    2557, 2529, 2511, 2504, 2507, 2514, 2522, 2526, 
-    2523, 2515, 2507, 2504, 2516, 2546, 2595, 2658, 
-    2723, 2778, 2807, 2802, 2760, 2685, 2587, 2482, 
-    2385, 2314, 2282, 2295, 2356, 2458, 2586, 2720, 
-    2838, 2919, 2948, 2917, 2825, 2683, 2510, 2334, 
-    2186, 2093, 2071, 2118, 2221, 2352, 2488, 2609, 
-    2702, 2760, 2770, 2719, 2597, 2408, 2178, 1954, 
-    1784, 1698, 1689, 1714, 1713, 1638, 1482, 1280, 
-    1098, 997, 1009, 1121, 1288, 1458, 1594, 1684, 
-    1734, 1751, 1736, 1678, 1568, 1411, 1232, 1071, 
-    966, 940, 992, 1104, 1245, 1388, 1514, 1609, 
-    1667, 1682, 1653, 1584, 1487, 1379, 1282, 1211, 
-    1177, 1181, 1219, 1280, 1354, 1428, 1490, 1533, 
-    1554, 1555, 1544, 1529, 1518, 1517, 1524, 1536, 
-    1545, 1546, 1536, 1514, 1484, 1451, 1423, 1404, 
-    1399, 1409, 1432, 1465, 1502, 1538, 1567, 1587, 
-    1595, 1593, 1585, 1576, 1571, 1573, 1581, 1590, 
-    1593, 1582, 1552, 1502, 1440, 1376, 1324, 1296, 
-    1302, 1343, 1417, 1514, 1618, 1715, 1786, 1819, 
-    1805, 1744, 1643, 1517, 1386, 1269, 1188, 1156, 
-    1185, 1277, 1420, 1595, 1770, 1915, 2003, 2022, 
-    1977, 1883, 1760, 1626, 1499, 1393, 1326, 1316, 
-    1375, 1500, 1668, 1846, 1998, 2102, 2152, 2156
-  },
-  {
-    2126, 2069, 1990, 1899, 1820, 1789, 1831, 1951, 
-    2117, 2280, 2399, 2473, 2545, 2676, 2908, 3223, 
-    3547, 3784, 3872, 3816, 3691, 3602, 3618, 3744, 
-    3917, 4050, 4087, 4029, 3930, 3856, 3845, 3890, 
-    3948, 3976, 3956, 3905, 3856, 3837, 3849, 3875, 
-    3890, 3881, 3854, 3825, 3809, 3810, 3818, 3823, 
-    3817, 3801, 3784, 3772, 3768, 3768, 3767, 3760, 
-    3750, 3739, 3731, 3725, 3721, 3716, 3709, 3701, 
-    3693, 3686, 3680, 3675, 3669, 3662, 3655, 3648, 
-    3642, 3635, 3629, 3623, 3617, 3611, 3604, 3598, 
-    3592, 3586, 3581, 3575, 3568, 3561, 3554, 3548, 
-    3543, 3539, 3535, 3529, 3523, 3515, 3508, 3502, 
-    3497, 3493, 3489, 3484, 3476, 3467, 3459, 3453, 
-    3449, 3447, 3445, 3440, 3431, 3419, 3409, 3404, 
-    3406, 3410, 3409, 3399, 3381, 3364, 3356, 3359, 
-    3362, 3342, 3278, 3167, 3029, 2905, 2830, 2810, 
-    2807, 2753, 2586, 2293, 1924, 1579, 1354, 1287, 
-    1336, 1393, 1348, 1149, 834, 511, 297, 251, 
-    342, 473, 536, 475, 313, 131, 17, 13, 
-    95, 201, 266, 262, 211, 157, 139, 167, 
-    218, 261, 274, 258, 235, 224, 236, 264, 
-    290, 303, 301, 293, 290, 297, 313, 330, 
-    341, 345, 345, 346, 352, 362, 374, 383, 
-    389, 392, 396, 401, 409, 418, 427, 433, 
-    438, 443, 448, 454, 462, 471, 478, 483, 
-    487, 492, 498, 506, 514, 521, 526, 531, 
-    535, 541, 548, 556, 563, 569, 573, 577, 
-    582, 589, 597, 604, 611, 615, 618, 622, 
-    627, 635, 643, 651, 657, 660, 662, 664, 
-    670, 679, 691, 700, 705, 703, 700, 701, 
-    710, 727, 744, 753, 751, 749, 768, 829, 
-    937, 1074, 1201, 1278, 1296, 1287, 1314, 1439
-  },
-  {
-    1679, 1983, 2247, 2369, 2302, 2087, 1843, 1700, 
-    1737, 1938, 2211, 2449, 2598, 2684, 2791, 2997, 
-    3316, 3676, 3960, 4077, 4013, 3844, 3683, 3621, 
-    3676, 3792, 3885, 3900, 3836, 3743, 3680, 3678, 
-    3723, 3774, 3791, 3766, 3717, 3677, 3666, 3682, 
-    3705, 3713, 3700, 3674, 3651, 3641, 3644, 3651, 
-    3652, 3643, 3628, 3615, 3607, 3605, 3604, 3600, 
-    3593, 3584, 3576, 3569, 3565, 3560, 3554, 3547, 
-    3541, 3535, 3529, 3523, 3517, 3511, 3505, 3500, 
-    3494, 3489, 3483, 3476, 3470, 3465, 3460, 3454, 
-    3449, 3442, 3437, 3431, 3426, 3421, 3416, 3410, 
-    3404, 3398, 3393, 3389, 3385, 3380, 3375, 3368, 
-    3362, 3357, 3353, 3349, 3345, 3339, 3332, 3324, 
-    3317, 3313, 3311, 3309, 3305, 3298, 3288, 3279, 
-    3273, 3273, 3276, 3276, 3269, 3255, 3239, 3229, 
-    3232, 3243, 3252, 3247, 3225, 3197, 3180, 3185, 
-    3196, 3167, 3042, 2782, 2401, 1970, 1594, 1363, 
-    1298, 1341, 1373, 1284, 1029, 658, 289, 49, 
-    2, 120, 305, 443, 472, 400, 292, 224, 
-    233, 303, 383, 426, 415, 371, 334, 329, 
-    360, 403, 433, 437, 421, 404, 402, 417, 
-    440, 459, 466, 463, 459, 460, 469, 482, 
-    494, 501, 505, 507, 511, 517, 525, 533, 
-    540, 546, 551, 557, 562, 567, 573, 579, 
-    586, 593, 599, 603, 608, 613, 619, 627, 
-    634, 639, 643, 647, 652, 659, 666, 673, 
-    678, 682, 686, 690, 697, 704, 711, 716, 
-    720, 723, 728, 734, 741, 748, 754, 757, 
-    759, 763, 769, 777, 786, 792, 794, 794, 
-    795, 800, 810, 823, 831, 833, 829, 825, 
-    827, 840, 860, 875, 878, 866, 849, 845, 
-    863, 897, 927, 930, 904, 879, 908, 1042
-  },
-  {
-    1292, 1614, 1922, 2135, 2224, 2239, 2286, 2469, 
-    2821, 3277, 3702, 3959, 3986, 3827, 3612, 3474, 
-    3484, 3616, 3775, 3864, 3839, 3731, 3617, 3564, 
-    3590, 3659, 3717, 3725, 3683, 3625, 3586, 3582, 
-    3603, 3626, 3633, 3622, 3604, 3586, 3570, 3558, 
-    3551, 3553, 3555, 3529, 3422, 3183, 2804, 2335, 
-    1886, 1568, 1442, 1469, 1530, 1482, 1241, 834, 
-    384, 50, 0, 38, 259, 458, 536, 479, 
-    354, 251, 233, 296, 391, 454, 458, 415, 
-    368, 351, 372, 414, 448, 459, 452, 442, 
-    440, 447, 455, 461, 467, 482, 504, 520, 
-    520, 516, 558, 721, 1066, 1597, 2230, 2820, 
-    3221, 3360, 3278, 3112, 3025, 3118, 3381, 3706, 
-    3952, 4026, 3931, 3752, 3600, 3551, 3606, 3706, 
-    3781, 3788, 3734, 3660, 3608, 3599, 3625, 3661, 
-    3680, 3662, 3590, 3455, 3261, 3036, 2826, 2679, 
-    2610, 2574, 2477, 2221, 1762, 1156, 546, 102, 
-    0, 33, 287, 531, 639, 584, 432, 293, 
-    250, 312, 425, 513, 530, 484, 420, 387, 
-    403, 452, 499, 519, 509, 489, 478, 484, 
-    499, 513, 522, 531, 544, 556, 560, 558, 
-    576, 663, 865, 1193, 1595, 1975, 2236, 2335, 
-    2322, 2314, 2442, 2765, 3238, 3723, 4063, 4095, 
-    4040, 3809, 3614, 3552, 3628, 3770, 3878, 3894, 
-    3822, 3720, 3653, 3652, 3699, 3750, 3768, 3744, 
-    3699, 3664, 3653, 3662, 3673, 3675, 3667, 3658, 
-    3652, 3646, 3632, 3610, 3593, 3592, 3595, 3554, 
-    3391, 3045, 2511, 1874, 1281, 879, 742, 827, 
-    996, 1085, 993, 731, 406, 161, 88, 184, 
-    363, 513, 562, 508, 408, 333, 324, 375, 
-    448, 501, 515, 493, 457, 433, 443, 510, 
-    648, 851, 1086, 1295, 1427, 1476, 1501, 1604
-  },
-  {
-    1873, 2315, 2828, 3239, 3395, 3259, 2944, 2665, 
-    2622, 2890, 3375, 3857, 4095, 4038, 3680, 3215, 
-    2844, 2686, 2728, 2850, 2894, 2743, 2370, 1837, 
-    1266, 781, 472, 367, 430, 577, 712, 763, 
-    708, 582, 450, 376, 391, 475, 577, 641, 
-    639, 582, 516, 500, 588, 801, 1125, 1507, 
-    1867, 2134, 2272, 2305, 2319, 2417, 2670, 3068, 
-    3520, 3889, 4070, 4037, 3861, 3665, 3559, 3583, 
-    3699, 3824, 3884, 3850, 3745, 3620, 3524, 3480, 
-    3480, 3496, 3485, 3395, 3178, 2813, 2321, 1781, 
-    1307, 1002, 908, 981, 1105, 1149, 1037, 782, 
-    479, 260, 229, 422, 801, 1277, 1745, 2120, 
-    2355, 2453, 2465, 2472, 2561, 2787, 3136, 3532, 
-    3861, 4026, 3999, 3835, 3640, 3517, 3514, 3604, 
-    3716, 3779, 3761, 3684, 3598, 3551, 3560, 3608, 
-    3656, 3659, 3577, 3388, 3094, 2731, 2364, 2067, 
-    1893, 1836, 1829, 1768, 1563, 1196, 738, 318, 
-    67, 54, 259, 586, 917, 1156, 1271, 1286, 
-    1270, 1306, 1464, 1779, 2238, 2773, 3277, 3639, 
-    3791, 3737, 3562, 3385, 3310, 3371, 3525, 3683, 
-    3763, 3735, 3631, 3516, 3452, 3466, 3535, 3604, 
-    3611, 3503, 3257, 2887, 2447, 2021, 1695, 1521, 
-    1486, 1511, 1481, 1309, 984, 585, 241, 61, 
-    81, 241, 427, 535, 523, 422, 307, 250, 
-    279, 375, 493, 587, 635, 640, 626, 637, 
-    723, 936, 1301, 1794, 2337, 2813, 3116, 3204, 
-    3127, 3002, 2960, 3077, 3338, 3643, 3861, 3889, 
-    3691, 3308, 2828, 2358, 1983, 1748, 1651, 1641, 
-    1635, 1546, 1322, 974, 581, 256, 94, 120, 
-    281, 471, 590, 595, 509, 403, 341, 354, 
-    423, 503, 553, 554, 516, 470, 457, 521, 
-    698, 996, 1379, 1768, 2069, 2221, 2237, 2214
-  },
-  {
-    2279, 2510, 2874, 3226, 3379, 3210, 2744, 2152, 
-    1669, 1477, 1618, 1994, 2440, 2822, 3098, 3310, 
-    3522, 3751, 3949, 4039, 3972, 3776, 3543, 3381, 
-    3349, 3425, 3518, 3526, 3382, 3084, 2688, 2274, 
-    1916, 1668, 1562, 1605, 1784, 2059, 2367, 2637, 
-    2814, 2885, 2880, 2865, 2910, 3057, 3302, 3595, 
-    3863, 4036, 4077, 3991, 3820, 3627, 3465, 3367, 
-    3333, 3337, 3344, 3326, 3267, 3171, 3058, 2949, 
-    2866, 2820, 2808, 2816, 2823, 2808, 2763, 2695, 
-    2625, 2579, 2576, 2618, 2689, 2764, 2821, 2850, 
-    2853, 2848, 2854, 2887, 2954, 3048, 3153, 3246, 
-    3308, 3334, 3333, 3332, 3358, 3430, 3543, 3667, 
-    3759, 3773, 3680, 3482, 3207, 2907, 2640, 2452, 
-    2359, 2341, 2345, 2307, 2181, 1960, 1687, 1441, 
-    1308, 1348, 1573, 1940, 2372, 2784, 3106, 3303, 
-    3377, 3359, 3302, 3259, 3274, 3363, 3508, 3655, 
-    3728, 3654, 3397, 2975, 2469, 1988, 1637, 1462, 
-    1434, 1455, 1410, 1219, 883, 482, 142, 0, 
-    0, 179, 418, 606, 687, 669, 609, 580, 
-    639, 808, 1078, 1421, 1794, 2148, 2424, 2566, 
-    2541, 2352, 2051, 1722, 1448, 1284, 1233, 1248, 
-    1259, 1202, 1044, 797, 512, 256, 93, 55, 
-    139, 305, 494, 652, 749, 782, 779, 772, 
-    792, 851, 944, 1055, 1162, 1244, 1292, 1306, 
-    1299, 1291, 1304, 1347, 1415, 1486, 1533, 1536, 
-    1493, 1420, 1344, 1288, 1262, 1261, 1268, 1262, 
-    1228, 1161, 1068, 966, 876, 816, 790, 788, 
-    786, 758, 686, 575, 453, 364, 350, 442, 
-    638, 911, 1209, 1473, 1658, 1748, 1766, 1764, 
-    1804, 1933, 2155, 2426, 2668, 2799, 2761, 2542, 
-    2181, 1751, 1337, 1009, 807, 735, 759, 824, 
-    870, 850, 750, 597, 451, 388, 466, 705
-  },
-  {
-    1070, 1486, 1860, 2115, 2220, 2192, 2089, 1981, 
-    1927, 1954, 2066, 2251, 2498, 2802, 3152, 3520, 
-    3849, 4068, 4095, 3958, 3642, 3244, 2865, 2584, 
-    2435, 2403, 2441, 2503, 2553, 2578, 2577, 2557, 
-    2528, 2512, 2538, 2639, 2833, 3112, 3429, 3720, 
-    3915, 3973, 3886, 3690, 3437, 3188, 2986, 2855, 
-    2793, 2781, 2788, 2784, 2744, 2663, 2553, 2441, 
-    2362, 2346, 2403, 2527, 2691, 2859, 2996, 3083, 
-    3114, 3105, 3080, 3064, 3076, 3118, 3177, 3233, 
-    3263, 3256, 3211, 3142, 3067, 3007, 2971, 2958, 
-    2953, 2935, 2884, 2789, 2652, 2495, 2349, 2247, 
-    2214, 2256, 2358, 2488, 2613, 2704, 2751, 2764, 
-    2768, 2796, 2873, 3010, 3198, 3404, 3584, 3687, 
-    3677, 3538, 3286, 2963, 2629, 2344, 2155, 2078, 
-    2100, 2182, 2273, 2331, 2333, 2287, 2228, 2199, 
-    2241, 2376, 2598, 2879, 3177, 3442, 3625, 3681, 
-    3577, 3308, 2903, 2429, 1982, 1650, 1481, 1455, 
-    1488, 1468, 1307, 989, 577, 195, 0, 0, 
-    169, 523, 913, 1249, 1481, 1609, 1656, 1653, 
-    1620, 1574, 1530, 1505, 1511, 1545, 1579, 1570, 
-    1474, 1272, 982, 658, 372, 187, 139, 227, 
-    418, 662, 906, 1107, 1240, 1304, 1316, 1306, 
-    1309, 1348, 1431, 1542, 1654, 1731, 1746, 1687, 
-    1564, 1403, 1237, 1100, 1014, 982, 995, 1033, 
-    1074, 1103, 1111, 1102, 1086, 1074, 1072, 1083, 
-    1101, 1117, 1124, 1121, 1112, 1112, 1135, 1198, 
-    1303, 1444, 1600, 1740, 1836, 1865, 1825, 1728, 
-    1602, 1479, 1388, 1338, 1322, 1318, 1293, 1220, 
-    1086, 901, 695, 515, 411, 421, 560, 812, 
-    1133, 1464, 1744, 1931, 2006, 1985, 1905, 1816, 
-    1759, 1756, 1800, 1857, 1886, 1845, 1714, 1496, 
-    1217, 919, 652, 469, 412, 508, 757, 1121
-  },
-  {
-    1529, 1894, 2138, 2224, 2171, 2044, 1924, 1875, 
-    1917, 2030, 2181, 2351, 2550, 2802, 3122, 3481, 
-    3804, 4000, 3999, 3790, 3427, 3009, 2633, 2364, 
-    2225, 2208, 2298, 2490, 2778, 3143, 3537, 3889, 
-    4095, 4095, 4052, 3779, 3424, 3058, 2741, 2510, 
-    2383, 2361, 2427, 2555, 2707, 2844, 2939, 2984, 
-    2989, 2979, 2981, 3015, 3087, 3188, 3298, 3391, 
-    3438, 3412, 3299, 3102, 2840, 2554, 2291, 2103, 
-    2029, 2094, 2296, 2614, 3001, 3396, 3732, 3949, 
-    4007, 3894, 3628, 3255, 2839, 2447, 2141, 1963, 
-    1934, 2047, 2273, 2564, 2865, 3125, 3308, 3395, 
-    3388, 3305, 3175, 3033, 2905, 2812, 2759, 2740, 
-    2736, 2726, 2689, 2614, 2506, 2384, 2280, 2231, 
-    2267, 2407, 2647, 2957, 3291, 3589, 3794, 3862, 
-    3771, 3529, 3172, 2757, 2353, 2030, 1839, 1810, 
-    1938, 2189, 2512, 2851, 3156, 3389, 3523, 3533, 
-    3401, 3127, 2737, 2296, 1890, 1601, 1468, 1464, 
-    1501, 1471, 1298, 979, 590, 255, 86, 138, 
-    387, 752, 1137, 1467, 1707, 1850, 1897, 1838, 
-    1660, 1362, 975, 564, 212, 0, 0, 88, 
-    355, 697, 1051, 1364, 1598, 1730, 1755, 1686, 
-    1555, 1402, 1267, 1175, 1132, 1126, 1132, 1128, 
-    1094, 1026, 929, 820, 727, 679, 703, 815, 
-    1013, 1275, 1560, 1820, 2005, 2077, 2014, 1813, 
-    1500, 1117, 724, 390, 173, 115, 228, 493, 
-    864, 1278, 1667, 1970, 2144, 2171, 2057, 1832, 
-    1543, 1243, 983, 800, 714, 721, 804, 932, 
-    1075, 1202, 1295, 1349, 1369, 1373, 1383, 1419, 
-    1491, 1598, 1718, 1821, 1870, 1834, 1696, 1460, 
-    1154, 824, 530, 328, 261, 350, 589, 943, 
-    1354, 1755, 2076, 2266, 2296, 2171, 1923, 1603, 
-    1265, 960, 725, 591, 578, 699, 945, 1284
-  },
-  {
-    1654, 1980, 2202, 2302, 2323, 2348, 2464, 2715, 
-    3075, 3450, 3725, 3816, 3707, 3453, 3150, 2882, 
-    2696, 2591, 2549, 2556, 2624, 2780, 3036, 3370, 
-    3720, 4001, 4095, 4095, 3928, 3632, 3287, 2950, 
-    2666, 2464, 2366, 2382, 2507, 2712, 2956, 3189, 
-    3369, 3473, 3497, 3453, 3362, 3245, 3121, 3007, 
-    2920, 2868, 2853, 2865, 2890, 2912, 2919, 2911, 
-    2893, 2875, 2868, 2876, 2902, 2942, 2990, 3039, 
-    3078, 3100, 3098, 3072, 3025, 2965, 2904, 2851, 
-    2814, 2795, 2792, 2800, 2812, 2821, 2822, 2814, 
-    2801, 2791, 2796, 2827, 2890, 2982, 3090, 3193, 
-    3265, 3284, 3236, 3118, 2941, 2727, 2507, 2317, 
-    2195, 2169, 2259, 2460, 2749, 3082, 3403, 3656, 
-    3797, 3801, 3665, 3410, 3077, 2721, 2400, 2168, 
-    2061, 2087, 2225, 2432, 2662, 2873, 3044, 3160, 
-    3212, 3182, 3046, 2796, 2452, 2072, 1740, 1526, 
-    1455, 1483, 1519, 1466, 1273, 967, 637, 398, 
-    328, 441, 681, 964, 1212, 1390, 1500, 1555, 
-    1559, 1494, 1334, 1070, 734, 390, 118, 0, 
-    13, 193, 480, 817, 1152, 1440, 1646, 1744, 
-    1725, 1597, 1390, 1148, 920, 744, 641, 615, 
-    654, 743, 861, 987, 1102, 1189, 1238, 1250, 
-    1236, 1211, 1192, 1187, 1196, 1213, 1228, 1233, 
-    1224, 1198, 1158, 1110, 1061, 1020, 996, 998, 
-    1026, 1076, 1137, 1199, 1251, 1286, 1304, 1306, 
-    1299, 1288, 1279, 1278, 1285, 1297, 1306, 1301, 
-    1271, 1209, 1117, 1010, 908, 837, 819, 868, 
-    985, 1160, 1371, 1588, 1776, 1898, 1925, 1838, 
-    1639, 1353, 1022, 702, 450, 309, 306, 443, 
-    698, 1030, 1382, 1697, 1922, 2027, 2005, 1875, 
-    1675, 1447, 1229, 1048, 926, 877, 914, 1045, 
-    1261, 1535, 1821, 2068, 2235, 2307, 2293, 2223
-  },
-  {
-    2125, 2026, 1944, 1894, 1887, 1932, 2022, 2137, 
-    2250, 2346, 2435, 2555, 2752, 3044, 3403, 3751, 
-    4001, 4093, 4033, 3890, 3762, 3719, 3776, 3889, 
-    3988, 4022, 3986, 3919, 3869, 3867, 3905, 3949, 
-    3966, 3945, 3900, 3860, 3846, 3856, 3876, 3886, 
-    3875, 3851, 3826, 3814, 3814, 3820, 3821, 3813, 
-    3798, 3784, 3775, 3771, 3769, 3765, 3757, 3748, 
-    3739, 3732, 3727, 3721, 3714, 3707, 3700, 3693, 
-    3688, 3682, 3675, 3668, 3660, 3653, 3648, 3643, 
-    3637, 3630, 3623, 3616, 3609, 3604, 3599, 3593, 
-    3587, 3580, 3573, 3567, 3561, 3556, 3550, 3544, 
-    3537, 3531, 3525, 3520, 3514, 3508, 3502, 3495, 
-    3489, 3485, 3480, 3475, 3468, 3461, 3453, 3447, 
-    3444, 3442, 3439, 3432, 3421, 3410, 3403, 3402, 
-    3406, 3408, 3401, 3385, 3366, 3354, 3356, 3364, 
-    3361, 3329, 3261, 3173, 3096, 3056, 3052, 3041, 
-    2957, 2743, 2394, 1972, 1585, 1334, 1257, 1303, 
-    1355, 1292, 1057, 693, 319, 65, 1, 104, 
-    276, 399, 407, 308, 172, 79, 71, 133, 
-    211, 254, 242, 195, 154, 148, 179, 225, 
-    259, 264, 249, 231, 228, 244, 269, 289, 
-    296, 294, 290, 293, 303, 317, 329, 335, 
-    339, 342, 348, 356, 365, 373, 378, 384, 
-    390, 398, 406, 412, 417, 423, 429, 436, 
-    444, 452, 457, 462, 467, 474, 482, 491, 
-    498, 503, 507, 511, 517, 525, 533, 541, 
-    546, 550, 553, 559, 566, 574, 581, 587, 
-    591, 595, 600, 607, 615, 622, 627, 630, 
-    634, 639, 647, 656, 663, 666, 668, 670, 
-    676, 687, 698, 705, 706, 703, 702, 709, 
-    724, 741, 751, 749, 744, 750, 784, 851, 
-    933, 1004, 1040, 1045, 1056, 1128, 1305, 1590
-  },
-  {
-    1930, 2238, 2433, 2476, 2394, 2256, 2144, 2105, 
-    2144, 2238, 2364, 2524, 2742, 3034, 3380, 3718, 
-    3963, 4056, 3998, 3854, 3717, 3664, 3711, 3815, 
-    3906, 3931, 3883, 3800, 3735, 3722, 3754, 3800, 
-    3823, 3808, 3767, 3727, 3709, 3718, 3738, 3749, 
-    3741, 3719, 3694, 3680, 3680, 3685, 3688, 3681, 
-    3668, 3654, 3644, 3640, 3639, 3636, 3630, 3621, 
-    3612, 3605, 3599, 3595, 3590, 3583, 3577, 3570, 
-    3563, 3557, 3552, 3546, 3540, 3534, 3528, 3522, 
-    3516, 3510, 3504, 3499, 3493, 3487, 3481, 3475, 
-    3469, 3464, 3459, 3454, 3448, 3441, 3435, 3430, 
-    3425, 3420, 3415, 3409, 3403, 3397, 3391, 3386, 
-    3381, 3377, 3373, 3367, 3360, 3353, 3347, 3342, 
-    3339, 3337, 3334, 3327, 3318, 3308, 3301, 3300, 
-    3302, 3304, 3299, 3286, 3269, 3256, 3256, 3267, 
-    3279, 3279, 3260, 3229, 3206, 3206, 3222, 3215, 
-    3126, 2905, 2548, 2112, 1700, 1414, 1299, 1317, 
-    1359, 1305, 1090, 741, 366, 95, 8, 98, 
-    274, 421, 460, 390, 272, 185, 178, 244, 
-    333, 390, 389, 345, 299, 285, 311, 358, 
-    395, 405, 390, 369, 362, 374, 399, 423, 
-    433, 431, 424, 422, 430, 445, 459, 468, 
-    471, 472, 474, 480, 489, 499, 507, 513, 
-    517, 521, 526, 532, 540, 547, 554, 560, 
-    564, 569, 574, 580, 588, 595, 601, 606, 
-    610, 614, 620, 628, 635, 641, 646, 650, 
-    654, 660, 667, 674, 680, 684, 688, 692, 
-    698, 706, 713, 720, 725, 728, 731, 735, 
-    742, 749, 757, 763, 766, 768, 770, 774, 
-    781, 791, 800, 806, 807, 805, 805, 810, 
-    822, 837, 849, 850, 842, 831, 831, 847, 
-    875, 897, 900, 887, 890, 961, 1146, 1451
-  },
-  {
-    1822, 2159, 2358, 2359, 2187, 1935, 1729, 1660, 
-    1748, 1944, 2173, 2384, 2578, 2797, 3076, 3406, 
-    3722, 3936, 3993, 3904, 3749, 3626, 3602, 3675, 
-    3786, 3859, 3855, 3785, 3700, 3651, 3657, 3700, 
-    3741, 3751, 3727, 3687, 3656, 3646, 3650, 3659, 
-    3663, 3663, 3658, 3649, 3631, 3606, 3585, 3582, 
-    3593, 3578, 3461, 3167, 2663, 2004, 1324, 791, 
-    523, 533, 713, 896, 937, 789, 517, 255, 
-    120, 153, 302, 463, 547, 526, 439, 354, 
-    326, 364, 434, 493, 512, 493, 459, 437, 
-    444, 490, 578, 707, 867, 1029, 1160, 1240, 
-    1291, 1382, 1603, 2014, 2596, 3241, 3789, 4095, 
-    4095, 3955, 3706, 3535, 3516, 3626, 3773, 3861, 
-    3845, 3751, 3647, 3594, 3612, 3670, 3721, 3729, 
-    3695, 3646, 3611, 3606, 3620, 3635, 3639, 3631, 
-    3619, 3607, 3596, 3582, 3569, 3563, 3568, 3562, 
-    3496, 3314, 2985, 2539, 2067, 1688, 1485, 1459, 
-    1518, 1522, 1364, 1025, 593, 215, 17, 36, 
-    209, 409, 525, 511, 405, 292, 243, 278, 
-    363, 439, 465, 439, 393, 365, 371, 404, 
-    440, 460, 461, 454, 450, 453, 457, 459, 
-    465, 480, 505, 528, 532, 520, 534, 650, 
-    946, 1452, 2111, 2787, 3315, 3577, 3568, 3392, 
-    3216, 3177, 3319, 3576, 3822, 3946, 3913, 3774, 
-    3630, 3561, 3591, 3679, 3759, 3781, 3742, 3674, 
-    3619, 3602, 3618, 3648, 3669, 3664, 3623, 3539, 
-    3408, 3240, 3068, 2932, 2857, 2818, 2740, 2521, 
-    2095, 1481, 800, 227, 0, 0, 117, 404, 
-    599, 625, 507, 346, 249, 263, 361, 470, 
-    526, 507, 444, 389, 379, 415, 469, 508, 
-    516, 500, 479, 470, 476, 492, 511, 530, 
-    546, 554, 547, 534, 539, 608, 782, 1071
-  },
-  {
-    1438, 1802, 2085, 2246, 2311, 2358, 2470, 2684, 
-    2967, 3233, 3400, 3439, 3392, 3352, 3401, 3559, 
-    3770, 3922, 3907, 3674, 3257, 2764, 2325, 2036, 
-    1925, 1934, 1949, 1855, 1581, 1144, 640, 205, 
-    0, 0, 90, 311, 476, 519, 446, 323, 
-    232, 221, 285, 380, 451, 465, 424, 364, 
-    336, 393, 574, 892, 1319, 1788, 2203, 2482, 
-    2594, 2586, 2568, 2660, 2928, 3341, 3782, 4095, 
-    4095, 4075, 3782, 3454, 3204, 3083, 3078, 3117, 
-    3110, 2972, 2654, 2160, 1551, 939, 454, 193, 
-    180, 346, 562, 698, 685, 541, 357, 231, 
-    221, 313, 442, 534, 546, 489, 409, 371, 
-    429, 611, 914, 1300, 1699, 2032, 2238, 2310, 
-    2312, 2356, 2547, 2924, 3424, 3907, 4095, 4095, 
-    4095, 3905, 3706, 3642, 3716, 3854, 3962, 3978, 
-    3897, 3764, 3637, 3559, 3541, 3561, 3573, 3514, 
-    3323, 2958, 2424, 1795, 1194, 758, 567, 611, 
-    781, 927, 927, 752, 471, 216, 112, 221, 
-    527, 949, 1386, 1751, 1998, 2123, 2169, 2206, 
-    2317, 2560, 2939, 3393, 3809, 4076, 4095, 4017, 
-    3816, 3651, 3600, 3666, 3787, 3882, 3898, 3835, 
-    3738, 3664, 3648, 3689, 3751, 3780, 3724, 3541, 
-    3219, 2788, 2317, 1900, 1622, 1511, 1518, 1534, 
-    1441, 1178, 777, 352, 44, 0, 84, 364, 
-    673, 906, 1015, 1018, 983, 997, 1139, 1458, 
-    1952, 2560, 3172, 3658, 3919, 3932, 3765, 3549, 
-    3413, 3427, 3571, 3757, 3884, 3894, 3801, 3670, 
-    3576, 3562, 3622, 3704, 3742, 3675, 3466, 3115, 
-    2664, 2191, 1791, 1542, 1461, 1486, 1498, 1378, 
-    1076, 640, 206, 0, 0, 0, 219, 401, 
-    456, 387, 264, 172, 162, 234, 348, 458, 
-    535, 571, 575, 577, 624, 783, 1118, 1646
-  },
-  {
-    2301, 2928, 3333, 3373, 3033, 2452, 1865, 1493, 
-    1442, 1663, 2005, 2313, 2518, 2665, 2852, 3153, 
-    3549, 3931, 4095, 4095, 4015, 3777, 3611, 3599, 
-    3729, 3902, 3989, 3888, 3565, 3054, 2440, 1832, 
-    1333, 1019, 921, 1018, 1236, 1473, 1634, 1670, 
-    1597, 1492, 1459, 1587, 1911, 2402, 2971, 3507, 
-    3906, 4095, 4095, 3979, 3794, 3651, 3606, 3663, 
-    3772, 3860, 3861, 3745, 3531, 3271, 3030, 2857, 
-    2766, 2729, 2688, 2577, 2343, 1979, 1529, 1083, 
-    755, 639, 778, 1144, 1650, 2178, 2619, 2906, 
-    3031, 3037, 2999, 2995, 3075, 3251, 3484, 3711, 
-    3863, 3901, 3831, 3701, 3581, 3529, 3561, 3646, 
-    3713, 3681, 3488, 3115, 2598, 2022, 1495, 1119, 
-    953, 989, 1154, 1335, 1429, 1385, 1227, 1048, 
-    966, 1077, 1417, 1945, 2565, 3155, 3609, 3865, 
-    3918, 3816, 3642, 3486, 3414, 3449, 3561, 3677, 
-    3707, 3580, 3275, 2832, 2339, 1906, 1614, 1487, 
-    1476, 1481, 1397, 1168, 815, 428, 124, 0, 
-    39, 206, 385, 483, 459, 345, 219, 175, 
-    284, 577, 1039, 1614, 2212, 2729, 3073, 3189, 
-    3091, 2856, 2600, 2431, 2402, 2488, 2603, 2635, 
-    2498, 2166, 1676, 1119, 600, 213, 13, 0, 
-    122, 298, 439, 488, 436, 328, 239, 239, 
-    367, 610, 914, 1208, 1430, 1557, 1606, 1632, 
-    1707, 1889, 2197, 2596, 3001, 3304, 3414, 3289, 
-    2955, 2496, 2023, 1636, 1390, 1289, 1284, 1301, 
-    1266, 1133, 903, 621, 360, 192, 155, 237, 
-    381, 510, 564, 526, 434, 362, 394, 590, 
-    967, 1485, 2058, 2579, 2949, 3113, 3078, 2918, 
-    2742, 2651, 2695, 2848, 3022, 3101, 2993, 2661, 
-    2141, 1525, 933, 469, 203, 144, 248, 430, 
-    595, 669, 630, 513, 396, 370, 495, 776
-  },
-  {
-    1160, 1558, 1882, 2075, 2129, 2081, 1993, 1922, 
-    1910, 1972, 2109, 2320, 2600, 2941, 3319, 3683, 
-    3966, 4095, 4081, 3913, 3676, 3464, 3347, 3341, 
-    3404, 3455, 3411, 3223, 2890, 2460, 2009, 1619, 
-    1361, 1280, 1385, 1646, 1996, 2354, 2641, 2812, 
-    2869, 2859, 2854, 2918, 3084, 3334, 3613, 3849, 
-    3981, 3984, 3874, 3700, 3521, 3385, 3311, 3292, 
-    3298, 3297, 3266, 3197, 3098, 2989, 2889, 2816, 
-    2779, 2772, 2782, 2785, 2765, 2714, 2644, 2578, 
-    2543, 2553, 2605, 2680, 2751, 2800, 2819, 2817, 
-    2812, 2824, 2866, 2939, 3034, 3134, 3218, 3270, 
-    3289, 3288, 3293, 3331, 3413, 3530, 3649, 3724, 
-    3713, 3594, 3373, 3089, 2795, 2552, 2395, 2329, 
-    2318, 2299, 2210, 2014, 1726, 1409, 1156, 1055, 
-    1157, 1455, 1893, 2379, 2820, 3146, 3327, 3373, 
-    3330, 3258, 3219, 3252, 3362, 3517, 3652, 3689, 
-    3568, 3269, 2828, 2331, 1884, 1577, 1442, 1438, 
-    1465, 1407, 1193, 828, 402, 46, 0, 0, 
-    125, 399, 622, 728, 719, 659, 630, 701, 
-    903, 1227, 1633, 2062, 2447, 2716, 2815, 2721, 
-    2457, 2094, 1725, 1436, 1272, 1224, 1237, 1237, 
-    1165, 999, 759, 500, 284, 163, 157, 254, 
-    411, 577, 708, 781, 802, 799, 805, 849, 
-    944, 1083, 1245, 1396, 1508, 1561, 1556, 1509, 
-    1453, 1416, 1413, 1442, 1483, 1513, 1517, 1498, 
-    1471, 1455, 1460, 1482, 1506, 1511, 1477, 1395, 
-    1271, 1120, 970, 850, 779, 761, 775, 788, 
-    764, 687, 566, 440, 360, 369, 492, 716, 
-    1001, 1290, 1526, 1676, 1740, 1752, 1775, 1869, 
-    2067, 2355, 2672, 2924, 3025, 2923, 2624, 2186, 
-    1702, 1263, 940, 761, 716, 758, 829, 869, 
-    839, 732, 578, 440, 394, 499, 773, 1173
-  },
-  {
-    1604, 1952, 2125, 2096, 1917, 1698, 1557, 1568, 
-    1730, 1980, 2235, 2444, 2616, 2802, 3057, 3384, 
-    3720, 3959, 4001, 3808, 3418, 2926, 2441, 2043, 
-    1773, 1639, 1642, 1783, 2052, 2415, 2807, 3142, 
-    3354, 3421, 3383, 3316, 3301, 3384, 3557, 3766, 
-    3936, 3997, 3904, 3646, 3246, 2755, 2247, 1808, 
-    1516, 1428, 1563, 1892, 2349, 2844, 3284, 3602, 
-    3765, 3787, 3713, 3611, 3543, 3547, 3625, 3740, 
-    3828, 3822, 3671, 3361, 2918, 2406, 1913, 1533, 
-    1343, 1384, 1654, 2103, 2645, 3178, 3611, 3883, 
-    3977, 3918, 3765, 3588, 3448, 3380, 3383, 3423, 
-    3444, 3386, 3204, 2888, 2466, 2006, 1598, 1332, 
-    1274, 1445, 1818, 2323, 2864, 3348, 3698, 3876, 
-    3880, 3744, 3522, 3278, 3068, 2929, 2868, 2859, 
-    2855, 2797, 2641, 2374, 2027, 1668, 1386, 1260, 
-    1335, 1610, 2038, 2546, 3048, 3471, 3753, 3854, 
-    3752, 3459, 3018, 2512, 2039, 1690, 1508, 1471, 
-    1494, 1468, 1309, 1000, 600, 223, 0, 0, 
-    199, 601, 1096, 1595, 2026, 2341, 2509, 2512, 
-    2352, 2051, 1667, 1277, 962, 771, 712, 743, 
-    794, 799, 718, 557, 360, 194, 128, 211, 
-    461, 860, 1354, 1864, 2303, 2591, 2674, 2538, 
-    2211, 1758, 1268, 829, 511, 346, 324, 398, 
-    502, 571, 567, 489, 374, 286, 294, 445, 
-    756, 1198, 1708, 2197, 2573, 2761, 2718, 2450, 
-    2004, 1467, 936, 505, 234, 140, 198, 350, 
-    526, 665, 733, 730, 691, 670, 728, 909, 
-    1224, 1644, 2102, 2508, 2771, 2829, 2658, 2286, 
-    1785, 1247, 767, 419, 241, 236, 370, 590, 
-    832, 1040, 1178, 1238, 1246, 1250, 1307, 1464, 
-    1731, 2077, 2434, 2715, 2841, 2768, 2496, 2070, 
-    1564, 1062, 639, 358, 258, 353, 626, 1023
-  },
-  {
-    1459, 1835, 2070, 2132, 2053, 1917, 1822, 1830, 
-    1935, 2069, 2134, 2052, 1809, 1462, 1112, 856, 
-    753, 809, 989, 1242, 1520, 1786, 2008, 2165, 
-    2250, 2284, 2320, 2424, 2645, 2975, 3348, 3656, 
-    3800, 3736, 3491, 3151, 2813, 2543, 2368, 2279, 
-    2266, 2335, 2508, 2797, 3180, 3591, 3941, 4095, 
-    4095, 4001, 3709, 3357, 3008, 2711, 2495, 2379, 
-    2371, 2469, 2653, 2888, 3127, 3325, 3453, 3499, 
-    3469, 3384, 3267, 3141, 3024, 2933, 2875, 2852, 
-    2857, 2879, 2902, 2914, 2911, 2895, 2876, 2865, 
-    2869, 2893, 2932, 2982, 3032, 3073, 3098, 3102, 
-    3081, 3039, 2981, 2918, 2860, 2817, 2794, 2790, 
-    2799, 2812, 2822, 2822, 2814, 2801, 2791, 2794, 
-    2821, 2877, 2961, 3064, 3168, 3249, 3284, 3255, 
-    3155, 2990, 2780, 2556, 2355, 2216, 2168, 2231, 
-    2407, 2675, 2999, 3326, 3602, 3777, 3815, 3701, 
-    3447, 3087, 2677, 2284, 1976, 1805, 1794, 1931, 
-    2173, 2465, 2751, 2990, 3159, 3244, 3232, 3108, 
-    2868, 2534, 2157, 1813, 1575, 1475, 1483, 1521, 
-    1493, 1335, 1053, 723, 453, 338, 413, 647, 
-    962, 1276, 1534, 1715, 1821, 1850, 1785, 1606, 
-    1307, 918, 510, 170, 0, 0, 120, 405, 
-    750, 1095, 1391, 1607, 1723, 1730, 1631, 1447, 
-    1214, 977, 781, 655, 610, 638, 722, 838, 
-    962, 1077, 1168, 1226, 1250, 1244, 1222, 1199, 
-    1186, 1189, 1205, 1225, 1237, 1232, 1208, 1167, 
-    1118, 1069, 1028, 1004, 1000, 1020, 1061, 1118, 
-    1181, 1240, 1284, 1307, 1310, 1299, 1285, 1276, 
-    1277, 1288, 1302, 1309, 1302, 1272, 1218, 1140, 
-    1044, 943, 858, 814, 835, 936, 1111, 1334, 
-    1562, 1753, 1871, 1901, 1837, 1685, 1451, 1149, 
-    811, 492, 267, 210, 362, 705, 1162, 1620
-  }
-};

+ 39 - 0
util/sample_parser.py

@@ -0,0 +1,39 @@
+#! /bin/python
+#
+# Copyright 2019 Jack Humbert
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+import wave, struct, sys
+
+waveFile = wave.open(sys.argv[1], 'r')
+# print(str(waveFile.getparams()))
+# sys.exit()
+
+if (waveFile.getsampwidth() != 2):
+    raise(Exception("This script currently only works with 16bit audio files"))
+
+length = waveFile.getnframes()
+out = "#define DAC_SAMPLE_CUSTOM_LENGTH " + str(length) + "\n\n"
+out += "static const dacsample_t dac_sample_custom[" + str(length) + "] = {"
+for i in range(0,length):
+    if (i % 8 == 0):
+        out += "\n    "
+    waveData = waveFile.readframes(1)
+    data = struct.unpack("<h", waveData)
+    out += str(int((int(data[0]) + 0x8000) / 16)) + ", "
+out = out[:-2]
+out += "\n};"
+print(out)

+ 0 - 23
util/wav_parser.py

@@ -1,23 +0,0 @@
-#! /bin/python
-
-import wave, struct, sys
-
-waveFile = wave.open(sys.argv[1], 'r')
-
-length = waveFile.getnframes()
-out = "static const dacsample_t dac_buffer_custom[" + str(int(length / 256)) + "][256] = {"
-for i in range(0,length):
-    if (i % 8 == 0):
-        out += "\n    "
-    if (i % 256 == 0):
-        out = out[:-2]
-        out += "{\n    "
-    waveData = waveFile.readframes(1)
-    data = struct.unpack("<h", waveData)
-    out += str(int((int(data[0]) + 0x8000) / 16)) + ", "
-    if (i % 256 == 255):
-        out = out[:-2]
-        out += "\n  },"
-out = out[:-1]
-out += "\n};"
-print(out)

+ 40 - 0
util/wavetable_parser.py

@@ -0,0 +1,40 @@
+#! /bin/python
+#
+# Copyright 2019 Jack Humbert
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+import wave, struct, sys
+
+waveFile = wave.open(sys.argv[1], 'r')
+
+length = waveFile.getnframes()
+out = "#define DAC_WAVETABLE_CUSTOM_LENGTH " + str(int(length / 256)) + "\n\n"
+out += "static const dacsample_t dac_wavetable_custom[" + str(int(length / 256)) + "][256] = {"
+for i in range(0,length):
+    if (i % 8 == 0):
+        out += "\n    "
+    if (i % 256 == 0):
+        out = out[:-2]
+        out += "{\n    "
+    waveData = waveFile.readframes(1)
+    data = struct.unpack("<h", waveData)
+    out += str(int((int(data[0]) + 0x8000) / 16)) + ", "
+    if (i % 256 == 255):
+        out = out[:-2]
+        out += "\n  },"
+out = out[:-1]
+out += "\n};"
+print(out)