From ea465fb0a4e606fc417a0b2b16b57498f3b210ad Mon Sep 17 00:00:00 2001 From: Fernando Carmona Varo Date: Sat, 1 Jun 2019 10:32:34 +0200 Subject: [PATCH] Warning fixes/supressions With this there are no more warnings when compiling with mingw and with clang from android-ndk. There are some remaining implicit declaration and int conversion warnings in libretro-common when compiling using latest gcc on linux. But maybe they should be first fixed first in the upstream libretro-common so they are not reintroduced later on. --- deps/libmad/frame.c | 4 +- deps/libmad/layer3.c | 6 +- libretro/libretro.c | 15 +- libretro/libretro_sound.c | 9 +- src/am_map.c | 4 +- src/d_deh.c | 80 +- src/d_main.c | 20 +- src/doomtype.h | 10 +- src/hu_lib.c | 2 + src/hu_stuff.c | 2 +- src/info.c | 225 ++--- src/m_menu.c | 7 +- src/p_saveg.c | 30 +- src/tables.c | 1799 ++++++++++++++++++++++++++++++++++++- src/w_wad.c | 16 +- src/w_wad.h | 2 +- 16 files changed, 2017 insertions(+), 214 deletions(-) diff --git a/deps/libmad/frame.c b/deps/libmad/frame.c index d93fb3a0..a8198b72 100644 --- a/deps/libmad/frame.c +++ b/deps/libmad/frame.c @@ -299,7 +299,7 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream) if (!stream->sync) ptr = stream->this_frame; - if (end - ptr < stream->skiplen) { + if ((unsigned)(end - ptr) < stream->skiplen) { stream->skiplen -= end - ptr; stream->next_frame = end; @@ -384,7 +384,7 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream) } /* verify there is enough data left in buffer to decode this frame */ - if (N + MAD_BUFFER_GUARD > end - stream->this_frame) { + if (N + MAD_BUFFER_GUARD > (unsigned)(end - stream->this_frame)) { stream->next_frame = stream->this_frame; stream->error = MAD_ERROR_BUFLEN; diff --git a/deps/libmad/layer3.c b/deps/libmad/layer3.c index 78cf5af6..d0ddb5fe 100644 --- a/deps/libmad/layer3.c +++ b/deps/libmad/layer3.c @@ -880,7 +880,7 @@ mad_fixed_t III_requantize(unsigned int value, signed int exp) exp += power->exponent; if (exp < 0) { - if (-exp >= sizeof(mad_fixed_t) * CHAR_BIT) { + if (-exp >= (int)sizeof(mad_fixed_t) * CHAR_BIT) { /* underflow */ requantized = 0; } @@ -1035,7 +1035,7 @@ enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xr[576], break; case 15: - if (cachesz < linbits + 2) { + if (cachesz < (int)linbits + 2) { bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); cachesz += 16; bits_left -= 16; @@ -1070,7 +1070,7 @@ enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xr[576], break; case 15: - if (cachesz < linbits + 1) { + if (cachesz < (int)linbits + 1) { bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); cachesz += 16; bits_left -= 16; diff --git a/libretro/libretro.c b/libretro/libretro.c index eef89cf3..8e4553cf 100644 --- a/libretro/libretro.c +++ b/libretro/libretro.c @@ -498,7 +498,7 @@ static void extract_directory(char *buf, const char *path, size_t size) static char* remove_extension(char *buf, const char *path, size_t size) { char *base; - strncpy(buf, path, size - 1); + memcpy(buf, path, size - 1); buf[size - 1] = '\0'; base = strrchr(buf, '.'); @@ -515,7 +515,8 @@ static wadinfo_t get_wadinfo(const char *path) wadinfo_t header; if (fp != NULL) { - fread(&header, sizeof(header), 1, fp); + if(fread(&header, sizeof(header), 1, fp) != 1) + I_Error("get_wadinfo: error reading file header"); fclose(fp); } else @@ -542,7 +543,7 @@ bool retro_load_game(const struct retro_game_info *info) wadinfo_t header; char *deh, *extension, *baseconfig; - char name_without_ext[4096]; + char name_without_ext[1023]; bool use_external_savedir = false; const char *base_save_dir = NULL; @@ -559,7 +560,8 @@ bool retro_load_game(const struct retro_game_info *info) else { header = get_wadinfo(info->path); - if(header.identification == NULL) + // header.identification is static array, always non-NULL, but it might be empty if it couldn't be read + if(header.identification[0] == 0) { I_Error("retro_load_game: couldn't read WAD header from '%s'", info->path); goto failed; @@ -574,9 +576,8 @@ bool retro_load_game(const struct retro_game_info *info) argv[argc++] = strdup("-file"); argv[argc++] = strdup(info->path); } - else - { - I_Error("retro_load_game: invalid WAD header '%s'", header.identification); + else { + I_Error("retro_load_game: invalid WAD header '%.*s'", 4, header.identification); goto failed; } diff --git a/libretro/libretro_sound.c b/libretro/libretro_sound.c index 0be22c0d..604c1525 100644 --- a/libretro/libretro_sound.c +++ b/libretro/libretro_sound.c @@ -143,7 +143,8 @@ static void* I_SndLoadSample (const char* sfxname, int* len) { int i, x, padded_sfx_len, sfxlump_num, sfxlump_len; char sfxlump_name[20]; - uint8_t *sfxlump_data, *sfxlump_sound, *padded_sfx_data; + const uint8_t *sfxlump_data, *sfxlump_sound; + uint8_t *padded_sfx_data; uint16_t orig_rate; float times; @@ -185,7 +186,7 @@ static void* I_SndLoadSample (const char* sfxname, int* len) padded_sfx_data[i] = 128; // fill the rest with silence } - Z_Free (sfxlump_data); // free original lump + Z_Free ((void*) sfxlump_data); // free original lump *len = padded_sfx_len; return (void *)(padded_sfx_data); @@ -619,7 +620,7 @@ int I_RegisterSong(const void* data, size_t len) { music_handle = music_players[i]->registersong(data, len); if (music_handle) { - current_player = music_players[i]; + current_player = (music_player_t*)music_players[i]; break; } } @@ -673,7 +674,7 @@ int I_RegisterSong(const void* data, size_t len) mem_get_buf(outstream, &outbuf, &outbuf_len); music_handle = opl_synth_player.registersong(outbuf, outbuf_len); if(music_handle) - current_player = &opl_synth_player; + current_player = (music_player_t*)&opl_synth_player; } mem_fclose(instream); diff --git a/src/am_map.c b/src/am_map.c index 08b4f8e1..2e5b13aa 100644 --- a/src/am_map.c +++ b/src/am_map.c @@ -596,7 +596,7 @@ static void AM_maxOutWindowScale(void) boolean AM_Responder ( event_t* ev ) { - static int cheatstate=0; + //static int cheatstate=0; static int bigstate=0; int ch; // phares int rc = FALSE; @@ -694,7 +694,7 @@ boolean AM_Responder } else // phares { - cheatstate=0; + //cheatstate=0; rc = FALSE; } } diff --git a/src/d_deh.c b/src/d_deh.c index 97983001..bb51b249 100644 --- a/src/d_deh.c +++ b/src/d_deh.c @@ -1449,7 +1449,7 @@ void ProcessDehFile(const char *filename, const char *outfilename, int lumpnum) { static FILE *fileout; // In case -dehout was used DEHFILE infile, *filein = &infile; // killough 10/98 - char inbuffer[DEH_BUFFERMAX]; // Place to put the primary infostring + char inbuffer[DEH_BUFFERMAX+1]; // Place to put the primary infostring const char *file_or_lump; // Open output file if we're writing output @@ -1510,7 +1510,7 @@ void ProcessDehFile(const char *filename, const char *outfilename, int lumpnum) // killough 10/98: INCLUDE code rewritten to allow arbitrary nesting, // and to greatly simplify code, fix memory leaks, other bugs - if (!strnicmp(inbuffer,"INCLUDE",7)) // include a file + if (!strncasecmp(inbuffer,"INCLUDE",7)) // include a file { // preserve state while including a file // killough 10/98: moved to here @@ -1532,7 +1532,7 @@ void ProcessDehFile(const char *filename, const char *outfilename, int lumpnum) // check for no-text directive, used when including a DEH // file but using the BEX format to handle strings - if (!strnicmp(nextfile = ptr_lstrip(inbuffer+7),"NOTEXT",6)) + if (!strncasecmp(nextfile = ptr_lstrip(inbuffer+7),"NOTEXT",6)) includenotext = TRUE, nextfile = ptr_lstrip(nextfile+6); if (fileout) @@ -1583,7 +1583,7 @@ void ProcessDehFile(const char *filename, const char *outfilename, int lumpnum) static void deh_procBexCodePointers(DEHFILE *fpin, FILE* fpout, char *line) { char key[DEH_MAXKEYLEN]; - char inbuffer[DEH_BUFFERMAX]; + char inbuffer[DEH_BUFFERMAX+1]; int indexnum; char mnemonic[DEH_MAXKEYLEN]; // to hold the codepointer mnemonic int i; // looper @@ -1601,7 +1601,7 @@ static void deh_procBexCodePointers(DEHFILE *fpin, FILE* fpout, char *line) // killough 8/98: allow hex numbers in input: if ( (3 != sscanf(inbuffer,"%s %i = %s", key, &indexnum, mnemonic)) - || (stricmp(key,"FRAME")) ) // NOTE: different format from normal + || (strcasecmp(key,"FRAME")) ) // NOTE: different format from normal { if (fpout) fprintf(fpout, "Invalid BEX codepointer line - must start with 'FRAME': '%s'\n", @@ -1625,7 +1625,7 @@ static void deh_procBexCodePointers(DEHFILE *fpin, FILE* fpout, char *line) do // Ty 05/16/98 - fix loop logic to look for null ending entry { ++i; - if (!stricmp(key,deh_bexptrs[i].lookup)) + if (!strcasecmp(key,deh_bexptrs[i].lookup)) { // Ty 06/01/98 - add to states[].action for new djgcc version states[indexnum].action = deh_bexptrs[i].cptr; // assign if (fpout) fprintf(fpout, @@ -1750,7 +1750,7 @@ static void setMobjInfoValue(int mobjInfoIndex, int keyIndex, uint64_t value) { static void deh_procThing(DEHFILE *fpin, FILE* fpout, char *line) { char key[DEH_MAXKEYLEN]; - char inbuffer[DEH_BUFFERMAX]; + char inbuffer[DEH_BUFFERMAX+1]; uint64_t value; // All deh values are ints or longs int indexnum; int ix; @@ -1887,7 +1887,7 @@ static void deh_procThing(DEHFILE *fpin, FILE* fpout, char *line) static void deh_procFrame(DEHFILE *fpin, FILE* fpout, char *line) { char key[DEH_MAXKEYLEN]; - char inbuffer[DEH_BUFFERMAX]; + char inbuffer[DEH_BUFFERMAX+1]; uint64_t value; // All deh values are ints or longs int indexnum; @@ -1911,25 +1911,25 @@ static void deh_procFrame(DEHFILE *fpin, FILE* fpout, char *line) } if (!strcasecmp(key,deh_state[0])) // Sprite number { - if (fpout) fprintf(fpout," - sprite = %lld\n",(unsigned long long)value); + if (fpout) fprintf(fpout," - sprite = %"PRIu64"\n",(uint64_t)value); states[indexnum].sprite = (spritenum_t)value; } else if (!strcasecmp(key,deh_state[1])) // Sprite subnumber { - if (fpout) fprintf(fpout," - frame = %lld\n",(unsigned long long)value); + if (fpout) fprintf(fpout," - frame = %"PRIu64"\n",(uint64_t)value); states[indexnum].frame = (long)value; // long } else if (!strcasecmp(key,deh_state[2])) // Duration { - if (fpout) fprintf(fpout," - tics = %lld\n",(unsigned long long)value); + if (fpout) fprintf(fpout," - tics = %"PRIu64"\n",(uint64_t)value); states[indexnum].tics = (long)value; // long } else if (!strcasecmp(key,deh_state[3])) // Next frame { - if (fpout) fprintf(fpout," - nextstate = %lld\n",(unsigned long long)value); + if (fpout) fprintf(fpout," - nextstate = %"PRIu64"\n",(uint64_t)value); states[indexnum].nextstate = (statenum_t)value; } else @@ -1941,13 +1941,13 @@ static void deh_procFrame(DEHFILE *fpin, FILE* fpout, char *line) else if (!strcasecmp(key,deh_state[5])) // Unknown 1 { - if (fpout) fprintf(fpout," - misc1 = %lld\n",(unsigned long long)value); + if (fpout) fprintf(fpout," - misc1 = %"PRIu64"\n",(uint64_t)value); states[indexnum].misc1 = (long)value; // long } else if (!strcasecmp(key,deh_state[6])) // Unknown 2 { - if (fpout) fprintf(fpout," - misc2 = %lld\n",(unsigned long long)value); + if (fpout) fprintf(fpout," - misc2 = %"PRIu64"\n",(uint64_t)value); states[indexnum].misc2 = (long)value; // long } else @@ -1967,7 +1967,7 @@ static void deh_procFrame(DEHFILE *fpin, FILE* fpout, char *line) static void deh_procPointer(DEHFILE *fpin, FILE* fpout, char *line) // done { char key[DEH_MAXKEYLEN]; - char inbuffer[DEH_BUFFERMAX]; + char inbuffer[DEH_BUFFERMAX+1]; uint64_t value; // All deh values are ints or longs int indexnum; unsigned i; // looper @@ -2004,16 +2004,16 @@ static void deh_procPointer(DEHFILE *fpin, FILE* fpout, char *line) // done if (value >= NUMSTATES) { if (fpout) - fprintf(fpout,"Bad pointer number %lld of %d\n", - (unsigned long long)value, NUMSTATES); + fprintf(fpout,"Bad pointer number %"PRIu64" of %d\n", + (uint64_t)value, NUMSTATES); return; } if (!strcasecmp(key,deh_state[4])) // Codep frame (not set in Frame deh block) { states[indexnum].action = deh_codeptr[value]; - if (fpout) fprintf(fpout," - applied from codeptr[%lld] to states[%d]\n", - (unsigned long long)value,indexnum); + if (fpout) fprintf(fpout," - applied from codeptr[%"PRIu64"] to states[%d]\n", + (uint64_t)value,indexnum); // Write BEX-oriented line to match: // for (i=0;i=10 && (!strnicmp(iwad+i-11,"heretic.wad",11) || !strnicmp(iwad+i-13,"hereticsr.wad",13))) + if (i>=10 && (!strncasecmp(iwad+i-11,"heretic.wad",11) || !strncasecmp(iwad+i-13,"hereticsr.wad",13))) return I_Error("IdentifyVersion: Heretic is not supported"); break; case commercial: i = strlen(iwad); gamemission = doom2; - if (i>=10 && !strnicmp(iwad+i-10,"doom2f.wad",10)) + if (i>=10 && !strncasecmp(iwad+i-10,"doom2f.wad",10)) language=french; - else if (i>=7 && !strnicmp(iwad+i-7,"tnt.wad",7)) + else if (i>=7 && !strncasecmp(iwad+i-7,"tnt.wad",7)) gamemission = pack_tnt; - else if (i>=12 && !strnicmp(iwad+i-12,"plutonia.wad",12)) + else if (i>=12 && !strncasecmp(iwad+i-12,"plutonia.wad",12)) gamemission = pack_plut; break; default: @@ -958,13 +958,13 @@ static void DoLooseFiles(void) // so now we must have a loose file. Find out what kind and store it. j = strlen(myargv[i]); - if (!stricmp(&myargv[i][j-4],".wad")) + if (!strcasecmp(&myargv[i][j-4],".wad")) wads[wadcount++] = strdup(myargv[i]); - if (!stricmp(&myargv[i][j-4],".lmp")) + if (!strcasecmp(&myargv[i][j-4],".lmp")) lmps[lmpcount++] = strdup(myargv[i]); - if (!stricmp(&myargv[i][j-4],".deh")) + if (!strcasecmp(&myargv[i][j-4],".deh")) dehs[dehcount++] = strdup(myargv[i]); - if (!stricmp(&myargv[i][j-4],".bex")) + if (!strcasecmp(&myargv[i][j-4],".bex")) dehs[dehcount++] = strdup(myargv[i]); if (myargv[i][j-4] != '.') // assume wad if no extension wads[wadcount++] = strdup(myargv[i]); @@ -1536,8 +1536,8 @@ void GetFirstMap(int *ep, int *map) { short int i,j; // used to generate map name boolean done = FALSE; // Ty 09/13/98 - to exit inner loops - char test[6]; // MAPxx or ExMx plus terminator for testing - char name[6]; // MAPxx or ExMx plus terminator for display + char test[9]; // MAPxx or ExMx plus terminator for testing + char name[9]; // MAPxx or ExMx plus terminator for display boolean newlevel = FALSE; // Ty 10/04/98 - to test for new level int ix; // index for lookup diff --git a/src/doomtype.h b/src/doomtype.h index a3424b26..a6dba871 100644 --- a/src/doomtype.h +++ b/src/doomtype.h @@ -44,6 +44,12 @@ #include "custombool.h" #endif +#include + +#ifndef PRIu64 +#define PRIu64 "I64u" +#endif + //e6y #ifndef MAX #define MAX(a,b) ((a)>(b)?(a):(b)) @@ -58,13 +64,13 @@ #ifndef _MSC_VER // define compiled-specific long-long contstant notation here #define LONGLONG(num) (uint64_t)num ## ll +// for strcasecmp in POSIX/BSD systems +#include #else // define compiled-specific long-long contstant notation here #define LONGLONG(num) (uint64_t)num #undef PATH_MAX #define PATH_MAX 1024 -#define strcasecmp _stricmp -#define strncasecmp _strnicmp #define S_ISDIR(x) (((sbuf.st_mode & S_IFDIR)==S_IFDIR)?1:0) #endif diff --git a/src/hu_lib.c b/src/hu_lib.c index d4e9fbb1..64dc125e 100644 --- a/src/hu_lib.c +++ b/src/hu_lib.c @@ -618,11 +618,13 @@ static void HUlib_delCharFromIText(hu_itext_t* it) // Passed the hu_itext_t // Returns nothing // +/* static void HUlib_eraseLineFromIText(hu_itext_t* it) { while (it->lm != it->l.len) HUlib_delCharFromTextLine(&it->l); } +*/ // // HUlib_resetIText() diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 18248800..32bc8df2 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1182,7 +1182,7 @@ void HU_Drawer(void) } // if we have keys and the line was hidden, show the KEY prefixing text if (haskeys && hud_keysstr[0] != 'K') - strncpy(hud_keysstr, "KEY ", 4); + memcpy(hud_keysstr, "KEY ", 4); } } // display the keys/frags line each frame diff --git a/src/info.c b/src/info.c index d958cc39..d242924e 100644 --- a/src/info.c +++ b/src/info.c @@ -1068,127 +1068,127 @@ state_t states[NUMSTATES] = { {SPR_TNT1,0,-1,NULL,S_TNT1,0,0}, // S_TNT1 // phares 3/8/98 // killough 8/9/98: grenade - {SPR_MISL,32768,1000,A_Die,S_GRENADE}, // S_GRENADE + {SPR_MISL,32768,1000,A_Die,S_GRENADE,0,0}, // S_GRENADE // killough 8/10/98: variable damage explosion - {SPR_MISL,32769,4,A_Scream,S_DETONATE2}, // S_DETONATE - {SPR_MISL,32770,6,A_Detonate,S_DETONATE3}, // S_DETONATE2 - {SPR_MISL,32771,10,NULL,S_NULL}, // S_DETONATE3 + {SPR_MISL,32769,4,A_Scream,S_DETONATE2,0,0}, // S_DETONATE + {SPR_MISL,32770,6,A_Detonate,S_DETONATE3,0,0}, // S_DETONATE2 + {SPR_MISL,32771,10,NULL,S_NULL,0,0}, // S_DETONATE3 // if dogs are disabled, dummy states are required for dehacked compatibility - {0,0,-1,NULL,S_NULL}, // S_DOGS_STND - {0,0,-1,NULL,S_NULL}, // S_DOGS_STND2 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN1 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN2 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN3 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN4 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN5 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN6 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN7 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RUN8 - {0,0,-1,NULL,S_NULL}, // S_DOGS_ATK1 - {0,0,-1,NULL,S_NULL}, // S_DOGS_ATK2 - {0,0,-1,NULL,S_NULL}, // S_DOGS_ATK3 - {0,0,-1,NULL,S_NULL}, // S_DOGS_PAIN - {0,0,-1,NULL,S_NULL}, // S_DOGS_PAIN2 - {0,0,-1,NULL,S_NULL}, // S_DOGS_DIE1 - {0,0,-1,NULL,S_NULL}, // S_DOGS_DIE2 - {0,0,-1,NULL,S_NULL}, // S_DOGS_DIE3 - {0,0,-1,NULL,S_NULL}, // S_DOGS_DIE4 - {0,0,-1,NULL,S_NULL}, // S_DOGS_DIE5 - {0,0,-1,NULL,S_NULL}, // S_DOGS_DIE6 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RAISE1 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RAISE2 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RAISE3 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RAISE4 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RAISE5 - {0,0,-1,NULL,S_NULL}, // S_DOGS_RAISE6 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_STND + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_STND2 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN1 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN2 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN3 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN4 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN5 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN6 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN7 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RUN8 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_ATK1 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_ATK2 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_ATK3 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_PAIN + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_PAIN2 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_DIE1 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_DIE2 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_DIE3 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_DIE4 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_DIE5 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_DIE6 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RAISE1 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RAISE2 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RAISE3 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RAISE4 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RAISE5 + {0,0,-1,NULL,S_NULL,0,0}, // S_DOGS_RAISE6 // add dummy beta bfg / lost soul frames for dehacked compatibility // fixes bug #1576151 (part 2) - {0,0,-1,NULL,S_NULL}, // S_OLDBFG1 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG2 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG3 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG4 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG5 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG6 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG7 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG8 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG9 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG10 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG11 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG12 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG13 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG14 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG15 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG16 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG17 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG18 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG19 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG20 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG21 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG22 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG23 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG24 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG25 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG26 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG27 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG28 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG29 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG30 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG31 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG32 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG33 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG34 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG35 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG36 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG37 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG38 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG39 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG40 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG41 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG42 - {0,0,-1,NULL,S_NULL}, // S_OLDBFG43 - - {0,0,-1,NULL,S_NULL}, // S_PLS1BALL - {0,0,-1,NULL,S_NULL}, // S_PLS1BALL2 - {0,0,-1,NULL,S_NULL}, // S_PLS1EXP - {0,0,-1,NULL,S_NULL}, // S_PLS1EXP2 - {0,0,-1,NULL,S_NULL}, // S_PLS1EXP3 - {0,0,-1,NULL,S_NULL}, // S_PLS1EXP4 - {0,0,-1,NULL,S_NULL}, // S_PLS1EXP5 - - {0,0,-1,NULL,S_NULL}, // S_PLS2BALL - {0,0,-1,NULL,S_NULL}, // S_PLS2BALL2 - {0,0,-1,NULL,S_NULL}, // S_PLS2BALLX1 - {0,0,-1,NULL,S_NULL}, // S_PLS2BALLX2 - {0,0,-1,NULL,S_NULL}, // S_PLS2BALLX3 - - {0,0,-1,NULL,S_NULL}, // S_BON3 - {0,0,-1,NULL,S_NULL}, // S_BON4 - - {0,0,-1,NULL,S_NULL}, // S_BSKUL_STND - {0,0,-1,NULL,S_NULL}, // S_BSKUL_RUN1 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_RUN2 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_RUN3 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_RUN4 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_ATK1 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_ATK2 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_ATK3 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_PAIN1 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_PAIN2 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_PAIN3 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE1 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE2 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE3 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE4 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE5 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE6 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE7 - {0,0,-1,NULL,S_NULL}, // S_BSKUL_DIE8 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG1 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG2 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG3 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG4 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG5 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG6 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG7 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG8 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG9 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG10 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG11 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG12 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG13 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG14 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG15 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG16 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG17 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG18 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG19 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG20 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG21 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG22 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG23 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG24 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG25 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG26 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG27 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG28 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG29 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG30 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG31 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG32 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG33 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG34 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG35 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG36 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG37 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG38 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG39 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG40 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG41 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG42 + {0,0,-1,NULL,S_NULL,0,0}, // S_OLDBFG43 + + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1BALL + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1BALL2 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1EXP + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1EXP2 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1EXP3 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1EXP4 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS1EXP5 + + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS2BALL + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS2BALL2 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS2BALLX1 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS2BALLX2 + {0,0,-1,NULL,S_NULL,0,0}, // S_PLS2BALLX3 + + {0,0,-1,NULL,S_NULL,0,0}, // S_BON3 + {0,0,-1,NULL,S_NULL,0,0}, // S_BON4 + + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_STND + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_RUN1 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_RUN2 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_RUN3 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_RUN4 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_ATK1 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_ATK2 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_ATK3 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_PAIN1 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_PAIN2 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_PAIN3 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE1 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE2 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE3 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE4 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE5 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE6 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE7 + {0,0,-1,NULL,S_NULL,0,0}, // S_BSKUL_DIE8 // killough 10/98: mushroom effect - {SPR_MISL,32769,8,A_Mushroom,S_EXPLODE2}, // S_MUSHROOM + {SPR_MISL,32769,8,A_Mushroom,S_EXPLODE2,0,0}, // S_MUSHROOM }; // ******************************************************************** @@ -5288,6 +5288,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = { 16*FRACUNIT, // height 100, // mass 0, // damage + sfx_None, // activesound MF_NOBLOCKMAP, // flags S_NULL, // raisestate 0, // meleethreshold diff --git a/src/m_menu.c b/src/m_menu.c index bc601665..389ca36e 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -65,6 +65,10 @@ #include +// It'd mess code clarity if we have to fully initialize all menu entries +// compiler already fills them up with zeroes anyway, so make it shut up! +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" + extern patchnum_t hu_font[HU_FONTSIZE]; extern boolean message_dontfuckwithme; @@ -826,7 +830,8 @@ void M_ReadSaveStrings(void) LoadMenue[i].status = 0; continue; } - fread(&savegamestrings[i], SAVESTRINGSIZE, 1, fp); + if ( fread(&savegamestrings[i], SAVESTRINGSIZE, 1, fp) != 1) + I_Error("M_ReadSaveStrings: can't read savegame file '%s'", name); fclose(fp); LoadMenue[i].status = 1; } diff --git a/src/p_saveg.c b/src/p_saveg.c index b3336da7..04441ec5 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -46,7 +46,7 @@ uint8_t *save_p; // Pads save_p to a 4-byte boundary // so that the load/save works on SGI&Gecko. -#define PADSAVEP() do { save_p += (4 - ((int) save_p & 3)) & 3; } while (0) +#define PADSAVEP() do { save_p += (4 - ((uintptr_t) save_p & 3)) & 3; } while (0) // // P_ArchivePlayers // @@ -97,7 +97,7 @@ void P_UnArchivePlayers (void) for (j=0 ; jlastenemy), save_p, sizeof(void*)); save_p += 4*sizeof(void*); - mobj->state = states + (int) mobj->state; + mobj->state = states + (uintptr_t) mobj->state; if (mobj->player) - (mobj->player = &players[(int) mobj->player - 1]) -> mo = mobj; + (mobj->player = &players[(uintptr_t) mobj->player - 1]) -> mo = mobj; P_SetThingPosition (mobj); mobj->info = &mobjinfo[mobj->type]; @@ -813,7 +813,7 @@ void P_UnArchiveSpecials (void) ceiling_t *ceiling = Z_Malloc (sizeof(*ceiling), PU_LEVEL, NULL); memcpy (ceiling, save_p, sizeof(*ceiling)); save_p += sizeof(*ceiling); - ceiling->sector = §ors[(int)ceiling->sector]; + ceiling->sector = §ors[(uintptr_t)ceiling->sector]; ceiling->sector->ceilingdata = ceiling; //jff 2/22/98 if (ceiling->thinker.function) @@ -830,10 +830,10 @@ void P_UnArchiveSpecials (void) vldoor_t *door = Z_Malloc (sizeof(*door), PU_LEVEL, NULL); memcpy (door, save_p, sizeof(*door)); save_p += sizeof(*door); - door->sector = §ors[(int)door->sector]; + door->sector = §ors[(uintptr_t)door->sector]; //jff 1/31/98 unarchive line remembered by door as well - door->line = (int)door->line!=-1? &lines[(int)door->line] : NULL; + door->line = (intptr_t)door->line!=-1? &lines[(uintptr_t)door->line] : NULL; door->sector->ceilingdata = door; //jff 2/22/98 door->thinker.function = T_VerticalDoor; @@ -847,7 +847,7 @@ void P_UnArchiveSpecials (void) floormove_t *floor = Z_Malloc (sizeof(*floor), PU_LEVEL, NULL); memcpy (floor, save_p, sizeof(*floor)); save_p += sizeof(*floor); - floor->sector = §ors[(int)floor->sector]; + floor->sector = §ors[(uintptr_t)floor->sector]; floor->sector->floordata = floor; //jff 2/22/98 floor->thinker.function = T_MoveFloor; P_AddThinker (&floor->thinker); @@ -860,7 +860,7 @@ void P_UnArchiveSpecials (void) plat_t *plat = Z_Malloc (sizeof(*plat), PU_LEVEL, NULL); memcpy (plat, save_p, sizeof(*plat)); save_p += sizeof(*plat); - plat->sector = §ors[(int)plat->sector]; + plat->sector = §ors[(uintptr_t)plat->sector]; plat->sector->floordata = plat; //jff 2/22/98 if (plat->thinker.function) @@ -877,7 +877,7 @@ void P_UnArchiveSpecials (void) lightflash_t *flash = Z_Malloc (sizeof(*flash), PU_LEVEL, NULL); memcpy (flash, save_p, sizeof(*flash)); save_p += sizeof(*flash); - flash->sector = §ors[(int)flash->sector]; + flash->sector = §ors[(uintptr_t)flash->sector]; flash->thinker.function = T_LightFlash; P_AddThinker (&flash->thinker); break; @@ -889,7 +889,7 @@ void P_UnArchiveSpecials (void) strobe_t *strobe = Z_Malloc (sizeof(*strobe), PU_LEVEL, NULL); memcpy (strobe, save_p, sizeof(*strobe)); save_p += sizeof(*strobe); - strobe->sector = §ors[(int)strobe->sector]; + strobe->sector = §ors[(uintptr_t)strobe->sector]; strobe->thinker.function = T_StrobeFlash; P_AddThinker (&strobe->thinker); break; @@ -901,7 +901,7 @@ void P_UnArchiveSpecials (void) glow_t *glow = Z_Malloc (sizeof(*glow), PU_LEVEL, NULL); memcpy (glow, save_p, sizeof(*glow)); save_p += sizeof(*glow); - glow->sector = §ors[(int)glow->sector]; + glow->sector = §ors[(uintptr_t)glow->sector]; glow->thinker.function = T_Glow; P_AddThinker (&glow->thinker); break; @@ -913,7 +913,7 @@ void P_UnArchiveSpecials (void) fireflicker_t *flicker = Z_Malloc (sizeof(*flicker), PU_LEVEL, NULL); memcpy (flicker, save_p, sizeof(*flicker)); save_p += sizeof(*flicker); - flicker->sector = §ors[(int)flicker->sector]; + flicker->sector = §ors[(uintptr_t)flicker->sector]; flicker->thinker.function = T_FireFlicker; P_AddThinker (&flicker->thinker); break; @@ -926,7 +926,7 @@ void P_UnArchiveSpecials (void) elevator_t *elevator = Z_Malloc (sizeof(*elevator), PU_LEVEL, NULL); memcpy (elevator, save_p, sizeof(*elevator)); save_p += sizeof(*elevator); - elevator->sector = §ors[(int)elevator->sector]; + elevator->sector = §ors[(uintptr_t)elevator->sector]; elevator->sector->floordata = elevator; //jff 2/22/98 elevator->sector->ceilingdata = elevator; //jff 2/22/98 elevator->thinker.function = T_MoveElevator; diff --git a/src/tables.c b/src/tables.c index c9d2aea1..778bbd14 100644 --- a/src/tables.c +++ b/src/tables.c @@ -56,15 +56,1802 @@ // killough 5/3/98: reformatted fixed_t finetangent[FINEANGLES/2] = { - 4124056992, 4238001544, 4260788392, 4270553980, 4275979260, 4279431697, 4281821841, 4283574613, 4284914969, 4285973147, 4286829769, 4287537416, 4288131841, 4288638206, 4289074729, 4289454928, 4289789045, 4290084978, 4290348921, 4290585794, 4290799559, 4290993441, 4291170090, 4291331706, 4291480131, 4291616915, 4291743378, 4291860645, 4291969683, 4292071330, 4292166313, 4292255266, 4292338747, 4292417244, 4292491192, 4292560974, 4292626934, 4292689377, 4292748577, 4292804780, 4292858209, 4292909063, 4292957525, 4293003760, 4293047918, 4293090135, 4293130538, 4293169233, 4293206340, 4293241948, 4293276147, 4293309018, 4293340638, 4293371076, 4293400398, 4293428664, 4293455929, 4293482247, 4293507666, 4293532231, 4293555984, 4293578966, 4293601212, 4293622759, 4293643638, 4293663880, 4293683513, 4293702566, 4293721062, 4293739027, 4293756483, 4293773450, 4293789951, 4293806002, 4293821623, 4293836831, 4293851642, 4293866071, 4293880132, 4293893841, 4293907209, 4293920250, 4293932974, 4293945395, 4293957522, 4293969365, 4293980935, 4293992242, 4294003293, 4294014097, 4294024663, 4294034998, 4294045110, 4294055007, 4294064694, 4294074179, 4294083467, 4294092566, 4294101479, 4294110215, 4294118776, 4294127169, 4294135398, 4294143469, 4294151386, 4294159153, 4294166775, 4294174255, 4294181597, 4294188806, 4294195885, 4294202836, 4294209665, 4294216374, 4294222965, 4294229443, 4294235810, 4294242069, 4294248222, 4294254273, 4294260224, 4294266077, 4294271834, 4294277499, 4294283073, 4294288559, 4294293958, 4294299272, 4294304504, 4294309656, 4294314728, 4294319724, 4294324645, 4294329493, 4294334268, 4294338973, 4294343610, 4294348179, 4294352683, 4294357122, 4294361498, 4294365813, 4294370067, 4294374263, 4294378400, 4294382481, 4294386507, 4294390478, 4294394395, 4294398261, 4294402075, 4294405840, 4294409555, 4294413222, 4294416841, 4294420415, 4294423942, 4294427426, 4294430865, 4294434262, 4294437616, 4294440930, 4294444202, 4294447435, 4294450629, 4294453784, 4294456902, 4294459983, 4294463027, 4294466035, 4294469009, 4294471948, 4294474853, 4294477725, 4294480564, 4294483371, 4294486146, 4294488890, 4294491604, 4294494287, 4294496941, 4294499566, 4294502163, 4294504731, 4294507272, 4294509785, 4294512272, 4294514732, 4294517167, 4294519576, 4294521959, 4294524318, 4294526653, 4294528964, 4294531251, 4294533515, 4294535756, 4294537975, 4294540171, 4294542345, 4294544498, 4294546630, 4294548741, 4294550831, 4294552901, 4294554952, 4294556982, 4294558993, 4294560985, 4294562958, 4294564912, 4294566848, 4294568766, 4294570666, 4294572549, 4294574414, 4294576262, 4294578094, 4294579909, 4294581707, 4294583489, 4294585256, 4294587006, 4294588741, 4294590461, 4294592166, 4294593856, 4294595531, 4294597191, 4294598837, 4294600470, 4294602088, 4294603692, 4294605283, 4294606860, 4294608424, 4294609975, 4294611513, 4294613039, 4294614552, 4294616052, 4294617540, 4294619016, 4294620480, 4294621932, 4294623372, 4294624801, 4294626218, 4294627625, 4294629020, 4294630404, 4294631777, 4294633139, 4294634491, 4294635832, 4294637163, 4294638484, 4294639794, 4294641095, 4294642386, 4294643667, 4294644938, 4294646199, 4294647452, 4294648695, 4294649928, 4294651153, 4294652368, 4294653575, 4294654772, 4294655961, 4294657142, 4294658313, 4294659477, 4294660632, 4294661779, 4294662917, 4294664048, 4294665170, 4294666285, 4294667392, 4294668491, 4294669582, 4294670666, 4294671742, 4294672811, 4294673873, 4294674927, 4294675974, 4294677014, 4294678047, 4294679073, 4294680092, 4294681104, 4294682110, 4294683108, 4294684101, 4294685086, 4294686065, 4294687038, 4294688004, 4294688964, 4294689918, 4294690866, 4294691807, 4294692743, 4294693672, 4294694596, 4294695514, 4294696425, 4294697331, 4294698232, 4294699127, 4294700016, 4294700899, 4294701777, 4294702650, 4294703517, 4294704379, 4294705236, 4294706087, 4294706933, 4294707774, 4294708610, 4294709441, 4294710267, 4294711088, 4294711904, 4294712715, 4294713522, 4294714323, 4294715120, 4294715912, 4294716700, 4294717483, 4294718261, 4294719035, 4294719804, 4294720569, 4294721330, 4294722086, 4294722838, 4294723585, 4294724329, 4294725068, 4294725803, 4294726533, 4294727260, 4294727982, 4294728701, 4294729415, 4294730126, 4294730833, 4294731535, 4294732234, 4294732929, 4294733620, 4294734308, 4294734992, 4294735672, 4294736348, 4294737021, 4294737690, 4294738355, 4294739017, 4294739675, 4294740330, 4294740982, 4294741630, 4294742274, 4294742915, 4294743553, 4294744188, 4294744819, 4294745447, 4294746071, 4294746693, 4294747311, 4294747926, 4294748538, 4294749147, 4294749752, 4294750355, 4294750955, 4294751551, 4294752145, 4294752735, 4294753323, 4294753907, 4294754489, 4294755068, 4294755644, 4294756217, 4294756787, 4294757355, 4294757920, 4294758481, 4294759041, 4294759597, 4294760151, 4294760702, 4294761251, 4294761796, 4294762340, 4294762880, 4294763418, 4294763954, 4294764487, 4294765017, 4294765545, 4294766070, 4294766593, 4294767114, 4294767632, 4294768147, 4294768660, 4294769171, 4294769680, 4294770186, 4294770690, 4294771191, 4294771690, 4294772187, 4294772682, 4294773174, 4294773665, 4294774153, 4294774638, 4294775122, 4294775603, 4294776083, 4294776560, 4294777035, 4294777507, 4294777978, 4294778447, 4294778914, 4294779378, 4294779841, 4294780301, 4294780760, 4294781216, 4294781671, 4294782123, 4294782574, 4294783022, 4294783469, 4294783914, 4294784357, 4294784798, 4294785237, 4294785674, 4294786110, 4294786543, 4294786975, 4294787405, 4294787833, 4294788259, 4294788684, 4294789106, 4294789527, 4294789947, 4294790364, 4294790780, 4294791194, 4294791606, 4294792017, 4294792426, 4294792833, 4294793239, 4294793643, 4294794045, 4294794446, 4294794845, 4294795243, 4294795639, 4294796033, 4294796426, 4294796817, 4294797207, 4294797595, 4294797981, 4294798366, 4294798750, 4294799132, 4294799512, 4294799891, 4294800269, 4294800645, 4294801019, 4294801392, 4294801764, 4294802134, 4294802503, 4294802870, 4294803236, 4294803601, 4294803964, 4294804326, 4294804686, 4294805045, 4294805403, 4294805759, 4294806114, 4294806468, 4294806820, 4294807171, 4294807521, 4294807869, 4294808217, 4294808562, 4294808907, 4294809250, 4294809592, 4294809933, 4294810272, 4294810610, 4294810947, 4294811283, 4294811618, 4294811951, 4294812283, 4294812614, 4294812944, 4294813272, 4294813599, 4294813926, 4294814251, 4294814574, 4294814897, 4294815219, 4294815539, 4294815858, 4294816176, 4294816493, 4294816809, 4294817124, 4294817437, 4294817750, 4294818061, 4294818372, 4294818681, 4294818989, 4294819296, 4294819603, 4294819908, 4294820212, 4294820514, 4294820816, 4294821117, 4294821417, 4294821716, 4294822014, 4294822310, 4294822606, 4294822901, 4294823195, 4294823488, 4294823779, 4294824070, 4294824360, 4294824649, 4294824937, 4294825224, 4294825510, 4294825795, 4294826079, 4294826362, 4294826645, 4294826926, 4294827206, 4294827486, 4294827764, 4294828042, 4294828319, 4294828595, 4294828870, 4294829144, 4294829417, 4294829689, 4294829961, 4294830231, 4294830501, 4294830770, 4294831038, 4294831305, 4294831571, 4294831837, 4294832101, 4294832365, 4294832628, 4294832890, 4294833151, 4294833412, 4294833671, 4294833930, 4294834188, 4294834445, 4294834702, 4294834957, 4294835212, 4294835466, 4294835720, 4294835972, 4294836224, 4294836475, 4294836725, 4294836974, 4294837223, 4294837471, 4294837718, 4294837964, 4294838210, 4294838455, 4294838699, 4294838943, 4294839185, 4294839427, 4294839669, 4294839909, 4294840149, 4294840388, 4294840627, 4294840864, 4294841101, 4294841337, 4294841573, 4294841808, 4294842042, 4294842276, 4294842509, 4294842741, 4294842972, 4294843203, 4294843433, 4294843663, 4294843892, 4294844120, 4294844347, 4294844574, 4294844800, 4294845026, 4294845251, 4294845475, 4294845699, 4294845922, 4294846144, 4294846366, 4294846587, 4294846807, 4294847027, 4294847246, 4294847465, 4294847683, 4294847900, 4294848117, 4294848333, 4294848549, 4294848764, 4294848978, 4294849192, 4294849405, 4294849618, 4294849830, 4294850042, 4294850252, 4294850463, 4294850673, 4294850882, 4294851090, 4294851298, 4294851506, 4294851713, 4294851919, 4294852125, 4294852330, 4294852535, 4294852739, 4294852942, 4294853145, 4294853348, 4294853550, 4294853751, 4294853952, 4294854153, 4294854352, 4294854552, 4294854750, 4294854949, 4294855146, 4294855344, 4294855540, 4294855736, 4294855932, 4294856127, 4294856322, 4294856516, 4294856710, 4294856903, 4294857096, 4294857288, 4294857479, 4294857670, 4294857861, 4294858051, 4294858241, 4294858430, 4294858619, 4294858807, 4294858995, 4294859182, 4294859369, 4294859555, 4294859741, 4294859927, 4294860112, 4294860296, 4294860480, 4294860664, 4294860847, 4294861030, 4294861212, 4294861394, 4294861575, 4294861756, 4294861936, 4294862116, 4294862296, 4294862475, 4294862653, 4294862831, 4294863009, 4294863187, 4294863363, 4294863540, 4294863716, 4294863892, 4294864067, 4294864242, 4294864416, 4294864590, 4294864763, 4294864936, 4294865109, 4294865281, 4294865453, 4294865625, 4294865796, 4294865966, 4294866137, 4294866306, 4294866476, 4294866645, 4294866814, 4294866982, 4294867150, 4294867317, 4294867484, 4294867651, 4294867817, 4294867983, 4294868148, 4294868314, 4294868478, 4294868643, 4294868807, 4294868970, 4294869133, 4294869296, 4294869459, 4294869621, 4294869783, 4294869944, 4294870105, 4294870266, 4294870426, 4294870586, 4294870745, 4294870905, 4294871063, 4294871222, 4294871380, 4294871538, 4294871695, 4294871852, 4294872009, 4294872165, 4294872321, 4294872477, 4294872632, 4294872787, 4294872942, 4294873096, 4294873250, 4294873404, 4294873557, 4294873710, 4294873862, 4294874015, 4294874167, 4294874318, 4294874470, 4294874621, 4294874771, 4294874921, 4294875071, 4294875221, 4294875370, 4294875519, 4294875668, 4294875816, 4294875964, 4294876112, 4294876260, 4294876407, 4294876554, 4294876700, 4294876846, 4294876992, 4294877138, 4294877283, 4294877428, 4294877572, 4294877717, 4294877861, 4294878004, 4294878148, 4294878291, 4294878434, 4294878576, 4294878719, 4294878861, 4294879002, 4294879144, 4294879285, 4294879425, 4294879566, 4294879706, 4294879846, 4294879986, 4294880125, 4294880264, 4294880403, 4294880541, 4294880680, 4294880817, 4294880955, 4294881092, 4294881230, 4294881366, 4294881503, 4294881639, 4294881775, 4294881911, 4294882046, 4294882182, 4294882316, 4294882451, 4294882586, 4294882720, 4294882853, 4294882987, 4294883120, 4294883253, 4294883386, 4294883519, 4294883651, 4294883783, 4294883915, 4294884046, 4294884178, 4294884309, 4294884439, 4294884570, 4294884700, 4294884830, 4294884960, 4294885089, 4294885218, 4294885347, 4294885476, 4294885605, 4294885733, 4294885861, 4294885989, 4294886116, 4294886243, 4294886371, 4294886497, 4294886624, 4294886750, 4294886876, 4294887002, 4294887128, 4294887253, 4294887378, 4294887503, 4294887628, 4294887752, 4294887876, 4294888000, 4294888124, 4294888248, 4294888371, 4294888494, 4294888617, 4294888739, 4294888862, 4294888984, 4294889106, 4294889228, 4294889349, 4294889470, 4294889591, 4294889712, 4294889833, 4294889953, 4294890073, 4294890193, 4294890313, 4294890432, 4294890552, 4294890671, 4294890790, 4294890908, 4294891027, 4294891145, 4294891263, 4294891381, 4294891499, 4294891616, 4294891733, 4294891850, 4294891967, 4294892083, 4294892200, 4294892316, 4294892432, 4294892548, 4294892663, 4294892779, 4294892894, 4294893009, 4294893124, 4294893238, 4294893352, 4294893467, 4294893581, 4294893694, 4294893808, 4294893921, 4294894034, 4294894147, 4294894260, 4294894373, 4294894485, 4294894597, 4294894709, 4294894821, 4294894933, 4294895044, 4294895156, 4294895267, 4294895378, 4294895488, 4294895599, 4294895709, 4294895819, 4294895929, 4294896039, 4294896149, 4294896258, 4294896367, 4294896476, 4294896585, 4294896694, 4294896802, 4294896911, 4294897019, 4294897127, 4294897235, 4294897342, 4294897450, 4294897557, 4294897664, 4294897771, 4294897878, 4294897984, 4294898091, 4294898197, 4294898303, 4294898409, 4294898515, 4294898620, 4294898726, 4294898831, 4294898936, 4294899041, 4294899145, 4294899250, 4294899354, 4294899459, 4294899563, 4294899667, 4294899770, 4294899874, 4294899977, 4294900080, 4294900183, 4294900286, 4294900389, 4294900492, 4294900594, 4294900696, 4294900798, 4294900900, 4294901002, 4294901104, 4294901205, 4294901307, 4294901408, 4294901509, 4294901610, 4294901710, 4294901811, 4294901911, 4294902011, 4294902111, 4294902211, 4294902311, 4294902411, 4294902510, 4294902609, 4294902709, 4294902808, 4294902907, 4294903005, 4294903104, 4294903202, 4294903300, 4294903399, 4294903497, 4294903594, 4294903692, 4294903790, 4294903887, 4294903984, 4294904081, 4294904178, 4294904275, 4294904372, 4294904468, 4294904565, 4294904661, 4294904757, 4294904853, 4294904949, 4294905045, 4294905140, 4294905236, 4294905331, 4294905426, 4294905521, 4294905616, 4294905711, 4294905805, 4294905900, 4294905994, 4294906088, 4294906182, 4294906276, 4294906370, 4294906463, 4294906557, 4294906650, 4294906744, 4294906837, 4294906930, 4294907023, 4294907115, 4294907208, 4294907300, 4294907393, 4294907485, 4294907577, 4294907669, 4294907761, 4294907852, 4294907944, 4294908035, 4294908127, 4294908218, 4294908309, 4294908400, 4294908491, 4294908581, 4294908672, 4294908762, 4294908853, 4294908943, 4294909033, 4294909123, 4294909213, 4294909302, 4294909392, 4294909481, 4294909571, 4294909660, 4294909749, 4294909838, 4294909927, 4294910015, 4294910104, 4294910192, 4294910281, 4294910369, 4294910457, 4294910545, 4294910633, 4294910721, 4294910809, 4294910896, 4294910984, 4294911071, 4294911158, 4294911245, 4294911332, 4294911419, 4294911506, 4294911592, 4294911679, 4294911765, 4294911852, 4294911938, 4294912024, 4294912110, 4294912196, 4294912281, 4294912367, 4294912453, 4294912538, 4294912623, 4294912709, 4294912794, 4294912879, 4294912963, 4294913048, 4294913133, 4294913217, 4294913302, 4294913386, 4294913470, 4294913555, 4294913639, 4294913722, 4294913806, 4294913890, 4294913974, 4294914057, 4294914140, 4294914224, 4294914307, 4294914390, 4294914473, 4294914556, 4294914639, 4294914721, 4294914804, 4294914886, 4294914969, 4294915051, 4294915133, 4294915215, 4294915297, 4294915379, 4294915461, 4294915542, 4294915624, 4294915705, 4294915787, 4294915868, 4294915949, 4294916030, 4294916111, 4294916192, 4294916273, 4294916354, 4294916434, 4294916515, 4294916595, 4294916675, 4294916756, 4294916836, 4294916916, 4294916996, 4294917075, 4294917155, 4294917235, 4294917314, 4294917394, 4294917473, 4294917552, 4294917632, 4294917711, 4294917790, 4294917869, 4294917947, 4294918026, 4294918105, 4294918183, 4294918262, 4294918340, 4294918418, 4294918497, 4294918575, 4294918653, 4294918731, 4294918808, 4294918886, 4294918964, 4294919041, 4294919119, 4294919196, 4294919274, 4294919351, 4294919428, 4294919505, 4294919582, 4294919659, 4294919736, 4294919812, 4294919889, 4294919965, 4294920042, 4294920118, 4294920194, 4294920271, 4294920347, 4294920423, 4294920499, 4294920575, 4294920650, 4294920726, 4294920802, 4294920877, 4294920953, 4294921028, 4294921103, 4294921178, 4294921254, 4294921329, 4294921404, 4294921478, 4294921553, 4294921628, 4294921703, 4294921777, 4294921852, 4294921926, 4294922000, 4294922075, 4294922149, 4294922223, 4294922297, 4294922371, 4294922445, 4294922518, 4294922592, 4294922666, 4294922739, 4294922813, 4294922886, 4294922959, 4294923033, 4294923106, 4294923179, 4294923252, 4294923325, 4294923398, 4294923470, 4294923543, 4294923616, 4294923688, 4294923761, 4294923833, 4294923906, 4294923978, 4294924050, 4294924122, 4294924194, 4294924266, 4294924338, 4294924410, 4294924482, 4294924553, 4294924625, 4294924696, 4294924768, 4294924839, 4294924911, 4294924982, 4294925053, 4294925124, 4294925195, 4294925266, 4294925337, 4294925408, 4294925479, 4294925549, 4294925620, 4294925691, 4294925761, 4294925831, 4294925902, 4294925972, 4294926042, 4294926112, 4294926183, 4294926253, 4294926323, 4294926392, 4294926462, 4294926532, 4294926602, 4294926671, 4294926741, 4294926810, 4294926880, 4294926949, 4294927018, 4294927088, 4294927157, 4294927226, 4294927295, 4294927364, 4294927433, 4294927502, 4294927570, 4294927639, 4294927708, 4294927776, 4294927845, 4294927913, 4294927982, 4294928050, 4294928118, 4294928186, 4294928254, 4294928323, 4294928391, 4294928459, 4294928526, 4294928594, 4294928662, 4294928730, 4294928797, 4294928865, 4294928932, 4294929000, 4294929067, 4294929135, 4294929202, 4294929269, 4294929336, 4294929403, 4294929470, 4294929537, 4294929604, 4294929671, 4294929738, 4294929805, 4294929871, 4294929938, 4294930005, 4294930071, 4294930138, 4294930204, 4294930270, 4294930337, 4294930403, 4294930469, 4294930535, 4294930601, 4294930667, 4294930733, 4294930799, 4294930865, 4294930931, 4294930996, 4294931062, 4294931128, 4294931193, 4294931259, 4294931324, 4294931389, 4294931455, 4294931520, 4294931585, 4294931650, 4294931716, 4294931781, 4294931846, 4294931911, 4294931975, 4294932040, 4294932105, 4294932170, 4294932234, 4294932299, 4294932364, 4294932428, 4294932493, 4294932557, 4294932621, 4294932686, 4294932750, 4294932814, 4294932878, 4294932942, 4294933007, 4294933071, 4294933134, 4294933198, 4294933262, 4294933326, 4294933390, 4294933453, 4294933517, 4294933581, 4294933644, 4294933708, 4294933771, 4294933835, 4294933898, 4294933961, 4294934024, 4294934088, 4294934151, 4294934214, 4294934277, 4294934340, 4294934403, 4294934466, 4294934529, 4294934591, 4294934654, 4294934717, 4294934780, 4294934842, 4294934905, 4294934967, 4294935030, 4294935092, 4294935155, 4294935217, 4294935279, 4294935341, 4294935404, 4294935466, 4294935528, 4294935590, 4294935652, 4294935714, 4294935776, 4294935838, 4294935900, 4294935961, 4294936023, 4294936085, 4294936146, 4294936208, 4294936270, 4294936331, 4294936392, 4294936454, 4294936515, 4294936577, 4294936638, 4294936699, 4294936760, 4294936822, 4294936883, 4294936944, 4294937005, 4294937066, 4294937127, 4294937188, 4294937248, 4294937309, 4294937370, 4294937431, 4294937491, 4294937552, 4294937613, 4294937673, 4294937734, 4294937794, 4294937855, 4294937915, 4294937975, 4294938036, 4294938096, 4294938156, 4294938216, 4294938276, 4294938337, 4294938397, 4294938457, 4294938517, 4294938577, 4294938636, 4294938696, 4294938756, 4294938816, 4294938876, 4294938935, 4294938995, 4294939055, 4294939114, 4294939174, 4294939233, 4294939293, 4294939352, 4294939412, 4294939471, 4294939530, 4294939589, 4294939649, 4294939708, 4294939767, 4294939826, 4294939885, 4294939944, 4294940003, 4294940062, 4294940121, 4294940180, 4294940239, 4294940298, 4294940356, 4294940415, 4294940474, 4294940533, 4294940591, 4294940650, 4294940708, 4294940767, 4294940825, 4294940884, 4294940942, 4294941001, 4294941059, 4294941117, 4294941176, 4294941234, 4294941292, 4294941350, 4294941408, 4294941466, 4294941524, 4294941582, 4294941640, 4294941698, 4294941756, 4294941814, 4294941872, 4294941930, 4294941988, 4294942045, 4294942103, 4294942161, 4294942218, 4294942276, 4294942334, 4294942391, 4294942449, 4294942506, 4294942564, 4294942621, 4294942678, 4294942736, 4294942793, 4294942850, 4294942907, 4294942965, 4294943022, 4294943079, 4294943136, 4294943193, 4294943250, 4294943307, 4294943364, 4294943421, 4294943478, 4294943535, 4294943592, 4294943649, 4294943705, 4294943762, 4294943819, 4294943876, 4294943932, 4294943989, 4294944046, 4294944102, 4294944159, 4294944215, 4294944272, 4294944328, 4294944385, 4294944441, 4294944497, 4294944554, 4294944610, 4294944666, 4294944723, 4294944779, 4294944835, 4294944891, 4294944947, 4294945003, 4294945059, 4294945115, 4294945171, 4294945227, 4294945283, 4294945339, 4294945395, 4294945451, 4294945507, 4294945563, 4294945618, 4294945674, 4294945730, 4294945786, 4294945841, 4294945897, 4294945953, 4294946008, 4294946064, 4294946119, 4294946175, 4294946230, 4294946286, 4294946341, 4294946396, 4294946452, 4294946507, 4294946562, 4294946618, 4294946673, 4294946728, 4294946783, 4294946839, 4294946894, 4294946949, 4294947004, 4294947059, 4294947114, 4294947169, 4294947224, 4294947279, 4294947334, 4294947389, 4294947444, 4294947499, 4294947554, 4294947608, 4294947663, 4294947718, 4294947773, 4294947827, 4294947882, 4294947937, 4294947991, 4294948046, 4294948101, 4294948155, 4294948210, 4294948264, 4294948319, 4294948373, 4294948428, 4294948482, 4294948536, 4294948591, 4294948645, 4294948699, 4294948754, 4294948808, 4294948862, 4294948916, 4294948971, 4294949025, 4294949079, 4294949133, 4294949187, 4294949241, 4294949295, 4294949350, 4294949404, 4294949458, 4294949512, 4294949565, 4294949619, 4294949673, 4294949727, 4294949781, 4294949835, 4294949889, 4294949943, 4294949996, 4294950050, 4294950104, 4294950158, 4294950211, 4294950265, 4294950319, 4294950372, 4294950426, 4294950479, 4294950533, 4294950586, 4294950640, 4294950693, 4294950747, 4294950800, 4294950854, 4294950907, 4294950961, 4294951014, 4294951067, 4294951121, 4294951174, 4294951227, 4294951281, 4294951334, 4294951387, 4294951440, 4294951494, 4294951547, 4294951600, 4294951653, 4294951706, 4294951759, 4294951812, 4294951865, 4294951918, 4294951971, 4294952024, 4294952077, 4294952130, 4294952183, 4294952236, 4294952289, 4294952342, 4294952395, 4294952448, 4294952501, 4294952553, 4294952606, 4294952659, 4294952712, 4294952765, 4294952817, 4294952870, 4294952923, 4294952975, 4294953028, 4294953081, 4294953133, 4294953186, 4294953239, 4294953291, 4294953344, 4294953396, 4294953449, 4294953501, 4294953554, 4294953606, 4294953659, 4294953711, 4294953763, 4294953816, 4294953868, 4294953921, 4294953973, 4294954025, 4294954078, 4294954130, 4294954182, 4294954234, 4294954287, 4294954339, 4294954391, 4294954443, 4294954496, 4294954548, 4294954600, 4294954652, 4294954704, 4294954756, 4294954808, 4294954860, 4294954913, 4294954965, 4294955017, 4294955069, 4294955121, 4294955173, 4294955225, 4294955277, 4294955329, 4294955380, 4294955432, 4294955484, 4294955536, 4294955588, 4294955640, 4294955692, 4294955744, 4294955795, 4294955847, 4294955899, 4294955951, 4294956003, 4294956054, 4294956106, 4294956158, 4294956210, 4294956261, 4294956313, 4294956365, 4294956416, 4294956468, 4294956519, 4294956571, 4294956623, 4294956674, 4294956726, 4294956777, 4294956829, 4294956881, 4294956932, 4294956984, 4294957035, 4294957087, 4294957138, 4294957190, 4294957241, 4294957292, 4294957344, 4294957395, 4294957447, 4294957498, 4294957549, 4294957601, 4294957652, 4294957704, 4294957755, 4294957806, 4294957858, 4294957909, 4294957960, 4294958011, 4294958063, 4294958114, 4294958165, 4294958216, 4294958268, 4294958319, 4294958370, 4294958421, 4294958472, 4294958524, 4294958575, 4294958626, 4294958677, 4294958728, 4294958779, 4294958830, 4294958882, 4294958933, 4294958984, 4294959035, 4294959086, 4294959137, 4294959188, 4294959239, 4294959290, 4294959341, 4294959392, 4294959443, 4294959494, 4294959545, 4294959596, 4294959647, 4294959698, 4294959749, 4294959800, 4294959851, 4294959901, 4294959952, 4294960003, 4294960054, 4294960105, 4294960156, 4294960207, 4294960258, 4294960308, 4294960359, 4294960410, 4294960461, 4294960512, 4294960563, 4294960613, 4294960664, 4294960715, 4294960766, 4294960816, 4294960867, 4294960918, 4294960969, 4294961019, 4294961070, 4294961121, 4294961172, 4294961222, 4294961273, 4294961324, 4294961374, 4294961425, 4294961476, 4294961526, 4294961577, 4294961628, 4294961678, 4294961729, 4294961779, 4294961830, 4294961881, 4294961931, 4294961982, 4294962032, 4294962083, 4294962134, 4294962184, 4294962235, 4294962285, 4294962336, 4294962386, 4294962437, 4294962488, 4294962538, 4294962589, 4294962639, 4294962690, 4294962740, 4294962791, 4294962841, 4294962892, 4294962942, 4294962993, 4294963043, 4294963094, 4294963144, 4294963195, 4294963245, 4294963295, 4294963346, 4294963396, 4294963447, 4294963497, 4294963548, 4294963598, 4294963648, 4294963699, 4294963749, 4294963800, 4294963850, 4294963901, 4294963951, 4294964001, 4294964052, 4294964102, 4294964152, 4294964203, 4294964253, 4294964304, 4294964354, 4294964404, 4294964455, 4294964505, 4294964555, 4294964606, 4294964656, 4294964706, 4294964757, 4294964807, 4294964857, 4294964908, 4294964958, 4294965008, 4294965059, 4294965109, 4294965159, 4294965210, 4294965260, 4294965310, 4294965361, 4294965411, 4294965461, 4294965512, 4294965562, 4294965612, 4294965663, 4294965713, 4294965763, 4294965813, 4294965864, 4294965914, 4294965964, 4294966015, 4294966065, 4294966115, 4294966165, 4294966216, 4294966266, 4294966316, 4294966367, 4294966417, 4294966467, 4294966517, 4294966568, 4294966618, 4294966668, 4294966718, 4294966769, 4294966819, 4294966869, 4294966920, 4294966970, 4294967020, 4294967070, 4294967121, 4294967171, 4294967221, 4294967271, - 25, 75, 125, 175, 226, 276, 326, 376, 427, 477, 527, 578, 628, 678, 728, 779, 829, 879, 929, 980, 1030, 1080, 1131, 1181, 1231, 1281, 1332, 1382, 1432, 1483, 1533, 1583, 1633, 1684, 1734, 1784, 1835, 1885, 1935, 1986, 2036, 2086, 2137, 2187, 2237, 2288, 2338, 2388, 2439, 2489, 2539, 2590, 2640, 2690, 2741, 2791, 2841, 2892, 2942, 2992, 3043, 3093, 3144, 3194, 3244, 3295, 3345, 3395, 3446, 3496, 3547, 3597, 3648, 3698, 3748, 3799, 3849, 3900, 3950, 4001, 4051, 4101, 4152, 4202, 4253, 4303, 4354, 4404, 4455, 4505, 4556, 4606, 4657, 4707, 4758, 4808, 4859, 4910, 4960, 5011, 5061, 5112, 5162, 5213, 5264, 5314, 5365, 5415, 5466, 5517, 5567, 5618, 5668, 5719, 5770, 5820, 5871, 5922, 5972, 6023, 6074, 6124, 6175, 6226, 6277, 6327, 6378, 6429, 6480, 6530, 6581, 6632, 6683, 6733, 6784, 6835, 6886, 6937, 6988, 7038, 7089, 7140, 7191, 7242, 7293, 7344, 7395, 7445, 7496, 7547, 7598, 7649, 7700, 7751, 7802, 7853, 7904, 7955, 8006, 8057, 8108, 8159, 8210, 8261, 8312, 8363, 8414, 8466, 8517, 8568, 8619, 8670, 8721, 8772, 8824, 8875, 8926, 8977, 9028, 9080, 9131, 9182, 9233, 9285, 9336, 9387, 9438, 9490, 9541, 9592, 9644, 9695, 9747, 9798, 9849, 9901, 9952, 10004, 10055, 10106, 10158, 10209, 10261, 10312, 10364, 10415, 10467, 10519, 10570, 10622, 10673, 10725, 10777, 10828, 10880, 10931, 10983, 11035, 11086, 11138, 11190, 11242, 11293, 11345, 11397, 11449, 11501, 11552, 11604, 11656, 11708, 11760, 11812, 11864, 11916, 11967, 12019, 12071, 12123, 12175, 12227, 12279, 12331, 12383, 12436, 12488, 12540, 12592, 12644, 12696, 12748, 12800, 12853, 12905, 12957, 13009, 13062, 13114, 13166, 13218, 13271, 13323, 13375, 13428, 13480, 13533, 13585, 13637, 13690, 13742, 13795, 13847, 13900, 13952, 14005, 14057, 14110, 14163, 14215, 14268, 14321, 14373, 14426, 14479, 14531, 14584, 14637, 14690, 14743, 14795, 14848, 14901, 14954, 15007, 15060, 15113, 15166, 15219, 15272, 15325, 15378, 15431, 15484, 15537, 15590, 15643, 15696, 15749, 15802, 15856, 15909, 15962, 16015, 16069, 16122, 16175, 16229, 16282, 16335, 16389, 16442, 16496, 16549, 16603, 16656, 16710, 16763, 16817, 16870, 16924, 16977, 17031, 17085, 17138, 17192, 17246, 17300, 17353, 17407, 17461, 17515, 17569, 17623, 17677, 17731, 17784, 17838, 17892, 17946, 18001, 18055, 18109, 18163, 18217, 18271, 18325, 18380, 18434, 18488, 18542, 18597, 18651, 18705, 18760, 18814, 18868, 18923, 18977, 19032, 19086, 19141, 19195, 19250, 19305, 19359, 19414, 19469, 19523, 19578, 19633, 19688, 19742, 19797, 19852, 19907, 19962, 20017, 20072, 20127, 20182, 20237, 20292, 20347, 20402, 20457, 20513, 20568, 20623, 20678, 20734, 20789, 20844, 20900, 20955, 21010, 21066, 21121, 21177, 21232, 21288, 21343, 21399, 21455, 21510, 21566, 21622, 21678, 21733, 21789, 21845, 21901, 21957, 22013, 22069, 22125, 22181, 22237, 22293, 22349, 22405, 22461, 22517, 22573, 22630, 22686, 22742, 22799, 22855, 22911, 22968, 23024, 23081, 23137, 23194, 23250, 23307, 23364, 23420, 23477, 23534, 23591, 23647, 23704, 23761, 23818, 23875, 23932, 23989, 24046, 24103, 24160, 24217, 24274, 24331, 24389, 24446, 24503, 24560, 24618, 24675, 24732, 24790, 24847, 24905, 24962, 25020, 25078, 25135, 25193, 25251, 25308, 25366, 25424, 25482, 25540, 25598, 25656, 25714, 25772, 25830, 25888, 25946, 26004, 26062, 26120, 26179, 26237, 26295, 26354, 26412, 26471, 26529, 26588, 26646, 26705, 26763, 26822, 26881, 26940, 26998, 27057, 27116, 27175, 27234, 27293, 27352, 27411, 27470, 27529, 27588, 27647, 27707, 27766, 27825, 27884, 27944, 28003, 28063, 28122, 28182, 28241, 28301, 28361, 28420, 28480, 28540, 28600, 28660, 28719, 28779, 28839, 28899, 28959, 29020, 29080, 29140, 29200, 29260, 29321, 29381, 29441, 29502, 29562, 29623, 29683, 29744, 29805, 29865, 29926, 29987, 30048, 30108, 30169, 30230, 30291, 30352, 30413, 30474, 30536, 30597, 30658, 30719, 30781, 30842, 30904, 30965, 31026, 31088, 31150, 31211, 31273, 31335, 31396, 31458, 31520, 31582, 31644, 31706, 31768, 31830, 31892, 31955, 32017, 32079, 32141, 32204, 32266, 32329, 32391, 32454, 32516, 32579, 32642, 32705, 32767, 32830, 32893, 32956, 33019, 33082, 33145, 33208, 33272, 33335, 33398, 33461, 33525, 33588, 33652, 33715, 33779, 33843, 33906, 33970, 34034, 34098, 34162, 34225, 34289, 34354, 34418, 34482, 34546, 34610, 34675, 34739, 34803, 34868, 34932, 34997, 35062, 35126, 35191, 35256, 35321, 35385, 35450, 35515, 35580, 35646, 35711, 35776, 35841, 35907, 35972, 36037, 36103, 36168, 36234, 36300, 36365, 36431, 36497, 36563, 36629, 36695, 36761, 36827, 36893, 36959, 37026, 37092, 37158, 37225, 37291, 37358, 37425, 37491, 37558, 37625, 37692, 37759, 37826, 37893, 37960, 38027, 38094, 38161, 38229, 38296, 38364, 38431, 38499, 38566, 38634, 38702, 38770, 38837, 38905, 38973, 39042, 39110, 39178, 39246, 39314, 39383, 39451, 39520, 39588, 39657, 39726, 39794, 39863, 39932, 40001, 40070, 40139, 40208, 40278, 40347, 40416, 40486, 40555, 40625, 40694, 40764, 40834, 40904, 40973, 41043, 41113, 41184, 41254, 41324, 41394, 41465, 41535, 41605, 41676, 41747, 41817, 41888, 41959, 42030, 42101, 42172, 42243, 42314, 42385, 42457, 42528, 42600, 42671, 42743, 42814, 42886, 42958, 43030, 43102, 43174, 43246, 43318, 43390, 43463, 43535, 43608, 43680, 43753, 43826, 43898, 43971, 44044, 44117, 44190, 44263, 44337, 44410, 44483, 44557, 44630, 44704, 44778, 44851, 44925, 44999, 45073, 45147, 45221, 45296, 45370, 45444, 45519, 45593, 45668, 45743, 45818, 45892, 45967, 46042, 46118, 46193, 46268, 46343, 46419, 46494, 46570, 46646, 46721, 46797, 46873, 46949, 47025, 47102, 47178, 47254, 47331, 47407, 47484, 47560, 47637, 47714, 47791, 47868, 47945, 48022, 48100, 48177, 48255, 48332, 48410, 48488, 48565, 48643, 48721, 48799, 48878, 48956, 49034, 49113, 49191, 49270, 49349, 49427, 49506, 49585, 49664, 49744, 49823, 49902, 49982, 50061, 50141, 50221, 50300, 50380, 50460, 50540, 50621, 50701, 50781, 50862, 50942, 51023, 51104, 51185, 51266, 51347, 51428, 51509, 51591, 51672, 51754, 51835, 51917, 51999, 52081, 52163, 52245, 52327, 52410, 52492, 52575, 52657, 52740, 52823, 52906, 52989, 53072, 53156, 53239, 53322, 53406, 53490, 53574, 53657, 53741, 53826, 53910, 53994, 54079, 54163, 54248, 54333, 54417, 54502, 54587, 54673, 54758, 54843, 54929, 55015, 55100, 55186, 55272, 55358, 55444, 55531, 55617, 55704, 55790, 55877, 55964, 56051, 56138, 56225, 56312, 56400, 56487, 56575, 56663, 56751, 56839, 56927, 57015, 57104, 57192, 57281, 57369, 57458, 57547, 57636, 57725, 57815, 57904, 57994, 58083, 58173, 58263, 58353, 58443, 58534, 58624, 58715, 58805, 58896, 58987, 59078, 59169, 59261, 59352, 59444, 59535, 59627, 59719, 59811, 59903, 59996, 60088, 60181, 60273, 60366, 60459, 60552, 60646, 60739, 60833, 60926, 61020, 61114, 61208, 61302, 61396, 61491, 61585, 61680, 61775, 61870, 61965, 62060, 62156, 62251, 62347, 62443, 62539, 62635, 62731, 62828, 62924, 63021, 63118, 63215, 63312, 63409, 63506, 63604, 63702, 63799, 63897, 63996, 64094, 64192, 64291, 64389, 64488, 64587, 64687, 64786, 64885, 64985, 65085, 65185, 65285, 65385, 65485, 65586, 65686, 65787, 65888, 65989, 66091, 66192, 66294, 66396, 66498, 66600, 66702, 66804, 66907, 67010, 67113, 67216, 67319, 67422, 67526, 67629, 67733, 67837, 67942, 68046, 68151, 68255, 68360, 68465, 68570, 68676, 68781, 68887, 68993, 69099, 69205, 69312, 69418, 69525, 69632, 69739, 69846, 69954, 70061, 70169, 70277, 70385, 70494, 70602, 70711, 70820, 70929, 71038, 71147, 71257, 71367, 71477, 71587, 71697, 71808, 71918, 72029, 72140, 72252, 72363, 72475, 72587, 72699, 72811, 72923, 73036, 73149, 73262, 73375, 73488, 73602, 73715, 73829, 73944, 74058, 74172, 74287, 74402, 74517, 74633, 74748, 74864, 74980, 75096, 75213, 75329, 75446, 75563, 75680, 75797, 75915, 76033, 76151, 76269, 76388, 76506, 76625, 76744, 76864, 76983, 77103, 77223, 77343, 77463, 77584, 77705, 77826, 77947, 78068, 78190, 78312, 78434, 78557, 78679, 78802, 78925, 79048, 79172, 79296, 79420, 79544, 79668, 79793, 79918, 80043, 80168, 80294, 80420, 80546, 80672, 80799, 80925, 81053, 81180, 81307, 81435, 81563, 81691, 81820, 81949, 82078, 82207, 82336, 82466, 82596, 82726, 82857, 82987, 83118, 83250, 83381, 83513, 83645, 83777, 83910, 84043, 84176, 84309, 84443, 84576, 84710, 84845, 84980, 85114, 85250, 85385, 85521, 85657, 85793, 85930, 86066, 86204, 86341, 86479, 86616, 86755, 86893, 87032, 87171, 87310, 87450, 87590, 87730, 87871, 88011, 88152, 88294, 88435, 88577, 88720, 88862, 89005, 89148, 89292, 89435, 89579, 89724, 89868, 90013, 90158, 90304, 90450, 90596, 90742, 90889, 91036, 91184, 91332, 91480, 91628, 91777, 91926, 92075, 92225, 92375, 92525, 92675, 92826, 92978, 93129, 93281, 93434, 93586, 93739, 93892, 94046, 94200, 94354, 94509, 94664, 94819, 94975, 95131, 95287, 95444, 95601, 95758, 95916, 96074, 96233, 96391, 96551, 96710, 96870, 97030, 97191, 97352, 97513, 97675, 97837, 98000, 98163, 98326, 98489, 98653, 98818, 98982, 99148, 99313, 99479, 99645, 99812, 99979, 100146, 100314, 100482, 100651, 100820, 100990, 101159, 101330, 101500, 101671, 101843, 102015, 102187, 102360, 102533, 102706, 102880, 103054, 103229, 103404, 103580, 103756, 103933, 104109, 104287, 104465, 104643, 104821, 105000, 105180, 105360, 105540, 105721, 105902, 106084, 106266, 106449, 106632, 106816, 107000, 107184, 107369, 107555, 107741, 107927, 108114, 108301, 108489, 108677, 108866, 109055, 109245, 109435, 109626, 109817, 110008, 110200, 110393, 110586, 110780, 110974, 111169, 111364, 111560, 111756, 111952, 112150, 112347, 112546, 112744, 112944, 113143, 113344, 113545, 113746, 113948, 114151, 114354, 114557, 114761, 114966, 115171, 115377, 115583, 115790, 115998, 116206, 116414, 116623, 116833, 117044, 117254, 117466, 117678, 117891, 118104, 118318, 118532, 118747, 118963, 119179, 119396, 119613, 119831, 120050, 120269, 120489, 120709, 120930, 121152, 121374, 121597, 121821, 122045, 122270, 122496, 122722, 122949, 123176, 123404, 123633, 123863, 124093, 124324, 124555, 124787, 125020, 125254, 125488, 125723, 125959, 126195, 126432, 126669, 126908, 127147, 127387, 127627, 127869, 128111, 128353, 128597, 128841, 129086, 129332, 129578, 129825, 130073, 130322, 130571, 130821, 131072, 131324, 131576, 131830, 132084, 132339, 132594, 132851, 133108, 133366, 133625, 133884, 134145, 134406, 134668, 134931, 135195, 135459, 135725, 135991, 136258, 136526, 136795, 137065, 137335, 137607, 137879, 138152, 138426, 138701, 138977, 139254, 139532, 139810, 140090, 140370, 140651, 140934, 141217, 141501, 141786, 142072, 142359, 142647, 142936, 143226, 143517, 143808, 144101, 144395, 144690, 144986, 145282, 145580, 145879, 146179, 146480, 146782, 147084, 147388, 147693, 148000, 148307, 148615, 148924, 149235, 149546, 149859, 150172, 150487, 150803, 151120, 151438, 151757, 152077, 152399, 152722, 153045, 153370, 153697, 154024, 154352, 154682, 155013, 155345, 155678, 156013, 156349, 156686, 157024, 157363, 157704, 158046, 158389, 158734, 159079, 159427, 159775, 160125, 160476, 160828, 161182, 161537, 161893, 162251, 162610, 162970, 163332, 163695, 164060, 164426, 164793, 165162, 165532, 165904, 166277, 166651, 167027, 167405, 167784, 168164, 168546, 168930, 169315, 169701, 170089, 170479, 170870, 171263, 171657, 172053, 172451, 172850, 173251, 173653, 174057, 174463, 174870, 175279, 175690, 176102, 176516, 176932, 177349, 177769, 178190, 178612, 179037, 179463, 179891, 180321, 180753, 181186, 181622, 182059, 182498, 182939, 183382, 183827, 184274, 184722, 185173, 185625, 186080, 186536, 186995, 187455, 187918, 188382, 188849, 189318, 189789, 190261, 190736, 191213, 191693, 192174, 192658, 193143, 193631, 194122, 194614, 195109, 195606, 196105, 196606, 197110, 197616, 198125, 198636, 199149, 199664, 200182, 200703, 201226, 201751, 202279, 202809, 203342, 203878, 204416, 204956, 205500, 206045, 206594, 207145, 207699, 208255, 208815, 209376, 209941, 210509, 211079, 211652, 212228, 212807, 213389, 213973, 214561, 215151, 215745, 216341, 216941, 217544, 218149, 218758, 219370, 219985, 220603, 221225, 221849, 222477, 223108, 223743, 224381, 225022, 225666, 226314, 226966, 227621, 228279, 228941, 229606, 230275, 230948, 231624, 232304, 232988, 233676, 234367, 235062, 235761, 236463, 237170, 237881, 238595, 239314, 240036, 240763, 241493, 242228, 242967, 243711, 244458, 245210, 245966, 246727, 247492, 248261, 249035, 249813, 250596, 251384, 252176, 252973, 253774, 254581, 255392, 256208, 257029, 257855, 258686, 259522, 260363, 261209, 262060, 262917, 263779, 264646, 265519, 266397, 267280, 268169, 269064, 269965, 270871, 271782, 272700, 273624, 274553, 275489, 276430, 277378, 278332, 279292, 280258, 281231, 282210, 283195, 284188, 285186, 286192, 287204, 288223, 289249, 290282, 291322, 292369, 293423, 294485, 295554, 296630, 297714, 298805, 299904, 301011, 302126, 303248, 304379, 305517, 306664, 307819, 308983, 310154, 311335, 312524, 313721, 314928, 316143, 317368, 318601, 319844, 321097, 322358, 323629, 324910, 326201, 327502, 328812, 330133, 331464, 332805, 334157, 335519, 336892, 338276, 339671, 341078, 342495, 343924, 345364, 346816, 348280, 349756, 351244, 352744, 354257, 355783, 357321, 358872, 360436, 362013, 363604, 365208, 366826, 368459, 370105, 371765, 373440, 375130, 376835, 378555, 380290, 382040, 383807, 385589, 387387, 389202, 391034, 392882, 394747, 396630, 398530, 400448, 402384, 404338, 406311, 408303, 410314, 412344, 414395, 416465, 418555, 420666, 422798, 424951, 427125, 429321, 431540, 433781, 436045, 438332, 440643, 442978, 445337, 447720, 450129, 452564, 455024, 457511, 460024, 462565, 465133, 467730, 470355, 473009, 475692, 478406, 481150, 483925, 486732, 489571, 492443, 495348, 498287, 501261, 504269, 507313, 510394, 513512, 516667, 519861, 523094, 526366, 529680, 533034, 536431, 539870, 543354, 546881, 550455, 554074, 557741, 561456, 565221, 569035, 572901, 576818, 580789, 584815, 588896, 593033, 597229, 601483, 605798, 610174, 614613, 619117, 623686, 628323, 633028, 637803, 642651, 647572, 652568, 657640, 662792, 668024, 673338, 678737, 684223, 689797, 695462, 701219, 707072, 713023, 719074, 725227, 731486, 737853, 744331, 750922, 757631, 764460, 771411, 778490, 785699, 793041, 800521, 808143, 815910, 823827, 831898, 840127, 848520, 857081, 865817, 874730, 883829, 893117, 902602, 912289, 922186, 932298, 942633, 953199, 964003, 975054, 986361, 997931, 1009774, 1021901, 1034322, 1047046, 1060087, 1073455, 1087164, 1101225, 1115654, 1130465, 1145673, 1161294, 1177345, 1193846, 1210813, 1228269, 1246234, 1264730, 1283783, 1303416, 1323658, 1344537, 1366084, 1388330, 1411312, 1435065, 1459630, 1485049, 1511367, 1538632, 1566898, 1596220, 1626658, 1658278, 1691149, 1725348, 1760956, 1798063, 1836758, 1877161, 1919378, 1963536, 2009771, 2058233, 2109087, 2162516, 2218719, 2277919, 2340362, 2406322, 2476104, 2550052, 2628549, 2712030, 2800983, 2895966, 2997613, 3106651, 3223918, 3350381, 3487165, 3635590, 3797206, 3973855, 4167737, 4381502, 4618375, 4882318, 5178251, 5512368, 5892567, 6329090, 6835455, 7429880, 8137527, 8994149, 10052327, 11392683, 13145455, 15535599, 18988036, 24413316, 34178904, 56965752, 170910304, + + -170910304,-56965752,-34178904,-24413316,-18988036,-15535599,-13145455,-11392683, + -10052327,-8994149,-8137527,-7429880,-6835455,-6329090,-5892567,-5512368, + -5178251,-4882318,-4618375,-4381502,-4167737,-3973855,-3797206,-3635590, + -3487165,-3350381,-3223918,-3106651,-2997613,-2895966,-2800983,-2712030, + -2628549,-2550052,-2476104,-2406322,-2340362,-2277919,-2218719,-2162516, + -2109087,-2058233,-2009771,-1963536,-1919378,-1877161,-1836758,-1798063, + -1760956,-1725348,-1691149,-1658278,-1626658,-1596220,-1566898,-1538632, + -1511367,-1485049,-1459630,-1435065,-1411312,-1388330,-1366084,-1344537, + -1323658,-1303416,-1283783,-1264730,-1246234,-1228269,-1210813,-1193846, + -1177345,-1161294,-1145673,-1130465,-1115654,-1101225,-1087164,-1073455, + -1060087,-1047046,-1034322,-1021901,-1009774,-997931,-986361,-975054, + -964003,-953199,-942633,-932298,-922186,-912289,-902602,-893117, + -883829,-874730,-865817,-857081,-848520,-840127,-831898,-823827, + -815910,-808143,-800521,-793041,-785699,-778490,-771411,-764460, + -757631,-750922,-744331,-737853,-731486,-725227,-719074,-713023, + -707072,-701219,-695462,-689797,-684223,-678737,-673338,-668024, + -662792,-657640,-652568,-647572,-642651,-637803,-633028,-628323, + -623686,-619117,-614613,-610174,-605798,-601483,-597229,-593033, + -588896,-584815,-580789,-576818,-572901,-569035,-565221,-561456, + -557741,-554074,-550455,-546881,-543354,-539870,-536431,-533034, + -529680,-526366,-523094,-519861,-516667,-513512,-510394,-507313, + -504269,-501261,-498287,-495348,-492443,-489571,-486732,-483925, + -481150,-478406,-475692,-473009,-470355,-467730,-465133,-462565, + -460024,-457511,-455024,-452564,-450129,-447720,-445337,-442978, + -440643,-438332,-436045,-433781,-431540,-429321,-427125,-424951, + -422798,-420666,-418555,-416465,-414395,-412344,-410314,-408303, + -406311,-404338,-402384,-400448,-398530,-396630,-394747,-392882, + -391034,-389202,-387387,-385589,-383807,-382040,-380290,-378555, + -376835,-375130,-373440,-371765,-370105,-368459,-366826,-365208, + -363604,-362013,-360436,-358872,-357321,-355783,-354257,-352744, + -351244,-349756,-348280,-346816,-345364,-343924,-342495,-341078, + -339671,-338276,-336892,-335519,-334157,-332805,-331464,-330133, + -328812,-327502,-326201,-324910,-323629,-322358,-321097,-319844, + -318601,-317368,-316143,-314928,-313721,-312524,-311335,-310154, + -308983,-307819,-306664,-305517,-304379,-303248,-302126,-301011, + -299904,-298805,-297714,-296630,-295554,-294485,-293423,-292369, + -291322,-290282,-289249,-288223,-287204,-286192,-285186,-284188, + -283195,-282210,-281231,-280258,-279292,-278332,-277378,-276430, + -275489,-274553,-273624,-272700,-271782,-270871,-269965,-269064, + -268169,-267280,-266397,-265519,-264646,-263779,-262917,-262060, + -261209,-260363,-259522,-258686,-257855,-257029,-256208,-255392, + -254581,-253774,-252973,-252176,-251384,-250596,-249813,-249035, + -248261,-247492,-246727,-245966,-245210,-244458,-243711,-242967, + -242228,-241493,-240763,-240036,-239314,-238595,-237881,-237170, + -236463,-235761,-235062,-234367,-233676,-232988,-232304,-231624, + -230948,-230275,-229606,-228941,-228279,-227621,-226966,-226314, + -225666,-225022,-224381,-223743,-223108,-222477,-221849,-221225, + -220603,-219985,-219370,-218758,-218149,-217544,-216941,-216341, + -215745,-215151,-214561,-213973,-213389,-212807,-212228,-211652, + -211079,-210509,-209941,-209376,-208815,-208255,-207699,-207145, + -206594,-206045,-205500,-204956,-204416,-203878,-203342,-202809, + -202279,-201751,-201226,-200703,-200182,-199664,-199149,-198636, + -198125,-197616,-197110,-196606,-196105,-195606,-195109,-194614, + -194122,-193631,-193143,-192658,-192174,-191693,-191213,-190736, + -190261,-189789,-189318,-188849,-188382,-187918,-187455,-186995, + -186536,-186080,-185625,-185173,-184722,-184274,-183827,-183382, + -182939,-182498,-182059,-181622,-181186,-180753,-180321,-179891, + -179463,-179037,-178612,-178190,-177769,-177349,-176932,-176516, + -176102,-175690,-175279,-174870,-174463,-174057,-173653,-173251, + -172850,-172451,-172053,-171657,-171263,-170870,-170479,-170089, + -169701,-169315,-168930,-168546,-168164,-167784,-167405,-167027, + -166651,-166277,-165904,-165532,-165162,-164793,-164426,-164060, + -163695,-163332,-162970,-162610,-162251,-161893,-161537,-161182, + -160828,-160476,-160125,-159775,-159427,-159079,-158734,-158389, + -158046,-157704,-157363,-157024,-156686,-156349,-156013,-155678, + -155345,-155013,-154682,-154352,-154024,-153697,-153370,-153045, + -152722,-152399,-152077,-151757,-151438,-151120,-150803,-150487, + -150172,-149859,-149546,-149235,-148924,-148615,-148307,-148000, + -147693,-147388,-147084,-146782,-146480,-146179,-145879,-145580, + -145282,-144986,-144690,-144395,-144101,-143808,-143517,-143226, + -142936,-142647,-142359,-142072,-141786,-141501,-141217,-140934, + -140651,-140370,-140090,-139810,-139532,-139254,-138977,-138701, + -138426,-138152,-137879,-137607,-137335,-137065,-136795,-136526, + -136258,-135991,-135725,-135459,-135195,-134931,-134668,-134406, + -134145,-133884,-133625,-133366,-133108,-132851,-132594,-132339, + -132084,-131830,-131576,-131324,-131072,-130821,-130571,-130322, + -130073,-129825,-129578,-129332,-129086,-128841,-128597,-128353, + -128111,-127869,-127627,-127387,-127147,-126908,-126669,-126432, + -126195,-125959,-125723,-125488,-125254,-125020,-124787,-124555, + -124324,-124093,-123863,-123633,-123404,-123176,-122949,-122722, + -122496,-122270,-122045,-121821,-121597,-121374,-121152,-120930, + -120709,-120489,-120269,-120050,-119831,-119613,-119396,-119179, + -118963,-118747,-118532,-118318,-118104,-117891,-117678,-117466, + -117254,-117044,-116833,-116623,-116414,-116206,-115998,-115790, + -115583,-115377,-115171,-114966,-114761,-114557,-114354,-114151, + -113948,-113746,-113545,-113344,-113143,-112944,-112744,-112546, + -112347,-112150,-111952,-111756,-111560,-111364,-111169,-110974, + -110780,-110586,-110393,-110200,-110008,-109817,-109626,-109435, + -109245,-109055,-108866,-108677,-108489,-108301,-108114,-107927, + -107741,-107555,-107369,-107184,-107000,-106816,-106632,-106449, + -106266,-106084,-105902,-105721,-105540,-105360,-105180,-105000, + -104821,-104643,-104465,-104287,-104109,-103933,-103756,-103580, + -103404,-103229,-103054,-102880,-102706,-102533,-102360,-102187, + -102015,-101843,-101671,-101500,-101330,-101159,-100990,-100820, + -100651,-100482,-100314,-100146,-99979,-99812,-99645,-99479, + -99313,-99148,-98982,-98818,-98653,-98489,-98326,-98163, + -98000,-97837,-97675,-97513,-97352,-97191,-97030,-96870, + -96710,-96551,-96391,-96233,-96074,-95916,-95758,-95601, + -95444,-95287,-95131,-94975,-94819,-94664,-94509,-94354, + -94200,-94046,-93892,-93739,-93586,-93434,-93281,-93129, + -92978,-92826,-92675,-92525,-92375,-92225,-92075,-91926, + -91777,-91628,-91480,-91332,-91184,-91036,-90889,-90742, + -90596,-90450,-90304,-90158,-90013,-89868,-89724,-89579, + -89435,-89292,-89148,-89005,-88862,-88720,-88577,-88435, + -88294,-88152,-88011,-87871,-87730,-87590,-87450,-87310, + -87171,-87032,-86893,-86755,-86616,-86479,-86341,-86204, + -86066,-85930,-85793,-85657,-85521,-85385,-85250,-85114, + -84980,-84845,-84710,-84576,-84443,-84309,-84176,-84043, + -83910,-83777,-83645,-83513,-83381,-83250,-83118,-82987, + -82857,-82726,-82596,-82466,-82336,-82207,-82078,-81949, + -81820,-81691,-81563,-81435,-81307,-81180,-81053,-80925, + -80799,-80672,-80546,-80420,-80294,-80168,-80043,-79918, + -79793,-79668,-79544,-79420,-79296,-79172,-79048,-78925, + -78802,-78679,-78557,-78434,-78312,-78190,-78068,-77947, + -77826,-77705,-77584,-77463,-77343,-77223,-77103,-76983, + -76864,-76744,-76625,-76506,-76388,-76269,-76151,-76033, + -75915,-75797,-75680,-75563,-75446,-75329,-75213,-75096, + -74980,-74864,-74748,-74633,-74517,-74402,-74287,-74172, + -74058,-73944,-73829,-73715,-73602,-73488,-73375,-73262, + -73149,-73036,-72923,-72811,-72699,-72587,-72475,-72363, + -72252,-72140,-72029,-71918,-71808,-71697,-71587,-71477, + -71367,-71257,-71147,-71038,-70929,-70820,-70711,-70602, + -70494,-70385,-70277,-70169,-70061,-69954,-69846,-69739, + -69632,-69525,-69418,-69312,-69205,-69099,-68993,-68887, + -68781,-68676,-68570,-68465,-68360,-68255,-68151,-68046, + -67942,-67837,-67733,-67629,-67526,-67422,-67319,-67216, + -67113,-67010,-66907,-66804,-66702,-66600,-66498,-66396, + -66294,-66192,-66091,-65989,-65888,-65787,-65686,-65586, + -65485,-65385,-65285,-65185,-65085,-64985,-64885,-64786, + -64687,-64587,-64488,-64389,-64291,-64192,-64094,-63996, + -63897,-63799,-63702,-63604,-63506,-63409,-63312,-63215, + -63118,-63021,-62924,-62828,-62731,-62635,-62539,-62443, + -62347,-62251,-62156,-62060,-61965,-61870,-61775,-61680, + -61585,-61491,-61396,-61302,-61208,-61114,-61020,-60926, + -60833,-60739,-60646,-60552,-60459,-60366,-60273,-60181, + -60088,-59996,-59903,-59811,-59719,-59627,-59535,-59444, + -59352,-59261,-59169,-59078,-58987,-58896,-58805,-58715, + -58624,-58534,-58443,-58353,-58263,-58173,-58083,-57994, + -57904,-57815,-57725,-57636,-57547,-57458,-57369,-57281, + -57192,-57104,-57015,-56927,-56839,-56751,-56663,-56575, + -56487,-56400,-56312,-56225,-56138,-56051,-55964,-55877, + -55790,-55704,-55617,-55531,-55444,-55358,-55272,-55186, + -55100,-55015,-54929,-54843,-54758,-54673,-54587,-54502, + -54417,-54333,-54248,-54163,-54079,-53994,-53910,-53826, + -53741,-53657,-53574,-53490,-53406,-53322,-53239,-53156, + -53072,-52989,-52906,-52823,-52740,-52657,-52575,-52492, + -52410,-52327,-52245,-52163,-52081,-51999,-51917,-51835, + -51754,-51672,-51591,-51509,-51428,-51347,-51266,-51185, + -51104,-51023,-50942,-50862,-50781,-50701,-50621,-50540, + -50460,-50380,-50300,-50221,-50141,-50061,-49982,-49902, + -49823,-49744,-49664,-49585,-49506,-49427,-49349,-49270, + -49191,-49113,-49034,-48956,-48878,-48799,-48721,-48643, + -48565,-48488,-48410,-48332,-48255,-48177,-48100,-48022, + -47945,-47868,-47791,-47714,-47637,-47560,-47484,-47407, + -47331,-47254,-47178,-47102,-47025,-46949,-46873,-46797, + -46721,-46646,-46570,-46494,-46419,-46343,-46268,-46193, + -46118,-46042,-45967,-45892,-45818,-45743,-45668,-45593, + -45519,-45444,-45370,-45296,-45221,-45147,-45073,-44999, + -44925,-44851,-44778,-44704,-44630,-44557,-44483,-44410, + -44337,-44263,-44190,-44117,-44044,-43971,-43898,-43826, + -43753,-43680,-43608,-43535,-43463,-43390,-43318,-43246, + -43174,-43102,-43030,-42958,-42886,-42814,-42743,-42671, + -42600,-42528,-42457,-42385,-42314,-42243,-42172,-42101, + -42030,-41959,-41888,-41817,-41747,-41676,-41605,-41535, + -41465,-41394,-41324,-41254,-41184,-41113,-41043,-40973, + -40904,-40834,-40764,-40694,-40625,-40555,-40486,-40416, + -40347,-40278,-40208,-40139,-40070,-40001,-39932,-39863, + -39794,-39726,-39657,-39588,-39520,-39451,-39383,-39314, + -39246,-39178,-39110,-39042,-38973,-38905,-38837,-38770, + -38702,-38634,-38566,-38499,-38431,-38364,-38296,-38229, + -38161,-38094,-38027,-37960,-37893,-37826,-37759,-37692, + -37625,-37558,-37491,-37425,-37358,-37291,-37225,-37158, + -37092,-37026,-36959,-36893,-36827,-36761,-36695,-36629, + -36563,-36497,-36431,-36365,-36300,-36234,-36168,-36103, + -36037,-35972,-35907,-35841,-35776,-35711,-35646,-35580, + -35515,-35450,-35385,-35321,-35256,-35191,-35126,-35062, + -34997,-34932,-34868,-34803,-34739,-34675,-34610,-34546, + -34482,-34418,-34354,-34289,-34225,-34162,-34098,-34034, + -33970,-33906,-33843,-33779,-33715,-33652,-33588,-33525, + -33461,-33398,-33335,-33272,-33208,-33145,-33082,-33019, + -32956,-32893,-32830,-32767,-32705,-32642,-32579,-32516, + -32454,-32391,-32329,-32266,-32204,-32141,-32079,-32017, + -31955,-31892,-31830,-31768,-31706,-31644,-31582,-31520, + -31458,-31396,-31335,-31273,-31211,-31150,-31088,-31026, + -30965,-30904,-30842,-30781,-30719,-30658,-30597,-30536, + -30474,-30413,-30352,-30291,-30230,-30169,-30108,-30048, + -29987,-29926,-29865,-29805,-29744,-29683,-29623,-29562, + -29502,-29441,-29381,-29321,-29260,-29200,-29140,-29080, + -29020,-28959,-28899,-28839,-28779,-28719,-28660,-28600, + -28540,-28480,-28420,-28361,-28301,-28241,-28182,-28122, + -28063,-28003,-27944,-27884,-27825,-27766,-27707,-27647, + -27588,-27529,-27470,-27411,-27352,-27293,-27234,-27175, + -27116,-27057,-26998,-26940,-26881,-26822,-26763,-26705, + -26646,-26588,-26529,-26471,-26412,-26354,-26295,-26237, + -26179,-26120,-26062,-26004,-25946,-25888,-25830,-25772, + -25714,-25656,-25598,-25540,-25482,-25424,-25366,-25308, + -25251,-25193,-25135,-25078,-25020,-24962,-24905,-24847, + -24790,-24732,-24675,-24618,-24560,-24503,-24446,-24389, + -24331,-24274,-24217,-24160,-24103,-24046,-23989,-23932, + -23875,-23818,-23761,-23704,-23647,-23591,-23534,-23477, + -23420,-23364,-23307,-23250,-23194,-23137,-23081,-23024, + -22968,-22911,-22855,-22799,-22742,-22686,-22630,-22573, + -22517,-22461,-22405,-22349,-22293,-22237,-22181,-22125, + -22069,-22013,-21957,-21901,-21845,-21789,-21733,-21678, + -21622,-21566,-21510,-21455,-21399,-21343,-21288,-21232, + -21177,-21121,-21066,-21010,-20955,-20900,-20844,-20789, + -20734,-20678,-20623,-20568,-20513,-20457,-20402,-20347, + -20292,-20237,-20182,-20127,-20072,-20017,-19962,-19907, + -19852,-19797,-19742,-19688,-19633,-19578,-19523,-19469, + -19414,-19359,-19305,-19250,-19195,-19141,-19086,-19032, + -18977,-18923,-18868,-18814,-18760,-18705,-18651,-18597, + -18542,-18488,-18434,-18380,-18325,-18271,-18217,-18163, + -18109,-18055,-18001,-17946,-17892,-17838,-17784,-17731, + -17677,-17623,-17569,-17515,-17461,-17407,-17353,-17300, + -17246,-17192,-17138,-17085,-17031,-16977,-16924,-16870, + -16817,-16763,-16710,-16656,-16603,-16549,-16496,-16442, + -16389,-16335,-16282,-16229,-16175,-16122,-16069,-16015, + -15962,-15909,-15856,-15802,-15749,-15696,-15643,-15590, + -15537,-15484,-15431,-15378,-15325,-15272,-15219,-15166, + -15113,-15060,-15007,-14954,-14901,-14848,-14795,-14743, + -14690,-14637,-14584,-14531,-14479,-14426,-14373,-14321, + -14268,-14215,-14163,-14110,-14057,-14005,-13952,-13900, + -13847,-13795,-13742,-13690,-13637,-13585,-13533,-13480, + -13428,-13375,-13323,-13271,-13218,-13166,-13114,-13062, + -13009,-12957,-12905,-12853,-12800,-12748,-12696,-12644, + -12592,-12540,-12488,-12436,-12383,-12331,-12279,-12227, + -12175,-12123,-12071,-12019,-11967,-11916,-11864,-11812, + -11760,-11708,-11656,-11604,-11552,-11501,-11449,-11397, + -11345,-11293,-11242,-11190,-11138,-11086,-11035,-10983, + -10931,-10880,-10828,-10777,-10725,-10673,-10622,-10570, + -10519,-10467,-10415,-10364,-10312,-10261,-10209,-10158, + -10106,-10055,-10004,-9952,-9901,-9849,-9798,-9747, + -9695,-9644,-9592,-9541,-9490,-9438,-9387,-9336, + -9285,-9233,-9182,-9131,-9080,-9028,-8977,-8926, + -8875,-8824,-8772,-8721,-8670,-8619,-8568,-8517, + -8466,-8414,-8363,-8312,-8261,-8210,-8159,-8108, + -8057,-8006,-7955,-7904,-7853,-7802,-7751,-7700, + -7649,-7598,-7547,-7496,-7445,-7395,-7344,-7293, + -7242,-7191,-7140,-7089,-7038,-6988,-6937,-6886, + -6835,-6784,-6733,-6683,-6632,-6581,-6530,-6480, + -6429,-6378,-6327,-6277,-6226,-6175,-6124,-6074, + -6023,-5972,-5922,-5871,-5820,-5770,-5719,-5668, + -5618,-5567,-5517,-5466,-5415,-5365,-5314,-5264, + -5213,-5162,-5112,-5061,-5011,-4960,-4910,-4859, + -4808,-4758,-4707,-4657,-4606,-4556,-4505,-4455, + -4404,-4354,-4303,-4253,-4202,-4152,-4101,-4051, + -4001,-3950,-3900,-3849,-3799,-3748,-3698,-3648, + -3597,-3547,-3496,-3446,-3395,-3345,-3295,-3244, + -3194,-3144,-3093,-3043,-2992,-2942,-2892,-2841, + -2791,-2741,-2690,-2640,-2590,-2539,-2489,-2439, + -2388,-2338,-2288,-2237,-2187,-2137,-2086,-2036, + -1986,-1935,-1885,-1835,-1784,-1734,-1684,-1633, + -1583,-1533,-1483,-1432,-1382,-1332,-1281,-1231, + -1181,-1131,-1080,-1030,-980,-929,-879,-829, + -779,-728,-678,-628,-578,-527,-477,-427, + -376,-326,-276,-226,-175,-125,-75,-25, + 25,75,125,175,226,276,326,376, + 427,477,527,578,628,678,728,779, + 829,879,929,980,1030,1080,1131,1181, + 1231,1281,1332,1382,1432,1483,1533,1583, + 1633,1684,1734,1784,1835,1885,1935,1986, + 2036,2086,2137,2187,2237,2288,2338,2388, + 2439,2489,2539,2590,2640,2690,2741,2791, + 2841,2892,2942,2992,3043,3093,3144,3194, + 3244,3295,3345,3395,3446,3496,3547,3597, + 3648,3698,3748,3799,3849,3900,3950,4001, + 4051,4101,4152,4202,4253,4303,4354,4404, + 4455,4505,4556,4606,4657,4707,4758,4808, + 4859,4910,4960,5011,5061,5112,5162,5213, + 5264,5314,5365,5415,5466,5517,5567,5618, + 5668,5719,5770,5820,5871,5922,5972,6023, + 6074,6124,6175,6226,6277,6327,6378,6429, + 6480,6530,6581,6632,6683,6733,6784,6835, + 6886,6937,6988,7038,7089,7140,7191,7242, + 7293,7344,7395,7445,7496,7547,7598,7649, + 7700,7751,7802,7853,7904,7955,8006,8057, + 8108,8159,8210,8261,8312,8363,8414,8466, + 8517,8568,8619,8670,8721,8772,8824,8875, + 8926,8977,9028,9080,9131,9182,9233,9285, + 9336,9387,9438,9490,9541,9592,9644,9695, + 9747,9798,9849,9901,9952,10004,10055,10106, + 10158,10209,10261,10312,10364,10415,10467,10519, + 10570,10622,10673,10725,10777,10828,10880,10931, + 10983,11035,11086,11138,11190,11242,11293,11345, + 11397,11449,11501,11552,11604,11656,11708,11760, + 11812,11864,11916,11967,12019,12071,12123,12175, + 12227,12279,12331,12383,12436,12488,12540,12592, + 12644,12696,12748,12800,12853,12905,12957,13009, + 13062,13114,13166,13218,13271,13323,13375,13428, + 13480,13533,13585,13637,13690,13742,13795,13847, + 13900,13952,14005,14057,14110,14163,14215,14268, + 14321,14373,14426,14479,14531,14584,14637,14690, + 14743,14795,14848,14901,14954,15007,15060,15113, + 15166,15219,15272,15325,15378,15431,15484,15537, + 15590,15643,15696,15749,15802,15856,15909,15962, + 16015,16069,16122,16175,16229,16282,16335,16389, + 16442,16496,16549,16603,16656,16710,16763,16817, + 16870,16924,16977,17031,17085,17138,17192,17246, + 17300,17353,17407,17461,17515,17569,17623,17677, + 17731,17784,17838,17892,17946,18001,18055,18109, + 18163,18217,18271,18325,18380,18434,18488,18542, + 18597,18651,18705,18760,18814,18868,18923,18977, + 19032,19086,19141,19195,19250,19305,19359,19414, + 19469,19523,19578,19633,19688,19742,19797,19852, + 19907,19962,20017,20072,20127,20182,20237,20292, + 20347,20402,20457,20513,20568,20623,20678,20734, + 20789,20844,20900,20955,21010,21066,21121,21177, + 21232,21288,21343,21399,21455,21510,21566,21622, + 21678,21733,21789,21845,21901,21957,22013,22069, + 22125,22181,22237,22293,22349,22405,22461,22517, + 22573,22630,22686,22742,22799,22855,22911,22968, + 23024,23081,23137,23194,23250,23307,23364,23420, + 23477,23534,23591,23647,23704,23761,23818,23875, + 23932,23989,24046,24103,24160,24217,24274,24331, + 24389,24446,24503,24560,24618,24675,24732,24790, + 24847,24905,24962,25020,25078,25135,25193,25251, + 25308,25366,25424,25482,25540,25598,25656,25714, + 25772,25830,25888,25946,26004,26062,26120,26179, + 26237,26295,26354,26412,26471,26529,26588,26646, + 26705,26763,26822,26881,26940,26998,27057,27116, + 27175,27234,27293,27352,27411,27470,27529,27588, + 27647,27707,27766,27825,27884,27944,28003,28063, + 28122,28182,28241,28301,28361,28420,28480,28540, + 28600,28660,28719,28779,28839,28899,28959,29020, + 29080,29140,29200,29260,29321,29381,29441,29502, + 29562,29623,29683,29744,29805,29865,29926,29987, + 30048,30108,30169,30230,30291,30352,30413,30474, + 30536,30597,30658,30719,30781,30842,30904,30965, + 31026,31088,31150,31211,31273,31335,31396,31458, + 31520,31582,31644,31706,31768,31830,31892,31955, + 32017,32079,32141,32204,32266,32329,32391,32454, + 32516,32579,32642,32705,32767,32830,32893,32956, + 33019,33082,33145,33208,33272,33335,33398,33461, + 33525,33588,33652,33715,33779,33843,33906,33970, + 34034,34098,34162,34225,34289,34354,34418,34482, + 34546,34610,34675,34739,34803,34868,34932,34997, + 35062,35126,35191,35256,35321,35385,35450,35515, + 35580,35646,35711,35776,35841,35907,35972,36037, + 36103,36168,36234,36300,36365,36431,36497,36563, + 36629,36695,36761,36827,36893,36959,37026,37092, + 37158,37225,37291,37358,37425,37491,37558,37625, + 37692,37759,37826,37893,37960,38027,38094,38161, + 38229,38296,38364,38431,38499,38566,38634,38702, + 38770,38837,38905,38973,39042,39110,39178,39246, + 39314,39383,39451,39520,39588,39657,39726,39794, + 39863,39932,40001,40070,40139,40208,40278,40347, + 40416,40486,40555,40625,40694,40764,40834,40904, + 40973,41043,41113,41184,41254,41324,41394,41465, + 41535,41605,41676,41747,41817,41888,41959,42030, + 42101,42172,42243,42314,42385,42457,42528,42600, + 42671,42743,42814,42886,42958,43030,43102,43174, + 43246,43318,43390,43463,43535,43608,43680,43753, + 43826,43898,43971,44044,44117,44190,44263,44337, + 44410,44483,44557,44630,44704,44778,44851,44925, + 44999,45073,45147,45221,45296,45370,45444,45519, + 45593,45668,45743,45818,45892,45967,46042,46118, + 46193,46268,46343,46419,46494,46570,46646,46721, + 46797,46873,46949,47025,47102,47178,47254,47331, + 47407,47484,47560,47637,47714,47791,47868,47945, + 48022,48100,48177,48255,48332,48410,48488,48565, + 48643,48721,48799,48878,48956,49034,49113,49191, + 49270,49349,49427,49506,49585,49664,49744,49823, + 49902,49982,50061,50141,50221,50300,50380,50460, + 50540,50621,50701,50781,50862,50942,51023,51104, + 51185,51266,51347,51428,51509,51591,51672,51754, + 51835,51917,51999,52081,52163,52245,52327,52410, + 52492,52575,52657,52740,52823,52906,52989,53072, + 53156,53239,53322,53406,53490,53574,53657,53741, + 53826,53910,53994,54079,54163,54248,54333,54417, + 54502,54587,54673,54758,54843,54929,55015,55100, + 55186,55272,55358,55444,55531,55617,55704,55790, + 55877,55964,56051,56138,56225,56312,56400,56487, + 56575,56663,56751,56839,56927,57015,57104,57192, + 57281,57369,57458,57547,57636,57725,57815,57904, + 57994,58083,58173,58263,58353,58443,58534,58624, + 58715,58805,58896,58987,59078,59169,59261,59352, + 59444,59535,59627,59719,59811,59903,59996,60088, + 60181,60273,60366,60459,60552,60646,60739,60833, + 60926,61020,61114,61208,61302,61396,61491,61585, + 61680,61775,61870,61965,62060,62156,62251,62347, + 62443,62539,62635,62731,62828,62924,63021,63118, + 63215,63312,63409,63506,63604,63702,63799,63897, + 63996,64094,64192,64291,64389,64488,64587,64687, + 64786,64885,64985,65085,65185,65285,65385,65485, + 65586,65686,65787,65888,65989,66091,66192,66294, + 66396,66498,66600,66702,66804,66907,67010,67113, + 67216,67319,67422,67526,67629,67733,67837,67942, + 68046,68151,68255,68360,68465,68570,68676,68781, + 68887,68993,69099,69205,69312,69418,69525,69632, + 69739,69846,69954,70061,70169,70277,70385,70494, + 70602,70711,70820,70929,71038,71147,71257,71367, + 71477,71587,71697,71808,71918,72029,72140,72252, + 72363,72475,72587,72699,72811,72923,73036,73149, + 73262,73375,73488,73602,73715,73829,73944,74058, + 74172,74287,74402,74517,74633,74748,74864,74980, + 75096,75213,75329,75446,75563,75680,75797,75915, + 76033,76151,76269,76388,76506,76625,76744,76864, + 76983,77103,77223,77343,77463,77584,77705,77826, + 77947,78068,78190,78312,78434,78557,78679,78802, + 78925,79048,79172,79296,79420,79544,79668,79793, + 79918,80043,80168,80294,80420,80546,80672,80799, + 80925,81053,81180,81307,81435,81563,81691,81820, + 81949,82078,82207,82336,82466,82596,82726,82857, + 82987,83118,83250,83381,83513,83645,83777,83910, + 84043,84176,84309,84443,84576,84710,84845,84980, + 85114,85250,85385,85521,85657,85793,85930,86066, + 86204,86341,86479,86616,86755,86893,87032,87171, + 87310,87450,87590,87730,87871,88011,88152,88294, + 88435,88577,88720,88862,89005,89148,89292,89435, + 89579,89724,89868,90013,90158,90304,90450,90596, + 90742,90889,91036,91184,91332,91480,91628,91777, + 91926,92075,92225,92375,92525,92675,92826,92978, + 93129,93281,93434,93586,93739,93892,94046,94200, + 94354,94509,94664,94819,94975,95131,95287,95444, + 95601,95758,95916,96074,96233,96391,96551,96710, + 96870,97030,97191,97352,97513,97675,97837,98000, + 98163,98326,98489,98653,98818,98982,99148,99313, + 99479,99645,99812,99979,100146,100314,100482,100651, + 100820,100990,101159,101330,101500,101671,101843,102015, + 102187,102360,102533,102706,102880,103054,103229,103404, + 103580,103756,103933,104109,104287,104465,104643,104821, + 105000,105180,105360,105540,105721,105902,106084,106266, + 106449,106632,106816,107000,107184,107369,107555,107741, + 107927,108114,108301,108489,108677,108866,109055,109245, + 109435,109626,109817,110008,110200,110393,110586,110780, + 110974,111169,111364,111560,111756,111952,112150,112347, + 112546,112744,112944,113143,113344,113545,113746,113948, + 114151,114354,114557,114761,114966,115171,115377,115583, + 115790,115998,116206,116414,116623,116833,117044,117254, + 117466,117678,117891,118104,118318,118532,118747,118963, + 119179,119396,119613,119831,120050,120269,120489,120709, + 120930,121152,121374,121597,121821,122045,122270,122496, + 122722,122949,123176,123404,123633,123863,124093,124324, + 124555,124787,125020,125254,125488,125723,125959,126195, + 126432,126669,126908,127147,127387,127627,127869,128111, + 128353,128597,128841,129086,129332,129578,129825,130073, + 130322,130571,130821,131072,131324,131576,131830,132084, + 132339,132594,132851,133108,133366,133625,133884,134145, + 134406,134668,134931,135195,135459,135725,135991,136258, + 136526,136795,137065,137335,137607,137879,138152,138426, + 138701,138977,139254,139532,139810,140090,140370,140651, + 140934,141217,141501,141786,142072,142359,142647,142936, + 143226,143517,143808,144101,144395,144690,144986,145282, + 145580,145879,146179,146480,146782,147084,147388,147693, + 148000,148307,148615,148924,149235,149546,149859,150172, + 150487,150803,151120,151438,151757,152077,152399,152722, + 153045,153370,153697,154024,154352,154682,155013,155345, + 155678,156013,156349,156686,157024,157363,157704,158046, + 158389,158734,159079,159427,159775,160125,160476,160828, + 161182,161537,161893,162251,162610,162970,163332,163695, + 164060,164426,164793,165162,165532,165904,166277,166651, + 167027,167405,167784,168164,168546,168930,169315,169701, + 170089,170479,170870,171263,171657,172053,172451,172850, + 173251,173653,174057,174463,174870,175279,175690,176102, + 176516,176932,177349,177769,178190,178612,179037,179463, + 179891,180321,180753,181186,181622,182059,182498,182939, + 183382,183827,184274,184722,185173,185625,186080,186536, + 186995,187455,187918,188382,188849,189318,189789,190261, + 190736,191213,191693,192174,192658,193143,193631,194122, + 194614,195109,195606,196105,196606,197110,197616,198125, + 198636,199149,199664,200182,200703,201226,201751,202279, + 202809,203342,203878,204416,204956,205500,206045,206594, + 207145,207699,208255,208815,209376,209941,210509,211079, + 211652,212228,212807,213389,213973,214561,215151,215745, + 216341,216941,217544,218149,218758,219370,219985,220603, + 221225,221849,222477,223108,223743,224381,225022,225666, + 226314,226966,227621,228279,228941,229606,230275,230948, + 231624,232304,232988,233676,234367,235062,235761,236463, + 237170,237881,238595,239314,240036,240763,241493,242228, + 242967,243711,244458,245210,245966,246727,247492,248261, + 249035,249813,250596,251384,252176,252973,253774,254581, + 255392,256208,257029,257855,258686,259522,260363,261209, + 262060,262917,263779,264646,265519,266397,267280,268169, + 269064,269965,270871,271782,272700,273624,274553,275489, + 276430,277378,278332,279292,280258,281231,282210,283195, + 284188,285186,286192,287204,288223,289249,290282,291322, + 292369,293423,294485,295554,296630,297714,298805,299904, + 301011,302126,303248,304379,305517,306664,307819,308983, + 310154,311335,312524,313721,314928,316143,317368,318601, + 319844,321097,322358,323629,324910,326201,327502,328812, + 330133,331464,332805,334157,335519,336892,338276,339671, + 341078,342495,343924,345364,346816,348280,349756,351244, + 352744,354257,355783,357321,358872,360436,362013,363604, + 365208,366826,368459,370105,371765,373440,375130,376835, + 378555,380290,382040,383807,385589,387387,389202,391034, + 392882,394747,396630,398530,400448,402384,404338,406311, + 408303,410314,412344,414395,416465,418555,420666,422798, + 424951,427125,429321,431540,433781,436045,438332,440643, + 442978,445337,447720,450129,452564,455024,457511,460024, + 462565,465133,467730,470355,473009,475692,478406,481150, + 483925,486732,489571,492443,495348,498287,501261,504269, + 507313,510394,513512,516667,519861,523094,526366,529680, + 533034,536431,539870,543354,546881,550455,554074,557741, + 561456,565221,569035,572901,576818,580789,584815,588896, + 593033,597229,601483,605798,610174,614613,619117,623686, + 628323,633028,637803,642651,647572,652568,657640,662792, + 668024,673338,678737,684223,689797,695462,701219,707072, + 713023,719074,725227,731486,737853,744331,750922,757631, + 764460,771411,778490,785699,793041,800521,808143,815910, + 823827,831898,840127,848520,857081,865817,874730,883829, + 893117,902602,912289,922186,932298,942633,953199,964003, + 975054,986361,997931,1009774,1021901,1034322,1047046,1060087, + 1073455,1087164,1101225,1115654,1130465,1145673,1161294,1177345, + 1193846,1210813,1228269,1246234,1264730,1283783,1303416,1323658, + 1344537,1366084,1388330,1411312,1435065,1459630,1485049,1511367, + 1538632,1566898,1596220,1626658,1658278,1691149,1725348,1760956, + 1798063,1836758,1877161,1919378,1963536,2009771,2058233,2109087, + 2162516,2218719,2277919,2340362,2406322,2476104,2550052,2628549, + 2712030,2800983,2895966,2997613,3106651,3223918,3350381,3487165, + 3635590,3797206,3973855,4167737,4381502,4618375,4882318,5178251, + 5512368,5892567,6329090,6835455,7429880,8137527,8994149,10052327, + 11392683,13145455,15535599,18988036,24413316,34178904,56965752,170910304 }; fixed_t finesine[5*FINEANGLES/4] = { - 25, 75, 125, 175, 226, 276, 326, 376, 427, 477, 527, 578, 628, 678, 728, 779, 829, 879, 929, 980, 1030, 1080, 1130, 1181, 1231, 1281, 1331, 1382, 1432, 1482, 1532, 1583, 1633, 1683, 1733, 1784, 1834, 1884, 1934, 1985, 2035, 2085, 2135, 2186, 2236, 2286, 2336, 2387, 2437, 2487, 2537, 2587, 2638, 2688, 2738, 2788, 2839, 2889, 2939, 2989, 3039, 3090, 3140, 3190, 3240, 3291, 3341, 3391, 3441, 3491, 3541, 3592, 3642, 3692, 3742, 3792, 3843, 3893, 3943, 3993, 4043, 4093, 4144, 4194, 4244, 4294, 4344, 4394, 4445, 4495, 4545, 4595, 4645, 4695, 4745, 4796, 4846, 4896, 4946, 4996, 5046, 5096, 5146, 5197, 5247, 5297, 5347, 5397, 5447, 5497, 5547, 5597, 5647, 5697, 5748, 5798, 5848, 5898, 5948, 5998, 6048, 6098, 6148, 6198, 6248, 6298, 6348, 6398, 6448, 6498, 6548, 6598, 6648, 6698, 6748, 6798, 6848, 6898, 6948, 6998, 7048, 7098, 7148, 7198, 7248, 7298, 7348, 7398, 7448, 7498, 7548, 7598, 7648, 7697, 7747, 7797, 7847, 7897, 7947, 7997, 8047, 8097, 8147, 8196, 8246, 8296, 8346, 8396, 8446, 8496, 8545, 8595, 8645, 8695, 8745, 8794, 8844, 8894, 8944, 8994, 9043, 9093, 9143, 9193, 9243, 9292, 9342, 9392, 9442, 9491, 9541, 9591, 9640, 9690, 9740, 9790, 9839, 9889, 9939, 9988, 10038, 10088, 10137, 10187, 10237, 10286, 10336, 10386, 10435, 10485, 10534, 10584, 10634, 10683, 10733, 10782, 10832, 10882, 10931, 10981, 11030, 11080, 11129, 11179, 11228, 11278, 11327, 11377, 11426, 11476, 11525, 11575, 11624, 11674, 11723, 11773, 11822, 11872, 11921, 11970, 12020, 12069, 12119, 12168, 12218, 12267, 12316, 12366, 12415, 12464, 12514, 12563, 12612, 12662, 12711, 12760, 12810, 12859, 12908, 12957, 13007, 13056, 13105, 13154, 13204, 13253, 13302, 13351, 13401, 13450, 13499, 13548, 13597, 13647, 13696, 13745, 13794, 13843, 13892, 13941, 13990, 14040, 14089, 14138, 14187, 14236, 14285, 14334, 14383, 14432, 14481, 14530, 14579, 14628, 14677, 14726, 14775, 14824, 14873, 14922, 14971, 15020, 15069, 15118, 15167, 15215, 15264, 15313, 15362, 15411, 15460, 15509, 15557, 15606, 15655, 15704, 15753, 15802, 15850, 15899, 15948, 15997, 16045, 16094, 16143, 16191, 16240, 16289, 16338, 16386, 16435, 16484, 16532, 16581, 16629, 16678, 16727, 16775, 16824, 16872, 16921, 16970, 17018, 17067, 17115, 17164, 17212, 17261, 17309, 17358, 17406, 17455, 17503, 17551, 17600, 17648, 17697, 17745, 17793, 17842, 17890, 17939, 17987, 18035, 18084, 18132, 18180, 18228, 18277, 18325, 18373, 18421, 18470, 18518, 18566, 18614, 18663, 18711, 18759, 18807, 18855, 18903, 18951, 19000, 19048, 19096, 19144, 19192, 19240, 19288, 19336, 19384, 19432, 19480, 19528, 19576, 19624, 19672, 19720, 19768, 19816, 19864, 19912, 19959, 20007, 20055, 20103, 20151, 20199, 20246, 20294, 20342, 20390, 20438, 20485, 20533, 20581, 20629, 20676, 20724, 20772, 20819, 20867, 20915, 20962, 21010, 21057, 21105, 21153, 21200, 21248, 21295, 21343, 21390, 21438, 21485, 21533, 21580, 21628, 21675, 21723, 21770, 21817, 21865, 21912, 21960, 22007, 22054, 22102, 22149, 22196, 22243, 22291, 22338, 22385, 22433, 22480, 22527, 22574, 22621, 22668, 22716, 22763, 22810, 22857, 22904, 22951, 22998, 23045, 23092, 23139, 23186, 23233, 23280, 23327, 23374, 23421, 23468, 23515, 23562, 23609, 23656, 23703, 23750, 23796, 23843, 23890, 23937, 23984, 24030, 24077, 24124, 24171, 24217, 24264, 24311, 24357, 24404, 24451, 24497, 24544, 24591, 24637, 24684, 24730, 24777, 24823, 24870, 24916, 24963, 25009, 25056, 25102, 25149, 25195, 25241, 25288, 25334, 25381, 25427, 25473, 25520, 25566, 25612, 25658, 25705, 25751, 25797, 25843, 25889, 25936, 25982, 26028, 26074, 26120, 26166, 26212, 26258, 26304, 26350, 26396, 26442, 26488, 26534, 26580, 26626, 26672, 26718, 26764, 26810, 26856, 26902, 26947, 26993, 27039, 27085, 27131, 27176, 27222, 27268, 27313, 27359, 27405, 27450, 27496, 27542, 27587, 27633, 27678, 27724, 27770, 27815, 27861, 27906, 27952, 27997, 28042, 28088, 28133, 28179, 28224, 28269, 28315, 28360, 28405, 28451, 28496, 28541, 28586, 28632, 28677, 28722, 28767, 28812, 28858, 28903, 28948, 28993, 29038, 29083, 29128, 29173, 29218, 29263, 29308, 29353, 29398, 29443, 29488, 29533, 29577, 29622, 29667, 29712, 29757, 29801, 29846, 29891, 29936, 29980, 30025, 30070, 30114, 30159, 30204, 30248, 30293, 30337, 30382, 30426, 30471, 30515, 30560, 30604, 30649, 30693, 30738, 30782, 30826, 30871, 30915, 30959, 31004, 31048, 31092, 31136, 31181, 31225, 31269, 31313, 31357, 31402, 31446, 31490, 31534, 31578, 31622, 31666, 31710, 31754, 31798, 31842, 31886, 31930, 31974, 32017, 32061, 32105, 32149, 32193, 32236, 32280, 32324, 32368, 32411, 32455, 32499, 32542, 32586, 32630, 32673, 32717, 32760, 32804, 32847, 32891, 32934, 32978, 33021, 33065, 33108, 33151, 33195, 33238, 33281, 33325, 33368, 33411, 33454, 33498, 33541, 33584, 33627, 33670, 33713, 33756, 33799, 33843, 33886, 33929, 33972, 34015, 34057, 34100, 34143, 34186, 34229, 34272, 34315, 34358, 34400, 34443, 34486, 34529, 34571, 34614, 34657, 34699, 34742, 34785, 34827, 34870, 34912, 34955, 34997, 35040, 35082, 35125, 35167, 35210, 35252, 35294, 35337, 35379, 35421, 35464, 35506, 35548, 35590, 35633, 35675, 35717, 35759, 35801, 35843, 35885, 35927, 35969, 36011, 36053, 36095, 36137, 36179, 36221, 36263, 36305, 36347, 36388, 36430, 36472, 36514, 36555, 36597, 36639, 36681, 36722, 36764, 36805, 36847, 36889, 36930, 36972, 37013, 37055, 37096, 37137, 37179, 37220, 37262, 37303, 37344, 37386, 37427, 37468, 37509, 37551, 37592, 37633, 37674, 37715, 37756, 37797, 37838, 37879, 37920, 37961, 38002, 38043, 38084, 38125, 38166, 38207, 38248, 38288, 38329, 38370, 38411, 38451, 38492, 38533, 38573, 38614, 38655, 38695, 38736, 38776, 38817, 38857, 38898, 38938, 38979, 39019, 39059, 39100, 39140, 39180, 39221, 39261, 39301, 39341, 39382, 39422, 39462, 39502, 39542, 39582, 39622, 39662, 39702, 39742, 39782, 39822, 39862, 39902, 39942, 39982, 40021, 40061, 40101, 40141, 40180, 40220, 40260, 40300, 40339, 40379, 40418, 40458, 40497, 40537, 40576, 40616, 40655, 40695, 40734, 40773, 40813, 40852, 40891, 40931, 40970, 41009, 41048, 41087, 41127, 41166, 41205, 41244, 41283, 41322, 41361, 41400, 41439, 41478, 41517, 41556, 41595, 41633, 41672, 41711, 41750, 41788, 41827, 41866, 41904, 41943, 41982, 42020, 42059, 42097, 42136, 42174, 42213, 42251, 42290, 42328, 42366, 42405, 42443, 42481, 42520, 42558, 42596, 42634, 42672, 42711, 42749, 42787, 42825, 42863, 42901, 42939, 42977, 43015, 43053, 43091, 43128, 43166, 43204, 43242, 43280, 43317, 43355, 43393, 43430, 43468, 43506, 43543, 43581, 43618, 43656, 43693, 43731, 43768, 43806, 43843, 43880, 43918, 43955, 43992, 44029, 44067, 44104, 44141, 44178, 44215, 44252, 44289, 44326, 44363, 44400, 44437, 44474, 44511, 44548, 44585, 44622, 44659, 44695, 44732, 44769, 44806, 44842, 44879, 44915, 44952, 44989, 45025, 45062, 45098, 45135, 45171, 45207, 45244, 45280, 45316, 45353, 45389, 45425, 45462, 45498, 45534, 45570, 45606, 45642, 45678, 45714, 45750, 45786, 45822, 45858, 45894, 45930, 45966, 46002, 46037, 46073, 46109, 46145, 46180, 46216, 46252, 46287, 46323, 46358, 46394, 46429, 46465, 46500, 46536, 46571, 46606, 46642, 46677, 46712, 46747, 46783, 46818, 46853, 46888, 46923, 46958, 46993, 47028, 47063, 47098, 47133, 47168, 47203, 47238, 47273, 47308, 47342, 47377, 47412, 47446, 47481, 47516, 47550, 47585, 47619, 47654, 47688, 47723, 47757, 47792, 47826, 47860, 47895, 47929, 47963, 47998, 48032, 48066, 48100, 48134, 48168, 48202, 48237, 48271, 48305, 48338, 48372, 48406, 48440, 48474, 48508, 48542, 48575, 48609, 48643, 48676, 48710, 48744, 48777, 48811, 48844, 48878, 48911, 48945, 48978, 49012, 49045, 49078, 49112, 49145, 49178, 49211, 49244, 49278, 49311, 49344, 49377, 49410, 49443, 49476, 49509, 49542, 49575, 49608, 49640, 49673, 49706, 49739, 49771, 49804, 49837, 49869, 49902, 49935, 49967, 50000, 50032, 50065, 50097, 50129, 50162, 50194, 50226, 50259, 50291, 50323, 50355, 50387, 50420, 50452, 50484, 50516, 50548, 50580, 50612, 50644, 50675, 50707, 50739, 50771, 50803, 50834, 50866, 50898, 50929, 50961, 50993, 51024, 51056, 51087, 51119, 51150, 51182, 51213, 51244, 51276, 51307, 51338, 51369, 51401, 51432, 51463, 51494, 51525, 51556, 51587, 51618, 51649, 51680, 51711, 51742, 51773, 51803, 51834, 51865, 51896, 51926, 51957, 51988, 52018, 52049, 52079, 52110, 52140, 52171, 52201, 52231, 52262, 52292, 52322, 52353, 52383, 52413, 52443, 52473, 52503, 52534, 52564, 52594, 52624, 52653, 52683, 52713, 52743, 52773, 52803, 52832, 52862, 52892, 52922, 52951, 52981, 53010, 53040, 53069, 53099, 53128, 53158, 53187, 53216, 53246, 53275, 53304, 53334, 53363, 53392, 53421, 53450, 53479, 53508, 53537, 53566, 53595, 53624, 53653, 53682, 53711, 53739, 53768, 53797, 53826, 53854, 53883, 53911, 53940, 53969, 53997, 54026, 54054, 54082, 54111, 54139, 54167, 54196, 54224, 54252, 54280, 54308, 54337, 54365, 54393, 54421, 54449, 54477, 54505, 54533, 54560, 54588, 54616, 54644, 54672, 54699, 54727, 54755, 54782, 54810, 54837, 54865, 54892, 54920, 54947, 54974, 55002, 55029, 55056, 55084, 55111, 55138, 55165, 55192, 55219, 55246, 55274, 55300, 55327, 55354, 55381, 55408, 55435, 55462, 55489, 55515, 55542, 55569, 55595, 55622, 55648, 55675, 55701, 55728, 55754, 55781, 55807, 55833, 55860, 55886, 55912, 55938, 55965, 55991, 56017, 56043, 56069, 56095, 56121, 56147, 56173, 56199, 56225, 56250, 56276, 56302, 56328, 56353, 56379, 56404, 56430, 56456, 56481, 56507, 56532, 56557, 56583, 56608, 56633, 56659, 56684, 56709, 56734, 56760, 56785, 56810, 56835, 56860, 56885, 56910, 56935, 56959, 56984, 57009, 57034, 57059, 57083, 57108, 57133, 57157, 57182, 57206, 57231, 57255, 57280, 57304, 57329, 57353, 57377, 57402, 57426, 57450, 57474, 57498, 57522, 57546, 57570, 57594, 57618, 57642, 57666, 57690, 57714, 57738, 57762, 57785, 57809, 57833, 57856, 57880, 57903, 57927, 57950, 57974, 57997, 58021, 58044, 58067, 58091, 58114, 58137, 58160, 58183, 58207, 58230, 58253, 58276, 58299, 58322, 58345, 58367, 58390, 58413, 58436, 58459, 58481, 58504, 58527, 58549, 58572, 58594, 58617, 58639, 58662, 58684, 58706, 58729, 58751, 58773, 58795, 58818, 58840, 58862, 58884, 58906, 58928, 58950, 58972, 58994, 59016, 59038, 59059, 59081, 59103, 59125, 59146, 59168, 59190, 59211, 59233, 59254, 59276, 59297, 59318, 59340, 59361, 59382, 59404, 59425, 59446, 59467, 59488, 59509, 59530, 59551, 59572, 59593, 59614, 59635, 59656, 59677, 59697, 59718, 59739, 59759, 59780, 59801, 59821, 59842, 59862, 59883, 59903, 59923, 59944, 59964, 59984, 60004, 60025, 60045, 60065, 60085, 60105, 60125, 60145, 60165, 60185, 60205, 60225, 60244, 60264, 60284, 60304, 60323, 60343, 60363, 60382, 60402, 60421, 60441, 60460, 60479, 60499, 60518, 60537, 60556, 60576, 60595, 60614, 60633, 60652, 60671, 60690, 60709, 60728, 60747, 60766, 60785, 60803, 60822, 60841, 60859, 60878, 60897, 60915, 60934, 60952, 60971, 60989, 61007, 61026, 61044, 61062, 61081, 61099, 61117, 61135, 61153, 61171, 61189, 61207, 61225, 61243, 61261, 61279, 61297, 61314, 61332, 61350, 61367, 61385, 61403, 61420, 61438, 61455, 61473, 61490, 61507, 61525, 61542, 61559, 61577, 61594, 61611, 61628, 61645, 61662, 61679, 61696, 61713, 61730, 61747, 61764, 61780, 61797, 61814, 61831, 61847, 61864, 61880, 61897, 61913, 61930, 61946, 61963, 61979, 61995, 62012, 62028, 62044, 62060, 62076, 62092, 62108, 62125, 62141, 62156, 62172, 62188, 62204, 62220, 62236, 62251, 62267, 62283, 62298, 62314, 62329, 62345, 62360, 62376, 62391, 62407, 62422, 62437, 62453, 62468, 62483, 62498, 62513, 62528, 62543, 62558, 62573, 62588, 62603, 62618, 62633, 62648, 62662, 62677, 62692, 62706, 62721, 62735, 62750, 62764, 62779, 62793, 62808, 62822, 62836, 62850, 62865, 62879, 62893, 62907, 62921, 62935, 62949, 62963, 62977, 62991, 63005, 63019, 63032, 63046, 63060, 63074, 63087, 63101, 63114, 63128, 63141, 63155, 63168, 63182, 63195, 63208, 63221, 63235, 63248, 63261, 63274, 63287, 63300, 63313, 63326, 63339, 63352, 63365, 63378, 63390, 63403, 63416, 63429, 63441, 63454, 63466, 63479, 63491, 63504, 63516, 63528, 63541, 63553, 63565, 63578, 63590, 63602, 63614, 63626, 63638, 63650, 63662, 63674, 63686, 63698, 63709, 63721, 63733, 63745, 63756, 63768, 63779, 63791, 63803, 63814, 63825, 63837, 63848, 63859, 63871, 63882, 63893, 63904, 63915, 63927, 63938, 63949, 63960, 63971, 63981, 63992, 64003, 64014, 64025, 64035, 64046, 64057, 64067, 64078, 64088, 64099, 64109, 64120, 64130, 64140, 64151, 64161, 64171, 64181, 64192, 64202, 64212, 64222, 64232, 64242, 64252, 64261, 64271, 64281, 64291, 64301, 64310, 64320, 64330, 64339, 64349, 64358, 64368, 64377, 64387, 64396, 64405, 64414, 64424, 64433, 64442, 64451, 64460, 64469, 64478, 64487, 64496, 64505, 64514, 64523, 64532, 64540, 64549, 64558, 64566, 64575, 64584, 64592, 64601, 64609, 64617, 64626, 64634, 64642, 64651, 64659, 64667, 64675, 64683, 64691, 64699, 64707, 64715, 64723, 64731, 64739, 64747, 64754, 64762, 64770, 64777, 64785, 64793, 64800, 64808, 64815, 64822, 64830, 64837, 64844, 64852, 64859, 64866, 64873, 64880, 64887, 64895, 64902, 64908, 64915, 64922, 64929, 64936, 64943, 64949, 64956, 64963, 64969, 64976, 64982, 64989, 64995, 65002, 65008, 65015, 65021, 65027, 65033, 65040, 65046, 65052, 65058, 65064, 65070, 65076, 65082, 65088, 65094, 65099, 65105, 65111, 65117, 65122, 65128, 65133, 65139, 65144, 65150, 65155, 65161, 65166, 65171, 65177, 65182, 65187, 65192, 65197, 65202, 65207, 65212, 65217, 65222, 65227, 65232, 65237, 65242, 65246, 65251, 65256, 65260, 65265, 65270, 65274, 65279, 65283, 65287, 65292, 65296, 65300, 65305, 65309, 65313, 65317, 65321, 65325, 65329, 65333, 65337, 65341, 65345, 65349, 65352, 65356, 65360, 65363, 65367, 65371, 65374, 65378, 65381, 65385, 65388, 65391, 65395, 65398, 65401, 65404, 65408, 65411, 65414, 65417, 65420, 65423, 65426, 65429, 65431, 65434, 65437, 65440, 65442, 65445, 65448, 65450, 65453, 65455, 65458, 65460, 65463, 65465, 65467, 65470, 65472, 65474, 65476, 65478, 65480, 65482, 65484, 65486, 65488, 65490, 65492, 65494, 65496, 65497, 65499, 65501, 65502, 65504, 65505, 65507, 65508, 65510, 65511, 65513, 65514, 65515, 65516, 65518, 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526, 65527, 65527, 65528, 65529, 65530, 65530, 65531, 65531, 65532, 65532, 65533, 65533, 65534, 65534, 65534, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65534, 65534, 65534, 65533, 65533, 65532, 65532, 65531, 65531, 65530, 65530, 65529, 65528, 65527, 65527, 65526, 65525, 65524, 65523, 65522, 65521, 65520, 65519, 65518, 65516, 65515, 65514, 65513, 65511, 65510, 65508, 65507, 65505, 65504, 65502, 65501, 65499, 65497, 65496, 65494, 65492, 65490, 65488, 65486, 65484, 65482, 65480, 65478, 65476, 65474, 65472, 65470, 65467, 65465, 65463, 65460, 65458, 65455, 65453, 65450, 65448, 65445, 65442, 65440, 65437, 65434, 65431, 65429, 65426, 65423, 65420, 65417, 65414, 65411, 65408, 65404, 65401, 65398, 65395, 65391, 65388, 65385, 65381, 65378, 65374, 65371, 65367, 65363, 65360, 65356, 65352, 65349, 65345, 65341, 65337, 65333, 65329, 65325, 65321, 65317, 65313, 65309, 65305, 65300, 65296, 65292, 65287, 65283, 65279, 65274, 65270, 65265, 65260, 65256, 65251, 65246, 65242, 65237, 65232, 65227, 65222, 65217, 65212, 65207, 65202, 65197, 65192, 65187, 65182, 65177, 65171, 65166, 65161, 65155, 65150, 65144, 65139, 65133, 65128, 65122, 65117, 65111, 65105, 65099, 65094, 65088, 65082, 65076, 65070, 65064, 65058, 65052, 65046, 65040, 65033, 65027, 65021, 65015, 65008, 65002, 64995, 64989, 64982, 64976, 64969, 64963, 64956, 64949, 64943, 64936, 64929, 64922, 64915, 64908, 64902, 64895, 64887, 64880, 64873, 64866, 64859, 64852, 64844, 64837, 64830, 64822, 64815, 64808, 64800, 64793, 64785, 64777, 64770, 64762, 64754, 64747, 64739, 64731, 64723, 64715, 64707, 64699, 64691, 64683, 64675, 64667, 64659, 64651, 64642, 64634, 64626, 64617, 64609, 64600, 64592, 64584, 64575, 64566, 64558, 64549, 64540, 64532, 64523, 64514, 64505, 64496, 64487, 64478, 64469, 64460, 64451, 64442, 64433, 64424, 64414, 64405, 64396, 64387, 64377, 64368, 64358, 64349, 64339, 64330, 64320, 64310, 64301, 64291, 64281, 64271, 64261, 64252, 64242, 64232, 64222, 64212, 64202, 64192, 64181, 64171, 64161, 64151, 64140, 64130, 64120, 64109, 64099, 64088, 64078, 64067, 64057, 64046, 64035, 64025, 64014, 64003, 63992, 63981, 63971, 63960, 63949, 63938, 63927, 63915, 63904, 63893, 63882, 63871, 63859, 63848, 63837, 63825, 63814, 63803, 63791, 63779, 63768, 63756, 63745, 63733, 63721, 63709, 63698, 63686, 63674, 63662, 63650, 63638, 63626, 63614, 63602, 63590, 63578, 63565, 63553, 63541, 63528, 63516, 63504, 63491, 63479, 63466, 63454, 63441, 63429, 63416, 63403, 63390, 63378, 63365, 63352, 63339, 63326, 63313, 63300, 63287, 63274, 63261, 63248, 63235, 63221, 63208, 63195, 63182, 63168, 63155, 63141, 63128, 63114, 63101, 63087, 63074, 63060, 63046, 63032, 63019, 63005, 62991, 62977, 62963, 62949, 62935, 62921, 62907, 62893, 62879, 62865, 62850, 62836, 62822, 62808, 62793, 62779, 62764, 62750, 62735, 62721, 62706, 62692, 62677, 62662, 62648, 62633, 62618, 62603, 62588, 62573, 62558, 62543, 62528, 62513, 62498, 62483, 62468, 62453, 62437, 62422, 62407, 62391, 62376, 62360, 62345, 62329, 62314, 62298, 62283, 62267, 62251, 62236, 62220, 62204, 62188, 62172, 62156, 62141, 62125, 62108, 62092, 62076, 62060, 62044, 62028, 62012, 61995, 61979, 61963, 61946, 61930, 61913, 61897, 61880, 61864, 61847, 61831, 61814, 61797, 61780, 61764, 61747, 61730, 61713, 61696, 61679, 61662, 61645, 61628, 61611, 61594, 61577, 61559, 61542, 61525, 61507, 61490, 61473, 61455, 61438, 61420, 61403, 61385, 61367, 61350, 61332, 61314, 61297, 61279, 61261, 61243, 61225, 61207, 61189, 61171, 61153, 61135, 61117, 61099, 61081, 61062, 61044, 61026, 61007, 60989, 60971, 60952, 60934, 60915, 60897, 60878, 60859, 60841, 60822, 60803, 60785, 60766, 60747, 60728, 60709, 60690, 60671, 60652, 60633, 60614, 60595, 60576, 60556, 60537, 60518, 60499, 60479, 60460, 60441, 60421, 60402, 60382, 60363, 60343, 60323, 60304, 60284, 60264, 60244, 60225, 60205, 60185, 60165, 60145, 60125, 60105, 60085, 60065, 60045, 60025, 60004, 59984, 59964, 59944, 59923, 59903, 59883, 59862, 59842, 59821, 59801, 59780, 59759, 59739, 59718, 59697, 59677, 59656, 59635, 59614, 59593, 59572, 59551, 59530, 59509, 59488, 59467, 59446, 59425, 59404, 59382, 59361, 59340, 59318, 59297, 59276, 59254, 59233, 59211, 59190, 59168, 59146, 59125, 59103, 59081, 59059, 59038, 59016, 58994, 58972, 58950, 58928, 58906, 58884, 58862, 58840, 58818, 58795, 58773, 58751, 58729, 58706, 58684, 58662, 58639, 58617, 58594, 58572, 58549, 58527, 58504, 58481, 58459, 58436, 58413, 58390, 58367, 58345, 58322, 58299, 58276, 58253, 58230, 58207, 58183, 58160, 58137, 58114, 58091, 58067, 58044, 58021, 57997, 57974, 57950, 57927, 57903, 57880, 57856, 57833, 57809, 57785, 57762, 57738, 57714, 57690, 57666, 57642, 57618, 57594, 57570, 57546, 57522, 57498, 57474, 57450, 57426, 57402, 57377, 57353, 57329, 57304, 57280, 57255, 57231, 57206, 57182, 57157, 57133, 57108, 57083, 57059, 57034, 57009, 56984, 56959, 56935, 56910, 56885, 56860, 56835, 56810, 56785, 56760, 56734, 56709, 56684, 56659, 56633, 56608, 56583, 56557, 56532, 56507, 56481, 56456, 56430, 56404, 56379, 56353, 56328, 56302, 56276, 56250, 56225, 56199, 56173, 56147, 56121, 56095, 56069, 56043, 56017, 55991, 55965, 55938, 55912, 55886, 55860, 55833, 55807, 55781, 55754, 55728, 55701, 55675, 55648, 55622, 55595, 55569, 55542, 55515, 55489, 55462, 55435, 55408, 55381, 55354, 55327, 55300, 55274, 55246, 55219, 55192, 55165, 55138, 55111, 55084, 55056, 55029, 55002, 54974, 54947, 54920, 54892, 54865, 54837, 54810, 54782, 54755, 54727, 54699, 54672, 54644, 54616, 54588, 54560, 54533, 54505, 54477, 54449, 54421, 54393, 54365, 54337, 54308, 54280, 54252, 54224, 54196, 54167, 54139, 54111, 54082, 54054, 54026, 53997, 53969, 53940, 53911, 53883, 53854, 53826, 53797, 53768, 53739, 53711, 53682, 53653, 53624, 53595, 53566, 53537, 53508, 53479, 53450, 53421, 53392, 53363, 53334, 53304, 53275, 53246, 53216, 53187, 53158, 53128, 53099, 53069, 53040, 53010, 52981, 52951, 52922, 52892, 52862, 52832, 52803, 52773, 52743, 52713, 52683, 52653, 52624, 52594, 52564, 52534, 52503, 52473, 52443, 52413, 52383, 52353, 52322, 52292, 52262, 52231, 52201, 52171, 52140, 52110, 52079, 52049, 52018, 51988, 51957, 51926, 51896, 51865, 51834, 51803, 51773, 51742, 51711, 51680, 51649, 51618, 51587, 51556, 51525, 51494, 51463, 51432, 51401, 51369, 51338, 51307, 51276, 51244, 51213, 51182, 51150, 51119, 51087, 51056, 51024, 50993, 50961, 50929, 50898, 50866, 50834, 50803, 50771, 50739, 50707, 50675, 50644, 50612, 50580, 50548, 50516, 50484, 50452, 50420, 50387, 50355, 50323, 50291, 50259, 50226, 50194, 50162, 50129, 50097, 50065, 50032, 50000, 49967, 49935, 49902, 49869, 49837, 49804, 49771, 49739, 49706, 49673, 49640, 49608, 49575, 49542, 49509, 49476, 49443, 49410, 49377, 49344, 49311, 49278, 49244, 49211, 49178, 49145, 49112, 49078, 49045, 49012, 48978, 48945, 48911, 48878, 48844, 48811, 48777, 48744, 48710, 48676, 48643, 48609, 48575, 48542, 48508, 48474, 48440, 48406, 48372, 48338, 48304, 48271, 48237, 48202, 48168, 48134, 48100, 48066, 48032, 47998, 47963, 47929, 47895, 47860, 47826, 47792, 47757, 47723, 47688, 47654, 47619, 47585, 47550, 47516, 47481, 47446, 47412, 47377, 47342, 47308, 47273, 47238, 47203, 47168, 47133, 47098, 47063, 47028, 46993, 46958, 46923, 46888, 46853, 46818, 46783, 46747, 46712, 46677, 46642, 46606, 46571, 46536, 46500, 46465, 46429, 46394, 46358, 46323, 46287, 46252, 46216, 46180, 46145, 46109, 46073, 46037, 46002, 45966, 45930, 45894, 45858, 45822, 45786, 45750, 45714, 45678, 45642, 45606, 45570, 45534, 45498, 45462, 45425, 45389, 45353, 45316, 45280, 45244, 45207, 45171, 45135, 45098, 45062, 45025, 44989, 44952, 44915, 44879, 44842, 44806, 44769, 44732, 44695, 44659, 44622, 44585, 44548, 44511, 44474, 44437, 44400, 44363, 44326, 44289, 44252, 44215, 44178, 44141, 44104, 44067, 44029, 43992, 43955, 43918, 43880, 43843, 43806, 43768, 43731, 43693, 43656, 43618, 43581, 43543, 43506, 43468, 43430, 43393, 43355, 43317, 43280, 43242, 43204, 43166, 43128, 43091, 43053, 43015, 42977, 42939, 42901, 42863, 42825, 42787, 42749, 42711, 42672, 42634, 42596, 42558, 42520, 42481, 42443, 42405, 42366, 42328, 42290, 42251, 42213, 42174, 42136, 42097, 42059, 42020, 41982, 41943, 41904, 41866, 41827, 41788, 41750, 41711, 41672, 41633, 41595, 41556, 41517, 41478, 41439, 41400, 41361, 41322, 41283, 41244, 41205, 41166, 41127, 41088, 41048, 41009, 40970, 40931, 40891, 40852, 40813, 40773, 40734, 40695, 40655, 40616, 40576, 40537, 40497, 40458, 40418, 40379, 40339, 40300, 40260, 40220, 40180, 40141, 40101, 40061, 40021, 39982, 39942, 39902, 39862, 39822, 39782, 39742, 39702, 39662, 39622, 39582, 39542, 39502, 39462, 39422, 39382, 39341, 39301, 39261, 39221, 39180, 39140, 39100, 39059, 39019, 38979, 38938, 38898, 38857, 38817, 38776, 38736, 38695, 38655, 38614, 38573, 38533, 38492, 38451, 38411, 38370, 38329, 38288, 38248, 38207, 38166, 38125, 38084, 38043, 38002, 37961, 37920, 37879, 37838, 37797, 37756, 37715, 37674, 37633, 37592, 37551, 37509, 37468, 37427, 37386, 37344, 37303, 37262, 37220, 37179, 37137, 37096, 37055, 37013, 36972, 36930, 36889, 36847, 36805, 36764, 36722, 36681, 36639, 36597, 36556, 36514, 36472, 36430, 36388, 36347, 36305, 36263, 36221, 36179, 36137, 36095, 36053, 36011, 35969, 35927, 35885, 35843, 35801, 35759, 35717, 35675, 35633, 35590, 35548, 35506, 35464, 35421, 35379, 35337, 35294, 35252, 35210, 35167, 35125, 35082, 35040, 34997, 34955, 34912, 34870, 34827, 34785, 34742, 34699, 34657, 34614, 34571, 34529, 34486, 34443, 34400, 34358, 34315, 34272, 34229, 34186, 34143, 34100, 34057, 34015, 33972, 33929, 33886, 33843, 33799, 33756, 33713, 33670, 33627, 33584, 33541, 33498, 33454, 33411, 33368, 33325, 33281, 33238, 33195, 33151, 33108, 33065, 33021, 32978, 32934, 32891, 32847, 32804, 32760, 32717, 32673, 32630, 32586, 32542, 32499, 32455, 32411, 32368, 32324, 32280, 32236, 32193, 32149, 32105, 32061, 32017, 31974, 31930, 31886, 31842, 31798, 31754, 31710, 31666, 31622, 31578, 31534, 31490, 31446, 31402, 31357, 31313, 31269, 31225, 31181, 31136, 31092, 31048, 31004, 30959, 30915, 30871, 30826, 30782, 30738, 30693, 30649, 30604, 30560, 30515, 30471, 30426, 30382, 30337, 30293, 30248, 30204, 30159, 30114, 30070, 30025, 29980, 29936, 29891, 29846, 29801, 29757, 29712, 29667, 29622, 29577, 29533, 29488, 29443, 29398, 29353, 29308, 29263, 29218, 29173, 29128, 29083, 29038, 28993, 28948, 28903, 28858, 28812, 28767, 28722, 28677, 28632, 28586, 28541, 28496, 28451, 28405, 28360, 28315, 28269, 28224, 28179, 28133, 28088, 28042, 27997, 27952, 27906, 27861, 27815, 27770, 27724, 27678, 27633, 27587, 27542, 27496, 27450, 27405, 27359, 27313, 27268, 27222, 27176, 27131, 27085, 27039, 26993, 26947, 26902, 26856, 26810, 26764, 26718, 26672, 26626, 26580, 26534, 26488, 26442, 26396, 26350, 26304, 26258, 26212, 26166, 26120, 26074, 26028, 25982, 25936, 25889, 25843, 25797, 25751, 25705, 25658, 25612, 25566, 25520, 25473, 25427, 25381, 25334, 25288, 25241, 25195, 25149, 25102, 25056, 25009, 24963, 24916, 24870, 24823, 24777, 24730, 24684, 24637, 24591, 24544, 24497, 24451, 24404, 24357, 24311, 24264, 24217, 24171, 24124, 24077, 24030, 23984, 23937, 23890, 23843, 23796, 23750, 23703, 23656, 23609, 23562, 23515, 23468, 23421, 23374, 23327, 23280, 23233, 23186, 23139, 23092, 23045, 22998, 22951, 22904, 22857, 22810, 22763, 22716, 22668, 22621, 22574, 22527, 22480, 22433, 22385, 22338, 22291, 22243, 22196, 22149, 22102, 22054, 22007, 21960, 21912, 21865, 21817, 21770, 21723, 21675, 21628, 21580, 21533, 21485, 21438, 21390, 21343, 21295, 21248, 21200, 21153, 21105, 21057, 21010, 20962, 20915, 20867, 20819, 20772, 20724, 20676, 20629, 20581, 20533, 20485, 20438, 20390, 20342, 20294, 20246, 20199, 20151, 20103, 20055, 20007, 19959, 19912, 19864, 19816, 19768, 19720, 19672, 19624, 19576, 19528, 19480, 19432, 19384, 19336, 19288, 19240, 19192, 19144, 19096, 19048, 19000, 18951, 18903, 18855, 18807, 18759, 18711, 18663, 18614, 18566, 18518, 18470, 18421, 18373, 18325, 18277, 18228, 18180, 18132, 18084, 18035, 17987, 17939, 17890, 17842, 17793, 17745, 17697, 17648, 17600, 17551, 17503, 17455, 17406, 17358, 17309, 17261, 17212, 17164, 17115, 17067, 17018, 16970, 16921, 16872, 16824, 16775, 16727, 16678, 16629, 16581, 16532, 16484, 16435, 16386, 16338, 16289, 16240, 16191, 16143, 16094, 16045, 15997, 15948, 15899, 15850, 15802, 15753, 15704, 15655, 15606, 15557, 15509, 15460, 15411, 15362, 15313, 15264, 15215, 15167, 15118, 15069, 15020, 14971, 14922, 14873, 14824, 14775, 14726, 14677, 14628, 14579, 14530, 14481, 14432, 14383, 14334, 14285, 14236, 14187, 14138, 14089, 14040, 13990, 13941, 13892, 13843, 13794, 13745, 13696, 13646, 13597, 13548, 13499, 13450, 13401, 13351, 13302, 13253, 13204, 13154, 13105, 13056, 13007, 12957, 12908, 12859, 12810, 12760, 12711, 12662, 12612, 12563, 12514, 12464, 12415, 12366, 12316, 12267, 12218, 12168, 12119, 12069, 12020, 11970, 11921, 11872, 11822, 11773, 11723, 11674, 11624, 11575, 11525, 11476, 11426, 11377, 11327, 11278, 11228, 11179, 11129, 11080, 11030, 10981, 10931, 10882, 10832, 10782, 10733, 10683, 10634, 10584, 10534, 10485, 10435, 10386, 10336, 10286, 10237, 10187, 10137, 10088, 10038, 9988, 9939, 9889, 9839, 9790, 9740, 9690, 9640, 9591, 9541, 9491, 9442, 9392, 9342, 9292, 9243, 9193, 9143, 9093, 9043, 8994, 8944, 8894, 8844, 8794, 8745, 8695, 8645, 8595, 8545, 8496, 8446, 8396, 8346, 8296, 8246, 8196, 8147, 8097, 8047, 7997, 7947, 7897, 7847, 7797, 7747, 7697, 7648, 7598, 7548, 7498, 7448, 7398, 7348, 7298, 7248, 7198, 7148, 7098, 7048, 6998, 6948, 6898, 6848, 6798, 6748, 6698, 6648, 6598, 6548, 6498, 6448, 6398, 6348, 6298, 6248, 6198, 6148, 6098, 6048, 5998, 5948, 5898, 5848, 5798, 5748, 5697, 5647, 5597, 5547, 5497, 5447, 5397, 5347, 5297, 5247, 5197, 5146, 5096, 5046, 4996, 4946, 4896, 4846, 4796, 4745, 4695, 4645, 4595, 4545, 4495, 4445, 4394, 4344, 4294, 4244, 4194, 4144, 4093, 4043, 3993, 3943, 3893, 3843, 3792, 3742, 3692, 3642, 3592, 3541, 3491, 3441, 3391, 3341, 3291, 3240, 3190, 3140, 3090, 3039, 2989, 2939, 2889, 2839, 2788, 2738, 2688, 2638, 2587, 2537, 2487, 2437, 2387, 2336, 2286, 2236, 2186, 2135, 2085, 2035, 1985, 1934, 1884, 1834, 1784, 1733, 1683, 1633, 1583, 1532, 1482, 1432, 1382, 1331, 1281, 1231, 1181, 1130, 1080, 1030, 980, 929, 879, 829, 779, 728, 678, 628, 578, 527, 477, 427, 376, 326, 276, 226, 175, 125, 75, 25, - 4294967271, 4294967221, 4294967171, 4294967121, 4294967070, 4294967020, 4294966970, 4294966920, 4294966869, 4294966819, 4294966769, 4294966718, 4294966668, 4294966618, 4294966568, 4294966517, 4294966467, 4294966417, 4294966367, 4294966316, 4294966266, 4294966216, 4294966166, 4294966115, 4294966065, 4294966015, 4294965965, 4294965914, 4294965864, 4294965814, 4294965764, 4294965713, 4294965663, 4294965613, 4294965563, 4294965512, 4294965462, 4294965412, 4294965362, 4294965311, 4294965261, 4294965211, 4294965161, 4294965110, 4294965060, 4294965010, 4294964960, 4294964909, 4294964859, 4294964809, 4294964759, 4294964708, 4294964658, 4294964608, 4294964558, 4294964508, 4294964457, 4294964407, 4294964357, 4294964307, 4294964257, 4294964206, 4294964156, 4294964106, 4294964056, 4294964005, 4294963955, 4294963905, 4294963855, 4294963805, 4294963755, 4294963704, 4294963654, 4294963604, 4294963554, 4294963504, 4294963453, 4294963403, 4294963353, 4294963303, 4294963253, 4294963203, 4294963152, 4294963102, 4294963052, 4294963002, 4294962952, 4294962902, 4294962851, 4294962801, 4294962751, 4294962701, 4294962651, 4294962601, 4294962551, 4294962500, 4294962450, 4294962400, 4294962350, 4294962300, 4294962250, 4294962200, 4294962150, 4294962099, 4294962049, 4294961999, 4294961949, 4294961899, 4294961849, 4294961799, 4294961749, 4294961699, 4294961649, 4294961599, 4294961548, 4294961498, 4294961448, 4294961398, 4294961348, 4294961298, 4294961248, 4294961198, 4294961148, 4294961098, 4294961048, 4294960998, 4294960948, 4294960898, 4294960848, 4294960798, 4294960748, 4294960698, 4294960648, 4294960598, 4294960548, 4294960498, 4294960448, 4294960398, 4294960348, 4294960298, 4294960248, 4294960198, 4294960148, 4294960098, 4294960048, 4294959998, 4294959948, 4294959898, 4294959848, 4294959798, 4294959748, 4294959698, 4294959648, 4294959599, 4294959549, 4294959499, 4294959449, 4294959399, 4294959349, 4294959299, 4294959249, 4294959199, 4294959149, 4294959100, 4294959050, 4294959000, 4294958950, 4294958900, 4294958850, 4294958800, 4294958751, 4294958701, 4294958651, 4294958601, 4294958551, 4294958502, 4294958452, 4294958402, 4294958352, 4294958302, 4294958253, 4294958203, 4294958153, 4294958103, 4294958053, 4294958004, 4294957954, 4294957904, 4294957854, 4294957805, 4294957755, 4294957705, 4294957656, 4294957606, 4294957556, 4294957506, 4294957457, 4294957407, 4294957357, 4294957308, 4294957258, 4294957208, 4294957159, 4294957109, 4294957059, 4294957010, 4294956960, 4294956910, 4294956861, 4294956811, 4294956762, 4294956712, 4294956662, 4294956613, 4294956563, 4294956514, 4294956464, 4294956414, 4294956365, 4294956315, 4294956266, 4294956216, 4294956167, 4294956117, 4294956068, 4294956018, 4294955969, 4294955919, 4294955870, 4294955820, 4294955771, 4294955721, 4294955672, 4294955622, 4294955573, 4294955523, 4294955474, 4294955424, 4294955375, 4294955326, 4294955276, 4294955227, 4294955177, 4294955128, 4294955078, 4294955029, 4294954980, 4294954930, 4294954881, 4294954832, 4294954782, 4294954733, 4294954684, 4294954634, 4294954585, 4294954536, 4294954486, 4294954437, 4294954388, 4294954339, 4294954289, 4294954240, 4294954191, 4294954142, 4294954092, 4294954043, 4294953994, 4294953945, 4294953895, 4294953846, 4294953797, 4294953748, 4294953699, 4294953649, 4294953600, 4294953551, 4294953502, 4294953453, 4294953404, 4294953355, 4294953306, 4294953256, 4294953207, 4294953158, 4294953109, 4294953060, 4294953011, 4294952962, 4294952913, 4294952864, 4294952815, 4294952766, 4294952717, 4294952668, 4294952619, 4294952570, 4294952521, 4294952472, 4294952423, 4294952374, 4294952325, 4294952276, 4294952227, 4294952178, 4294952129, 4294952081, 4294952032, 4294951983, 4294951934, 4294951885, 4294951836, 4294951787, 4294951739, 4294951690, 4294951641, 4294951592, 4294951543, 4294951494, 4294951446, 4294951397, 4294951348, 4294951299, 4294951251, 4294951202, 4294951153, 4294951105, 4294951056, 4294951007, 4294950958, 4294950910, 4294950861, 4294950812, 4294950764, 4294950715, 4294950667, 4294950618, 4294950569, 4294950521, 4294950472, 4294950424, 4294950375, 4294950326, 4294950278, 4294950229, 4294950181, 4294950132, 4294950084, 4294950035, 4294949987, 4294949938, 4294949890, 4294949841, 4294949793, 4294949745, 4294949696, 4294949648, 4294949599, 4294949551, 4294949503, 4294949454, 4294949406, 4294949357, 4294949309, 4294949261, 4294949212, 4294949164, 4294949116, 4294949068, 4294949019, 4294948971, 4294948923, 4294948875, 4294948826, 4294948778, 4294948730, 4294948682, 4294948633, 4294948585, 4294948537, 4294948489, 4294948441, 4294948393, 4294948345, 4294948296, 4294948248, 4294948200, 4294948152, 4294948104, 4294948056, 4294948008, 4294947960, 4294947912, 4294947864, 4294947816, 4294947768, 4294947720, 4294947672, 4294947624, 4294947576, 4294947528, 4294947480, 4294947432, 4294947384, 4294947337, 4294947289, 4294947241, 4294947193, 4294947145, 4294947097, 4294947050, 4294947002, 4294946954, 4294946906, 4294946858, 4294946811, 4294946763, 4294946715, 4294946667, 4294946620, 4294946572, 4294946524, 4294946477, 4294946429, 4294946381, 4294946334, 4294946286, 4294946239, 4294946191, 4294946143, 4294946096, 4294946048, 4294946001, 4294945953, 4294945906, 4294945858, 4294945811, 4294945763, 4294945716, 4294945668, 4294945621, 4294945573, 4294945526, 4294945479, 4294945431, 4294945384, 4294945336, 4294945289, 4294945242, 4294945194, 4294945147, 4294945100, 4294945053, 4294945005, 4294944958, 4294944911, 4294944863, 4294944816, 4294944769, 4294944722, 4294944675, 4294944628, 4294944580, 4294944533, 4294944486, 4294944439, 4294944392, 4294944345, 4294944298, 4294944251, 4294944204, 4294944157, 4294944110, 4294944063, 4294944016, 4294943969, 4294943922, 4294943875, 4294943828, 4294943781, 4294943734, 4294943687, 4294943640, 4294943593, 4294943546, 4294943500, 4294943453, 4294943406, 4294943359, 4294943312, 4294943266, 4294943219, 4294943172, 4294943125, 4294943079, 4294943032, 4294942985, 4294942939, 4294942892, 4294942845, 4294942799, 4294942752, 4294942705, 4294942659, 4294942612, 4294942566, 4294942519, 4294942473, 4294942426, 4294942380, 4294942333, 4294942287, 4294942240, 4294942194, 4294942147, 4294942101, 4294942055, 4294942008, 4294941962, 4294941915, 4294941869, 4294941823, 4294941776, 4294941730, 4294941684, 4294941638, 4294941591, 4294941545, 4294941499, 4294941453, 4294941407, 4294941360, 4294941314, 4294941268, 4294941222, 4294941176, 4294941130, 4294941084, 4294941038, 4294940992, 4294940946, 4294940900, 4294940854, 4294940808, 4294940762, 4294940716, 4294940670, 4294940624, 4294940578, 4294940532, 4294940486, 4294940440, 4294940394, 4294940349, 4294940303, 4294940257, 4294940211, 4294940165, 4294940120, 4294940074, 4294940028, 4294939983, 4294939937, 4294939891, 4294939846, 4294939800, 4294939754, 4294939709, 4294939663, 4294939618, 4294939572, 4294939526, 4294939481, 4294939435, 4294939390, 4294939344, 4294939299, 4294939254, 4294939208, 4294939163, 4294939117, 4294939072, 4294939027, 4294938981, 4294938936, 4294938891, 4294938845, 4294938800, 4294938755, 4294938710, 4294938664, 4294938619, 4294938574, 4294938529, 4294938484, 4294938438, 4294938393, 4294938348, 4294938303, 4294938258, 4294938213, 4294938168, 4294938123, 4294938078, 4294938033, 4294937988, 4294937943, 4294937898, 4294937853, 4294937808, 4294937763, 4294937719, 4294937674, 4294937629, 4294937584, 4294937539, 4294937495, 4294937450, 4294937405, 4294937360, 4294937316, 4294937271, 4294937226, 4294937182, 4294937137, 4294937092, 4294937048, 4294937003, 4294936959, 4294936914, 4294936870, 4294936825, 4294936781, 4294936736, 4294936692, 4294936647, 4294936603, 4294936558, 4294936514, 4294936470, 4294936425, 4294936381, 4294936337, 4294936292, 4294936248, 4294936204, 4294936160, 4294936115, 4294936071, 4294936027, 4294935983, 4294935939, 4294935894, 4294935850, 4294935806, 4294935762, 4294935718, 4294935674, 4294935630, 4294935586, 4294935542, 4294935498, 4294935454, 4294935410, 4294935366, 4294935322, 4294935279, 4294935235, 4294935191, 4294935147, 4294935103, 4294935060, 4294935016, 4294934972, 4294934928, 4294934885, 4294934841, 4294934797, 4294934754, 4294934710, 4294934666, 4294934623, 4294934579, 4294934536, 4294934492, 4294934449, 4294934405, 4294934362, 4294934318, 4294934275, 4294934231, 4294934188, 4294934145, 4294934101, 4294934058, 4294934015, 4294933971, 4294933928, 4294933885, 4294933842, 4294933798, 4294933755, 4294933712, 4294933669, 4294933626, 4294933583, 4294933540, 4294933497, 4294933453, 4294933410, 4294933367, 4294933324, 4294933281, 4294933239, 4294933196, 4294933153, 4294933110, 4294933067, 4294933024, 4294932981, 4294932938, 4294932896, 4294932853, 4294932810, 4294932767, 4294932725, 4294932682, 4294932639, 4294932597, 4294932554, 4294932511, 4294932469, 4294932426, 4294932384, 4294932341, 4294932299, 4294932256, 4294932214, 4294932171, 4294932129, 4294932086, 4294932044, 4294932002, 4294931959, 4294931917, 4294931875, 4294931832, 4294931790, 4294931748, 4294931706, 4294931663, 4294931621, 4294931579, 4294931537, 4294931495, 4294931453, 4294931411, 4294931369, 4294931327, 4294931285, 4294931243, 4294931201, 4294931159, 4294931117, 4294931075, 4294931033, 4294930991, 4294930949, 4294930908, 4294930866, 4294930824, 4294930782, 4294930741, 4294930699, 4294930657, 4294930615, 4294930574, 4294930532, 4294930491, 4294930449, 4294930407, 4294930366, 4294930324, 4294930283, 4294930241, 4294930200, 4294930159, 4294930117, 4294930076, 4294930034, 4294929993, 4294929952, 4294929910, 4294929869, 4294929828, 4294929787, 4294929745, 4294929704, 4294929663, 4294929622, 4294929581, 4294929540, 4294929499, 4294929458, 4294929417, 4294929376, 4294929335, 4294929294, 4294929253, 4294929212, 4294929171, 4294929130, 4294929089, 4294929048, 4294929008, 4294928967, 4294928926, 4294928885, 4294928845, 4294928804, 4294928763, 4294928723, 4294928682, 4294928641, 4294928601, 4294928560, 4294928520, 4294928479, 4294928439, 4294928398, 4294928358, 4294928317, 4294928277, 4294928237, 4294928196, 4294928156, 4294928116, 4294928075, 4294928035, 4294927995, 4294927955, 4294927914, 4294927874, 4294927834, 4294927794, 4294927754, 4294927714, 4294927674, 4294927634, 4294927594, 4294927554, 4294927514, 4294927474, 4294927434, 4294927394, 4294927354, 4294927314, 4294927275, 4294927235, 4294927195, 4294927155, 4294927116, 4294927076, 4294927036, 4294926997, 4294926957, 4294926917, - 4294926878, 4294926838, 4294926799, 4294926759, 4294926720, 4294926680, 4294926641, 4294926601, 4294926562, 4294926523, 4294926483, 4294926444, 4294926405, 4294926365, 4294926326, 4294926287, 4294926248, 4294926209, 4294926169, 4294926130, 4294926091, 4294926052, 4294926013, 4294925974, 4294925935, 4294925896, 4294925857, 4294925818, 4294925779, 4294925740, 4294925701, 4294925663, 4294925624, 4294925585, 4294925546, 4294925508, 4294925469, 4294925430, 4294925392, 4294925353, 4294925314, 4294925276, 4294925237, 4294925199, 4294925160, 4294925122, 4294925083, 4294925045, 4294925006, 4294924968, 4294924930, 4294924891, 4294924853, 4294924815, 4294924776, 4294924738, 4294924700, 4294924662, 4294924624, 4294924585, 4294924547, 4294924509, 4294924471, 4294924433, 4294924395, 4294924357, 4294924319, 4294924281, 4294924243, 4294924205, 4294924168, 4294924130, 4294924092, 4294924054, 4294924016, 4294923979, 4294923941, 4294923903, 4294923866, 4294923828, 4294923790, 4294923753, 4294923715, 4294923678, 4294923640, 4294923603, 4294923565, 4294923528, 4294923490, 4294923453, 4294923416, 4294923378, 4294923341, 4294923304, 4294923267, 4294923229, 4294923192, 4294923155, 4294923118, 4294923081, 4294923044, 4294923007, 4294922970, 4294922933, 4294922896, 4294922859, 4294922822, 4294922785, 4294922748, 4294922711, 4294922674, 4294922637, 4294922601, 4294922564, 4294922527, 4294922490, 4294922454, 4294922417, 4294922381, 4294922344, 4294922307, 4294922271, 4294922234, 4294922198, 4294922161, 4294922125, 4294922089, 4294922052, 4294922016, 4294921980, 4294921943, 4294921907, 4294921871, 4294921834, 4294921798, 4294921762, 4294921726, 4294921690, 4294921654, 4294921618, 4294921582, 4294921546, 4294921510, 4294921474, 4294921438, 4294921402, 4294921366, 4294921330, 4294921294, 4294921259, 4294921223, 4294921187, 4294921151, 4294921116, 4294921080, 4294921044, 4294921009, 4294920973, 4294920938, 4294920902, 4294920867, 4294920831, 4294920796, 4294920760, 4294920725, 4294920690, 4294920654, 4294920619, 4294920584, 4294920549, 4294920513, 4294920478, 4294920443, 4294920408, 4294920373, 4294920338, 4294920303, 4294920268, 4294920233, 4294920198, 4294920163, 4294920128, 4294920093, 4294920058, 4294920023, 4294919988, 4294919954, 4294919919, 4294919884, 4294919850, 4294919815, 4294919780, 4294919746, 4294919711, 4294919677, 4294919642, 4294919608, 4294919573, 4294919539, 4294919504, 4294919470, 4294919436, 4294919401, 4294919367, 4294919333, 4294919298, 4294919264, 4294919230, 4294919196, 4294919162, 4294919128, 4294919094, 4294919060, 4294919025, 4294918992, 4294918958, 4294918924, 4294918890, 4294918856, 4294918822, 4294918788, 4294918754, 4294918721, 4294918687, 4294918653, 4294918620, 4294918586, 4294918552, 4294918519, 4294918485, 4294918452, 4294918418, 4294918385, 4294918351, 4294918318, 4294918284, 4294918251, 4294918218, 4294918184, 4294918151, 4294918118, 4294918085, 4294918052, 4294918018, 4294917985, 4294917952, 4294917919, 4294917886, 4294917853, 4294917820, 4294917787, 4294917754, 4294917721, 4294917688, 4294917656, 4294917623, 4294917590, 4294917557, 4294917525, 4294917492, 4294917459, 4294917427, 4294917394, 4294917361, 4294917329, 4294917296, 4294917264, 4294917231, 4294917199, 4294917167, 4294917134, 4294917102, 4294917070, 4294917037, 4294917005, 4294916973, 4294916941, 4294916909, 4294916876, 4294916844, 4294916812, 4294916780, 4294916748, 4294916716, 4294916684, 4294916652, 4294916621, 4294916589, 4294916557, 4294916525, 4294916493, 4294916462, 4294916430, 4294916398, 4294916367, 4294916335, 4294916303, 4294916272, 4294916240, 4294916209, 4294916177, 4294916146, 4294916114, 4294916083, 4294916052, 4294916020, 4294915989, 4294915958, 4294915927, 4294915895, 4294915864, 4294915833, 4294915802, 4294915771, 4294915740, 4294915709, 4294915678, 4294915647, 4294915616, 4294915585, 4294915554, 4294915523, 4294915493, 4294915462, 4294915431, 4294915400, 4294915370, 4294915339, 4294915308, 4294915278, 4294915247, 4294915217, 4294915186, 4294915156, 4294915125, 4294915095, 4294915065, 4294915034, 4294915004, 4294914974, 4294914943, 4294914913, 4294914883, 4294914853, 4294914823, 4294914793, 4294914762, 4294914732, 4294914702, 4294914672, 4294914643, 4294914613, 4294914583, 4294914553, 4294914523, 4294914493, 4294914464, 4294914434, 4294914404, 4294914374, 4294914345, 4294914315, 4294914286, 4294914256, 4294914227, 4294914197, 4294914168, 4294914138, 4294914109, 4294914080, 4294914050, 4294914021, 4294913992, 4294913962, 4294913933, 4294913904, 4294913875, 4294913846, 4294913817, 4294913788, 4294913759, 4294913730, 4294913701, 4294913672, 4294913643, 4294913614, 4294913585, 4294913557, 4294913528, 4294913499, 4294913470, 4294913442, 4294913413, 4294913385, 4294913356, 4294913327, 4294913299, 4294913270, 4294913242, 4294913214, 4294913185, 4294913157, 4294913129, 4294913100, 4294913072, 4294913044, 4294913016, 4294912988, 4294912959, 4294912931, 4294912903, 4294912875, 4294912847, 4294912819, 4294912791, 4294912763, 4294912736, 4294912708, 4294912680, 4294912652, 4294912624, 4294912597, 4294912569, 4294912541, 4294912514, 4294912486, 4294912459, 4294912431, 4294912404, 4294912376, 4294912349, 4294912322, 4294912294, 4294912267, 4294912240, 4294912212, 4294912185, 4294912158, 4294912131, 4294912104, 4294912077, 4294912050, 4294912022, 4294911996, 4294911969, 4294911942, 4294911915, 4294911888, 4294911861, 4294911834, 4294911807, 4294911781, 4294911754, 4294911727, 4294911701, 4294911674, 4294911648, 4294911621, 4294911595, 4294911568, 4294911542, 4294911515, 4294911489, 4294911463, 4294911436, 4294911410, 4294911384, 4294911358, 4294911331, 4294911305, 4294911279, 4294911253, 4294911227, 4294911201, 4294911175, 4294911149, 4294911123, 4294911097, 4294911071, 4294911046, 4294911020, 4294910994, 4294910968, 4294910943, 4294910917, 4294910892, 4294910866, 4294910840, 4294910815, 4294910789, 4294910764, 4294910739, 4294910713, 4294910688, 4294910663, 4294910637, 4294910612, 4294910587, 4294910562, 4294910536, 4294910511, 4294910486, 4294910461, 4294910436, 4294910411, 4294910386, 4294910361, 4294910337, 4294910312, 4294910287, 4294910262, 4294910237, 4294910213, 4294910188, 4294910163, 4294910139, 4294910114, 4294910090, 4294910065, 4294910041, 4294910016, 4294909992, 4294909967, 4294909943, 4294909919, 4294909894, 4294909870, 4294909846, 4294909822, 4294909798, 4294909774, 4294909750, 4294909726, 4294909702, 4294909678, 4294909654, 4294909630, 4294909606, 4294909582, 4294909558, 4294909534, 4294909511, 4294909487, 4294909463, 4294909440, 4294909416, 4294909393, 4294909369, 4294909346, 4294909322, 4294909299, 4294909275, 4294909252, 4294909229, 4294909205, 4294909182, 4294909159, 4294909136, 4294909113, 4294909089, 4294909066, 4294909043, 4294909020, 4294908997, 4294908974, 4294908951, 4294908929, 4294908906, 4294908883, 4294908860, 4294908837, 4294908815, 4294908792, 4294908769, 4294908747, 4294908724, 4294908702, 4294908679, 4294908657, 4294908634, 4294908612, 4294908590, 4294908567, 4294908545, 4294908523, 4294908501, 4294908478, 4294908456, 4294908434, 4294908412, 4294908390, 4294908368, 4294908346, 4294908324, 4294908302, 4294908280, 4294908258, 4294908237, 4294908215, 4294908193, 4294908171, 4294908150, 4294908128, 4294908106, 4294908085, 4294908063, 4294908042, 4294908020, 4294907999, 4294907978, 4294907956, 4294907935, 4294907914, 4294907892, 4294907871, 4294907850, 4294907829, 4294907808, 4294907787, 4294907766, 4294907745, 4294907724, 4294907703, 4294907682, 4294907661, 4294907640, 4294907619, 4294907599, 4294907578, 4294907557, 4294907537, 4294907516, 4294907495, 4294907475, 4294907454, 4294907434, 4294907413, 4294907393, 4294907373, 4294907352, 4294907332, 4294907312, 4294907292, 4294907271, 4294907251, 4294907231, 4294907211, 4294907191, 4294907171, 4294907151, 4294907131, 4294907111, 4294907091, 4294907071, 4294907052, 4294907032, 4294907012, 4294906992, 4294906973, 4294906953, 4294906933, 4294906914, 4294906894, 4294906875, 4294906855, 4294906836, 4294906817, 4294906797, 4294906778, 4294906759, 4294906740, 4294906720, 4294906701, 4294906682, 4294906663, 4294906644, 4294906625, 4294906606, 4294906587, 4294906568, 4294906549, 4294906530, 4294906511, 4294906493, 4294906474, 4294906455, 4294906437, 4294906418, 4294906399, 4294906381, 4294906362, 4294906344, 4294906325, 4294906307, 4294906289, 4294906270, 4294906252, 4294906234, 4294906215, 4294906197, 4294906179, 4294906161, 4294906143, 4294906125, 4294906107, 4294906089, 4294906071, 4294906053, 4294906035, 4294906017, 4294905999, 4294905982, 4294905964, 4294905946, 4294905929, 4294905911, 4294905893, 4294905876, 4294905858, 4294905841, 4294905823, 4294905806, 4294905789, 4294905771, 4294905754, 4294905737, 4294905719, 4294905702, 4294905685, 4294905668, 4294905651, 4294905634, 4294905617, 4294905600, 4294905583, 4294905566, 4294905549, 4294905532, 4294905516, 4294905499, 4294905482, 4294905465, 4294905449, 4294905432, 4294905416, 4294905399, 4294905383, 4294905366, 4294905350, 4294905333, 4294905317, 4294905301, 4294905284, 4294905268, 4294905252, 4294905236, 4294905220, 4294905204, 4294905188, 4294905171, 4294905155, 4294905140, 4294905124, 4294905108, 4294905092, 4294905076, 4294905060, 4294905045, 4294905029, 4294905013, 4294904998, 4294904982, 4294904967, 4294904951, 4294904936, 4294904920, 4294904905, 4294904889, 4294904874, 4294904859, 4294904843, 4294904828, 4294904813, 4294904798, 4294904783, 4294904768, 4294904753, 4294904738, 4294904723, 4294904708, 4294904693, 4294904678, 4294904663, 4294904648, 4294904634, 4294904619, 4294904604, 4294904590, 4294904575, 4294904561, 4294904546, 4294904532, 4294904517, 4294904503, 4294904488, 4294904474, 4294904460, 4294904446, 4294904431, 4294904417, 4294904403, 4294904389, 4294904375, 4294904361, 4294904347, 4294904333, 4294904319, 4294904305, 4294904291, 4294904277, 4294904264, 4294904250, 4294904236, 4294904222, 4294904209, 4294904195, 4294904182, 4294904168, 4294904155, 4294904141, 4294904128, 4294904114, 4294904101, 4294904088, 4294904075, 4294904061, 4294904048, 4294904035, 4294904022, 4294904009, 4294903996, 4294903983, 4294903970, 4294903957, 4294903944, 4294903931, 4294903918, 4294903906, 4294903893, 4294903880, 4294903867, 4294903855, 4294903842, 4294903830, 4294903817, 4294903805, 4294903792, 4294903780, 4294903768, 4294903755, 4294903743, 4294903731, 4294903718, 4294903706, 4294903694, 4294903682, 4294903670, 4294903658, 4294903646, 4294903634, 4294903622, 4294903610, 4294903598, 4294903587, 4294903575, 4294903563, 4294903551, 4294903540, 4294903528, 4294903517, 4294903505, 4294903493, 4294903482, 4294903471, 4294903459, 4294903448, 4294903437, 4294903425, 4294903414, 4294903403, 4294903392, 4294903381, 4294903369, 4294903358, 4294903347, 4294903336, 4294903325, 4294903315, 4294903304, 4294903293, 4294903282, 4294903271, 4294903261, 4294903250, 4294903239, 4294903229, 4294903218, 4294903208, 4294903197, 4294903187, 4294903176, 4294903166, 4294903156, 4294903145, 4294903135, 4294903125, 4294903115, 4294903104, 4294903094, 4294903084, 4294903074, 4294903064, 4294903054, 4294903044, 4294903035, 4294903025, 4294903015, 4294903005, 4294902995, 4294902986, 4294902976, 4294902966, 4294902957, 4294902947, 4294902938, 4294902928, 4294902919, 4294902909, 4294902900, 4294902891, 4294902882, 4294902872, 4294902863, 4294902854, 4294902845, 4294902836, 4294902827, 4294902818, 4294902809, 4294902800, 4294902791, 4294902782, 4294902773, 4294902764, 4294902756, 4294902747, 4294902738, 4294902730, 4294902721, 4294902712, 4294902704, 4294902695, 4294902687, 4294902679, 4294902670, 4294902662, 4294902654, 4294902645, 4294902637, 4294902629, 4294902621, 4294902613, 4294902605, 4294902597, 4294902589, 4294902581, 4294902573, 4294902565, 4294902557, 4294902549, 4294902542, 4294902534, 4294902526, 4294902519, 4294902511, 4294902503, 4294902496, 4294902488, 4294902481, 4294902474, 4294902466, 4294902459, 4294902452, 4294902444, 4294902437, 4294902430, 4294902423, 4294902416, 4294902409, 4294902401, 4294902394, 4294902388, 4294902381, 4294902374, 4294902367, 4294902360, 4294902353, 4294902347, 4294902340, 4294902333, 4294902327, 4294902320, 4294902314, 4294902307, 4294902301, 4294902294, 4294902288, 4294902281, 4294902275, 4294902269, 4294902263, 4294902256, 4294902250, 4294902244, 4294902238, 4294902232, 4294902226, 4294902220, 4294902214, 4294902208, 4294902202, 4294902197, 4294902191, 4294902185, 4294902179, 4294902174, 4294902168, 4294902163, 4294902157, 4294902152, 4294902146, 4294902141, 4294902135, 4294902130, 4294902125, 4294902119, 4294902114, 4294902109, 4294902104, 4294902099, 4294902094, 4294902089, 4294902084, 4294902079, 4294902074, 4294902069, 4294902064, 4294902059, 4294902054, 4294902050, 4294902045, 4294902040, 4294902036, 4294902031, 4294902026, 4294902022, 4294902017, 4294902013, 4294902009, 4294902004, 4294902000, 4294901996, 4294901991, 4294901987, 4294901983, 4294901979, 4294901975, 4294901971, 4294901967, 4294901963, 4294901959, 4294901955, 4294901951, 4294901947, 4294901944, 4294901940, 4294901936, 4294901933, 4294901929, 4294901925, 4294901922, 4294901918, 4294901915, 4294901911, 4294901908, 4294901905, 4294901901, 4294901898, 4294901895, 4294901892, 4294901888, 4294901885, 4294901882, 4294901879, 4294901876, 4294901873, 4294901870, 4294901867, 4294901865, 4294901862, 4294901859, 4294901856, 4294901854, 4294901851, 4294901848, 4294901846, 4294901843, 4294901841, 4294901838, 4294901836, 4294901833, 4294901831, 4294901829, 4294901826, 4294901824, 4294901822, 4294901820, 4294901818, 4294901816, 4294901814, 4294901812, 4294901810, 4294901808, 4294901806, 4294901804, 4294901802, 4294901800, 4294901799, 4294901797, 4294901795, 4294901794, 4294901792, 4294901791, 4294901789, 4294901788, 4294901786, 4294901785, 4294901783, 4294901782, 4294901781, 4294901780, 4294901778, 4294901777, 4294901776, 4294901775, 4294901774, 4294901773, 4294901772, 4294901771, 4294901770, 4294901769, 4294901769, 4294901768, 4294901767, 4294901766, 4294901766, 4294901765, 4294901765, 4294901764, 4294901764, 4294901763, 4294901763, 4294901762, 4294901762, 4294901762, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901761, 4294901762, 4294901762, 4294901762, 4294901763, 4294901763, 4294901764, 4294901764, 4294901765, 4294901765, 4294901766, 4294901766, 4294901767, 4294901768, 4294901769, 4294901769, 4294901770, 4294901771, 4294901772, 4294901773, 4294901774, 4294901775, 4294901776, 4294901777, 4294901778, 4294901780, 4294901781, 4294901782, 4294901783, 4294901785, 4294901786, 4294901788, 4294901789, 4294901791, 4294901792, 4294901794, 4294901795, 4294901797, 4294901799, 4294901800, 4294901802, 4294901804, 4294901806, 4294901808, 4294901810, 4294901812, 4294901814, 4294901816, 4294901818, 4294901820, 4294901822, 4294901824, 4294901826, 4294901829, 4294901831, 4294901833, 4294901836, 4294901838, 4294901841, 4294901843, 4294901846, 4294901848, 4294901851, 4294901854, 4294901856, 4294901859, 4294901862, 4294901865, 4294901867, 4294901870, 4294901873, 4294901876, 4294901879, 4294901882, 4294901885, 4294901888, 4294901892, 4294901895, 4294901898, 4294901901, 4294901905, 4294901908, 4294901911, 4294901915, 4294901918, 4294901922, 4294901925, 4294901929, 4294901933, 4294901936, 4294901940, 4294901944, 4294901947, 4294901951, 4294901955, 4294901959, 4294901963, 4294901967, 4294901971, 4294901975, 4294901979, 4294901983, 4294901987, 4294901991, 4294901996, 4294902000, 4294902004, 4294902009, 4294902013, 4294902017, 4294902022, 4294902026, 4294902031, 4294902036, 4294902040, 4294902045, 4294902050, 4294902054, 4294902059, 4294902064, 4294902069, 4294902074, 4294902079, 4294902084, 4294902089, 4294902094, 4294902099, 4294902104, 4294902109, 4294902114, 4294902119, 4294902125, 4294902130, 4294902135, 4294902141, 4294902146, 4294902152, 4294902157, 4294902163, 4294902168, 4294902174, 4294902179, 4294902185, 4294902191, 4294902197, 4294902202, 4294902208, 4294902214, 4294902220, 4294902226, 4294902232, 4294902238, 4294902244, 4294902250, 4294902256, 4294902263, 4294902269, 4294902275, 4294902281, 4294902288, 4294902294, 4294902301, 4294902307, 4294902314, 4294902320, 4294902327, 4294902333, 4294902340, 4294902347, 4294902353, 4294902360, 4294902367, 4294902374, 4294902381, 4294902388, 4294902394, 4294902401, 4294902409, 4294902416, 4294902423, 4294902430, 4294902437, 4294902444, 4294902452, 4294902459, 4294902466, 4294902474, 4294902481, 4294902488, 4294902496, 4294902503, 4294902511, 4294902519, 4294902526, 4294902534, 4294902542, 4294902549, 4294902557, 4294902565, 4294902573, 4294902581, 4294902589, 4294902597, 4294902605, 4294902613, 4294902621, 4294902629, 4294902637, 4294902645, 4294902654, 4294902662, 4294902670, 4294902679, 4294902687, 4294902695, 4294902704, 4294902712, 4294902721, 4294902730, 4294902738, 4294902747, 4294902756, 4294902764, 4294902773, 4294902782, 4294902791, 4294902800, 4294902809, 4294902818, 4294902827, 4294902836, 4294902845, 4294902854, 4294902863, 4294902872, 4294902882, 4294902891, 4294902900, 4294902909, 4294902919, 4294902928, 4294902938, 4294902947, 4294902957, 4294902966, 4294902976, 4294902986, 4294902995, 4294903005, 4294903015, 4294903025, 4294903035, 4294903044, 4294903054, 4294903064, 4294903074, 4294903084, 4294903094, 4294903104, 4294903115, 4294903125, 4294903135, 4294903145, 4294903156, 4294903166, 4294903176, 4294903187, 4294903197, 4294903208, 4294903218, 4294903229, 4294903239, 4294903250, 4294903261, 4294903271, 4294903282, 4294903293, 4294903304, 4294903315, 4294903325, 4294903336, 4294903347, 4294903358, 4294903369, 4294903381, 4294903392, 4294903403, 4294903414, 4294903425, 4294903437, 4294903448, 4294903459, 4294903471, 4294903482, 4294903493, 4294903505, 4294903517, 4294903528, 4294903540, 4294903551, 4294903563, 4294903575, 4294903587, 4294903598, 4294903610, 4294903622, 4294903634, 4294903646, 4294903658, 4294903670, 4294903682, 4294903694, 4294903706, 4294903718, 4294903731, 4294903743, 4294903755, 4294903768, 4294903780, 4294903792, 4294903805, 4294903817, 4294903830, 4294903842, 4294903855, 4294903867, 4294903880, 4294903893, 4294903906, 4294903918, 4294903931, 4294903944, 4294903957, 4294903970, 4294903983, 4294903996, 4294904009, 4294904022, 4294904035, 4294904048, 4294904061, 4294904075, 4294904088, 4294904101, 4294904114, 4294904128, 4294904141, 4294904155, 4294904168, 4294904182, 4294904195, 4294904209, 4294904222, 4294904236, 4294904250, 4294904264, 4294904277, 4294904291, 4294904305, 4294904319, 4294904333, 4294904347, 4294904361, 4294904375, 4294904389, 4294904403, 4294904417, 4294904431, 4294904446, 4294904460, 4294904474, 4294904488, 4294904503, 4294904517, 4294904532, 4294904546, 4294904561, 4294904575, 4294904590, 4294904604, 4294904619, 4294904634, 4294904648, 4294904663, 4294904678, 4294904693, 4294904708, 4294904723, 4294904738, 4294904753, 4294904768, 4294904783, 4294904798, 4294904813, 4294904828, 4294904843, 4294904859, 4294904874, 4294904889, 4294904905, 4294904920, 4294904936, 4294904951, 4294904967, 4294904982, 4294904998, 4294905013, 4294905029, 4294905045, 4294905060, 4294905076, 4294905092, 4294905108, 4294905124, 4294905140, 4294905155, 4294905171, 4294905188, 4294905204, 4294905220, 4294905236, 4294905252, 4294905268, 4294905284, 4294905301, 4294905317, 4294905333, 4294905350, 4294905366, 4294905383, 4294905399, 4294905416, 4294905432, 4294905449, 4294905465, 4294905482, 4294905499, 4294905516, 4294905532, 4294905549, 4294905566, 4294905583, 4294905600, 4294905617, 4294905634, 4294905651, 4294905668, 4294905685, 4294905702, 4294905719, 4294905737, 4294905754, 4294905771, 4294905789, 4294905806, 4294905823, 4294905841, 4294905858, 4294905876, 4294905893, 4294905911, 4294905929, 4294905946, 4294905964, 4294905982, 4294905999, 4294906017, 4294906035, 4294906053, 4294906071, 4294906089, 4294906107, 4294906125, 4294906143, 4294906161, 4294906179, 4294906197, 4294906215, 4294906234, 4294906252, 4294906270, 4294906289, 4294906307, 4294906325, 4294906344, 4294906362, 4294906381, 4294906399, 4294906418, 4294906437, 4294906455, 4294906474, 4294906493, 4294906511, 4294906530, 4294906549, 4294906568, 4294906587, 4294906606, 4294906625, 4294906644, 4294906663, 4294906682, 4294906701, 4294906720, 4294906740, 4294906759, 4294906778, 4294906797, 4294906817, 4294906836, 4294906855, 4294906875, 4294906894, 4294906914, 4294906933, 4294906953, 4294906973, 4294906992, 4294907012, 4294907032, 4294907052, 4294907071, 4294907091, 4294907111, 4294907131, 4294907151, 4294907171, 4294907191, 4294907211, 4294907231, 4294907251, 4294907271, 4294907292, 4294907312, 4294907332, 4294907352, 4294907373, 4294907393, 4294907413, 4294907434, 4294907454, 4294907475, 4294907495, 4294907516, 4294907537, 4294907557, 4294907578, 4294907599, 4294907619, 4294907640, 4294907661, 4294907682, 4294907703, 4294907724, 4294907745, 4294907766, 4294907787, 4294907808, 4294907829, 4294907850, 4294907871, 4294907892, 4294907914, 4294907935, 4294907956, 4294907978, 4294907999, 4294908020, 4294908042, 4294908063, 4294908085, 4294908107, 4294908128, 4294908150, 4294908171, 4294908193, 4294908215, 4294908237, 4294908258, 4294908280, 4294908302, 4294908324, 4294908346, 4294908368, 4294908390, 4294908412, 4294908434, 4294908456, 4294908478, 4294908501, 4294908523, 4294908545, 4294908567, 4294908590, 4294908612, 4294908634, 4294908657, 4294908679, 4294908702, 4294908724, 4294908747, 4294908769, 4294908792, 4294908815, 4294908837, 4294908860, 4294908883, 4294908906, 4294908929, 4294908951, 4294908974, 4294908997, 4294909020, 4294909043, 4294909066, 4294909089, 4294909113, 4294909136, 4294909159, 4294909182, 4294909205, 4294909229, 4294909252, 4294909275, 4294909299, 4294909322, 4294909346, 4294909369, 4294909393, 4294909416, 4294909440, 4294909463, 4294909487, 4294909511, 4294909534, 4294909558, 4294909582, 4294909606, 4294909630, 4294909654, 4294909678, 4294909702, 4294909726, 4294909750, 4294909774, 4294909798, 4294909822, 4294909846, 4294909870, 4294909894, 4294909919, 4294909943, 4294909967, 4294909992, 4294910016, 4294910041, 4294910065, 4294910090, 4294910114, 4294910139, 4294910163, 4294910188, 4294910213, 4294910237, 4294910262, 4294910287, 4294910312, 4294910337, 4294910361, 4294910386, 4294910411, 4294910436, 4294910461, 4294910486, 4294910511, 4294910536, 4294910562, 4294910587, 4294910612, 4294910637, 4294910663, 4294910688, 4294910713, 4294910739, 4294910764, 4294910789, 4294910815, 4294910840, 4294910866, 4294910892, 4294910917, 4294910943, 4294910968, 4294910994, 4294911020, 4294911046, 4294911071, 4294911097, 4294911123, 4294911149, 4294911175, 4294911201, 4294911227, 4294911253, 4294911279, 4294911305, 4294911331, 4294911358, 4294911384, 4294911410, 4294911436, 4294911463, 4294911489, 4294911515, 4294911542, 4294911568, 4294911595, 4294911621, 4294911648, 4294911674, 4294911701, 4294911727, 4294911754, 4294911781, 4294911807, 4294911834, 4294911861, 4294911888, 4294911915, 4294911942, 4294911969, 4294911996, 4294912022, 4294912050, 4294912077, 4294912104, 4294912131, 4294912158, 4294912185, 4294912212, 4294912240, 4294912267, 4294912294, 4294912322, 4294912349, 4294912376, 4294912404, 4294912431, 4294912459, 4294912486, 4294912514, 4294912541, 4294912569, 4294912597, 4294912624, 4294912652, 4294912680, 4294912708, 4294912736, 4294912763, 4294912791, 4294912819, 4294912847, 4294912875, 4294912903, 4294912931, 4294912959, 4294912988, 4294913016, 4294913044, 4294913072, 4294913100, 4294913129, 4294913157, 4294913185, 4294913214, 4294913242, 4294913270, 4294913299, 4294913327, 4294913356, 4294913385, 4294913413, 4294913442, 4294913470, 4294913499, 4294913528, 4294913557, 4294913585, 4294913614, 4294913643, 4294913672, 4294913701, 4294913730, 4294913759, 4294913788, 4294913817, 4294913846, 4294913875, 4294913904, 4294913933, 4294913962, 4294913992, 4294914021, 4294914050, 4294914080, 4294914109, 4294914138, 4294914168, 4294914197, 4294914227, 4294914256, 4294914286, 4294914315, 4294914345, 4294914374, 4294914404, 4294914434, 4294914464, 4294914493, 4294914523, 4294914553, 4294914583, 4294914613, 4294914643, 4294914672, 4294914702, 4294914732, 4294914762, 4294914793, 4294914823, 4294914853, 4294914883, 4294914913, 4294914943, 4294914974, 4294915004, 4294915034, 4294915065, 4294915095, 4294915125, 4294915156, 4294915186, 4294915217, 4294915247, 4294915278, 4294915308, 4294915339, 4294915370, 4294915400, 4294915431, 4294915462, 4294915493, 4294915523, 4294915554, 4294915585, 4294915616, 4294915647, 4294915678, 4294915709, 4294915740, 4294915771, 4294915802, 4294915833, 4294915864, 4294915895, 4294915927, 4294915958, 4294915989, 4294916020, 4294916052, 4294916083, 4294916114, 4294916146, 4294916177, 4294916209, 4294916240, 4294916272, 4294916303, 4294916335, 4294916367, 4294916398, 4294916430, 4294916462, 4294916493, 4294916525, 4294916557, 4294916589, 4294916621, 4294916652, 4294916684, 4294916716, 4294916748, 4294916780, 4294916812, 4294916844, 4294916876, 4294916909, 4294916941, 4294916973, 4294917005, 4294917037, 4294917070, 4294917102, 4294917134, 4294917167, 4294917199, 4294917231, 4294917264, 4294917296, 4294917329, 4294917361, 4294917394, 4294917427, 4294917459, 4294917492, 4294917525, 4294917557, 4294917590, 4294917623, 4294917656, 4294917688, 4294917721, 4294917754, 4294917787, 4294917820, 4294917853, 4294917886, 4294917919, 4294917952, 4294917985, 4294918018, 4294918052, 4294918085, 4294918118, 4294918151, 4294918184, 4294918218, 4294918251, 4294918284, 4294918318, 4294918351, 4294918385, 4294918418, 4294918452, 4294918485, 4294918519, 4294918552, 4294918586, 4294918620, 4294918653, 4294918687, 4294918721, 4294918754, 4294918788, 4294918822, 4294918856, 4294918890, 4294918924, 4294918958, 4294918991, 4294919025, 4294919059, 4294919094, 4294919128, 4294919162, 4294919196, 4294919230, 4294919264, 4294919298, 4294919333, 4294919367, 4294919401, 4294919436, 4294919470, 4294919504, 4294919539, 4294919573, 4294919608, 4294919642, 4294919677, 4294919711, 4294919746, 4294919780, 4294919815, 4294919850, 4294919884, 4294919919, 4294919954, 4294919989, 4294920023, 4294920058, 4294920093, 4294920128, 4294920163, 4294920198, 4294920233, 4294920268, 4294920303, 4294920338, 4294920373, 4294920408, 4294920443, 4294920478, 4294920513, 4294920549, 4294920584, 4294920619, 4294920654, 4294920690, 4294920725, 4294920760, 4294920796, 4294920831, 4294920867, 4294920902, 4294920938, 4294920973, 4294921009, 4294921045, 4294921080, 4294921116, 4294921151, 4294921187, 4294921223, 4294921259, 4294921294, 4294921330, 4294921366, 4294921402, 4294921438, 4294921474, 4294921510, 4294921546, 4294921582, 4294921618, 4294921654, 4294921690, 4294921726, 4294921762, 4294921798, 4294921834, 4294921871, 4294921907, 4294921943, 4294921980, 4294922016, 4294922052, 4294922089, 4294922125, 4294922161, 4294922198, 4294922234, 4294922271, 4294922307, 4294922344, 4294922381, 4294922417, 4294922454, 4294922490, 4294922527, 4294922564, 4294922601, 4294922637, 4294922674, 4294922711, 4294922748, 4294922785, 4294922822, 4294922859, 4294922896, 4294922933, 4294922970, 4294923007, 4294923044, 4294923081, 4294923118, 4294923155, 4294923192, 4294923229, 4294923267, 4294923304, 4294923341, 4294923378, 4294923416, 4294923453, 4294923490, 4294923528, 4294923565, 4294923603, 4294923640, 4294923678, 4294923715, 4294923753, 4294923790, 4294923828, 4294923866, 4294923903, 4294923941, 4294923979, 4294924016, 4294924054, 4294924092, 4294924130, 4294924168, 4294924205, 4294924243, 4294924281, 4294924319, 4294924357, 4294924395, 4294924433, 4294924471, 4294924509, 4294924547, 4294924585, 4294924624, 4294924662, 4294924700, 4294924738, 4294924776, 4294924815, 4294924853, 4294924891, 4294924930, 4294924968, 4294925006, 4294925045, 4294925083, 4294925122, 4294925160, 4294925199, 4294925237, 4294925276, 4294925314, 4294925353, 4294925392, 4294925430, 4294925469, 4294925508, 4294925546, 4294925585, 4294925624, 4294925663, 4294925701, 4294925740, 4294925779, 4294925818, 4294925857, 4294925896, 4294925935, 4294925974, 4294926013, 4294926052, 4294926091, 4294926130, 4294926169, 4294926209, 4294926248, 4294926287, 4294926326, 4294926365, 4294926405, 4294926444, 4294926483, 4294926523, 4294926562, 4294926601, 4294926641, 4294926680, 4294926720, 4294926759, 4294926799, 4294926838, 4294926878, 4294926917, 4294926957, 4294926997, 4294927036, 4294927076, 4294927116, 4294927155, 4294927195, 4294927235, 4294927275, 4294927314, 4294927354, 4294927394, 4294927434, 4294927474, 4294927514, 4294927554, 4294927594, 4294927634, 4294927674, 4294927714, 4294927754, 4294927794, 4294927834, 4294927874, 4294927914, 4294927955, 4294927995, 4294928035, 4294928075, 4294928116, 4294928156, 4294928196, 4294928237, 4294928277, 4294928317, 4294928358, 4294928398, 4294928439, 4294928479, 4294928520, 4294928560, 4294928601, 4294928641, 4294928682, 4294928723, 4294928763, 4294928804, 4294928845, 4294928885, 4294928926, 4294928967, 4294929008, 4294929048, 4294929089, 4294929130, 4294929171, 4294929212, 4294929253, 4294929294, 4294929335, 4294929376, 4294929417, 4294929458, 4294929499, 4294929540, 4294929581, 4294929622, 4294929663, 4294929704, 4294929746, 4294929787, 4294929828, 4294929869, 4294929910, 4294929952, 4294929993, 4294930034, 4294930076, 4294930117, 4294930159, 4294930200, 4294930241, 4294930283, 4294930324, 4294930366, 4294930407, 4294930449, 4294930491, 4294930532, 4294930574, 4294930615, 4294930657, 4294930699, 4294930740, 4294930782, 4294930824, 4294930866, 4294930908, 4294930949, 4294930991, 4294931033, 4294931075, 4294931117, 4294931159, 4294931201, 4294931243, 4294931285, 4294931327, 4294931369, 4294931411, 4294931453, 4294931495, 4294931537, 4294931579, 4294931621, 4294931663, 4294931706, 4294931748, 4294931790, 4294931832, 4294931875, 4294931917, 4294931959, 4294932002, 4294932044, 4294932086, 4294932129, 4294932171, 4294932214, 4294932256, 4294932299, 4294932341, 4294932384, 4294932426, 4294932469, 4294932511, 4294932554, 4294932597, 4294932639, 4294932682, 4294932725, 4294932767, 4294932810, 4294932853, 4294932896, 4294932938, 4294932981, 4294933024, 4294933067, 4294933110, 4294933153, 4294933196, 4294933239, 4294933281, 4294933324, 4294933367, 4294933410, 4294933453, 4294933497, 4294933540, 4294933583, 4294933626, 4294933669, 4294933712, 4294933755, 4294933798, 4294933842, 4294933885, 4294933928, 4294933971, 4294934015, 4294934058, 4294934101, 4294934145, 4294934188, 4294934231, 4294934275, 4294934318, 4294934362, 4294934405, 4294934449, 4294934492, 4294934536, 4294934579, 4294934623, 4294934666, 4294934710, 4294934754, 4294934797, 4294934841, 4294934885, 4294934928, 4294934972, 4294935016, 4294935060, 4294935103, 4294935147, 4294935191, 4294935235, 4294935279, 4294935322, 4294935366, 4294935410, 4294935454, 4294935498, 4294935542, 4294935586, 4294935630, 4294935674, 4294935718, 4294935762, 4294935806, 4294935850, 4294935894, 4294935939, 4294935983, 4294936027, 4294936071, 4294936115, 4294936160, 4294936204, 4294936248, 4294936292, 4294936337, 4294936381, 4294936425, 4294936470, 4294936514, 4294936558, 4294936603, 4294936647, 4294936692, 4294936736, 4294936781, 4294936825, 4294936870, 4294936914, 4294936959, 4294937003, 4294937048, 4294937092, 4294937137, 4294937182, 4294937226, 4294937271, 4294937316, 4294937360, 4294937405, 4294937450, 4294937495, 4294937539, 4294937584, 4294937629, 4294937674, 4294937719, 4294937763, 4294937808, 4294937853, 4294937898, 4294937943, 4294937988, 4294938033, 4294938078, 4294938123, 4294938168, 4294938213, 4294938258, 4294938303, 4294938348, 4294938393, 4294938438, 4294938484, 4294938529, 4294938574, 4294938619, 4294938664, 4294938710, 4294938755, 4294938800, 4294938845, 4294938891, 4294938936, 4294938981, 4294939027, 4294939072, 4294939117, 4294939163, 4294939208, 4294939254, 4294939299, 4294939344, 4294939390, 4294939435, 4294939481, 4294939526, 4294939572, 4294939618, 4294939663, 4294939709, 4294939754, 4294939800, 4294939846, 4294939891, 4294939937, 4294939983, 4294940028, 4294940074, 4294940120, 4294940165, 4294940211, 4294940257, 4294940303, 4294940349, 4294940394, 4294940440, 4294940486, 4294940532, 4294940578, 4294940624, 4294940670, 4294940716, 4294940762, 4294940808, 4294940854, 4294940900, 4294940946, 4294940992, 4294941038, 4294941084, 4294941130, 4294941176, 4294941222, 4294941268, 4294941314, 4294941360, 4294941407, 4294941453, 4294941499, 4294941545, 4294941591, 4294941638, 4294941684, 4294941730, 4294941776, 4294941823, 4294941869, 4294941915, 4294941962, 4294942008, 4294942055, 4294942101, 4294942147, 4294942194, 4294942240, 4294942287, 4294942333, 4294942380, 4294942426, 4294942473, 4294942519, 4294942566, 4294942612, 4294942659, 4294942705, 4294942752, 4294942799, 4294942845, 4294942892, 4294942939, 4294942985, 4294943032, 4294943079, 4294943125, 4294943172, 4294943219, 4294943266, 4294943312, 4294943359, 4294943406, 4294943453, 4294943500, 4294943546, 4294943593, 4294943640, 4294943687, 4294943734, 4294943781, 4294943828, 4294943875, 4294943922, 4294943969, 4294944016, 4294944063, 4294944110, 4294944157, 4294944204, 4294944251, 4294944298, 4294944345, 4294944392, 4294944439, 4294944486, 4294944533, 4294944580, 4294944628, 4294944675, 4294944722, 4294944769, 4294944816, 4294944864, 4294944911, 4294944958, 4294945005, 4294945053, 4294945100, 4294945147, 4294945194, 4294945242, 4294945289, 4294945336, 4294945384, 4294945431, 4294945479, 4294945526, 4294945573, 4294945621, 4294945668, 4294945716, 4294945763, 4294945811, 4294945858, 4294945906, 4294945953, 4294946001, 4294946048, 4294946096, 4294946143, 4294946191, 4294946239, 4294946286, 4294946334, 4294946381, 4294946429, 4294946477, 4294946524, 4294946572, 4294946620, 4294946667, 4294946715, 4294946763, 4294946811, 4294946858, 4294946906, 4294946954, 4294947002, 4294947050, 4294947097, 4294947145, 4294947193, 4294947241, 4294947289, 4294947337, 4294947384, 4294947432, 4294947480, 4294947528, 4294947576, 4294947624, 4294947672, 4294947720, 4294947768, 4294947816, 4294947864, 4294947912, 4294947960, 4294948008, 4294948056, 4294948104, 4294948152, 4294948200, 4294948248, 4294948296, 4294948345, 4294948393, 4294948441, 4294948489, 4294948537, 4294948585, 4294948633, 4294948682, 4294948730, 4294948778, 4294948826, 4294948875, 4294948923, 4294948971, 4294949019, 4294949068, 4294949116, 4294949164, 4294949212, 4294949261, 4294949309, 4294949357, 4294949406, 4294949454, 4294949503, 4294949551, 4294949599, 4294949648, 4294949696, 4294949745, 4294949793, 4294949841, 4294949890, 4294949938, 4294949987, 4294950035, 4294950084, 4294950132, 4294950181, 4294950229, 4294950278, 4294950326, 4294950375, 4294950424, 4294950472, 4294950521, 4294950569, 4294950618, 4294950667, 4294950715, 4294950764, 4294950812, 4294950861, 4294950910, 4294950958, 4294951007, 4294951056, 4294951105, 4294951153, 4294951202, 4294951251, 4294951299, 4294951348, 4294951397, 4294951446, 4294951494, 4294951543, 4294951592, 4294951641, 4294951690, 4294951739, 4294951787, 4294951836, 4294951885, 4294951934, 4294951983, 4294952032, 4294952081, 4294952129, 4294952178, 4294952227, 4294952276, 4294952325, 4294952374, 4294952423, 4294952472, 4294952521, 4294952570, 4294952619, 4294952668, 4294952717, 4294952766, 4294952815, 4294952864, 4294952913, 4294952962, 4294953011, 4294953060, 4294953109, 4294953158, 4294953207, 4294953256, 4294953306, 4294953355, 4294953404, 4294953453, 4294953502, 4294953551, 4294953600, 4294953649, 4294953699, 4294953748, 4294953797, 4294953846, 4294953895, 4294953945, 4294953994, 4294954043, 4294954092, 4294954142, 4294954191, 4294954240, 4294954289, 4294954339, 4294954388, 4294954437, 4294954486, 4294954536, 4294954585, 4294954634, 4294954684, 4294954733, 4294954782, 4294954832, 4294954881, 4294954930, 4294954980, 4294955029, 4294955079, 4294955128, 4294955177, 4294955227, 4294955276, 4294955326, 4294955375, 4294955424, 4294955474, 4294955523, 4294955573, 4294955622, 4294955672, 4294955721, 4294955771, 4294955820, 4294955870, 4294955919, 4294955969, 4294956018, 4294956068, 4294956117, 4294956167, 4294956216, 4294956266, 4294956315, 4294956365, 4294956414, 4294956464, 4294956514, 4294956563, 4294956613, 4294956662, 4294956712, 4294956762, 4294956811, 4294956861, 4294956910, 4294956960, 4294957010, 4294957059, 4294957109, 4294957159, 4294957208, 4294957258, 4294957308, 4294957357, 4294957407, 4294957457, 4294957506, 4294957556, 4294957606, 4294957656, 4294957705, 4294957755, 4294957805, 4294957854, 4294957904, 4294957954, 4294958004, 4294958053, 4294958103, 4294958153, 4294958203, 4294958253, 4294958302, 4294958352, 4294958402, 4294958452, 4294958502, 4294958551, 4294958601, 4294958651, 4294958701, 4294958751, 4294958800, 4294958850, 4294958900, 4294958950, 4294959000, 4294959050, 4294959100, 4294959149, 4294959199, 4294959249, 4294959299, 4294959349, 4294959399, 4294959449, 4294959499, 4294959549, 4294959599, 4294959648, 4294959698, 4294959748, 4294959798, 4294959848, 4294959898, 4294959948, 4294959998, 4294960048, 4294960098, 4294960148, 4294960198, 4294960248, 4294960298, 4294960348, 4294960398, 4294960448, 4294960498, 4294960548, 4294960598, 4294960648, 4294960698, 4294960748, 4294960798, 4294960848, 4294960898, 4294960948, 4294960998, 4294961048, 4294961098, 4294961148, 4294961198, 4294961248, 4294961298, 4294961348, 4294961398, 4294961448, 4294961498, 4294961549, 4294961599, 4294961649, 4294961699, 4294961749, 4294961799, 4294961849, 4294961899, 4294961949, 4294961999, 4294962049, 4294962099, 4294962150, 4294962200, 4294962250, 4294962300, 4294962350, 4294962400, 4294962450, 4294962500, 4294962551, 4294962601, 4294962651, 4294962701, 4294962751, 4294962801, 4294962851, 4294962902, 4294962952, 4294963002, 4294963052, 4294963102, 4294963152, 4294963203, 4294963253, 4294963303, 4294963353, 4294963403, 4294963453, 4294963504, 4294963554, 4294963604, 4294963654, 4294963704, 4294963755, 4294963805, 4294963855, 4294963905, 4294963955, 4294964005, 4294964056, 4294964106, 4294964156, 4294964206, 4294964257, 4294964307, 4294964357, 4294964407, 4294964457, 4294964508, 4294964558, 4294964608, 4294964658, 4294964708, 4294964759, 4294964809, 4294964859, 4294964909, 4294964960, 4294965010, 4294965060, 4294965110, 4294965161, 4294965211, 4294965261, 4294965311, 4294965362, 4294965412, 4294965462, 4294965512, 4294965563, 4294965613, 4294965663, 4294965713, 4294965764, 4294965814, 4294965864, 4294965914, 4294965965, 4294966015, 4294966065, 4294966115, 4294966166, 4294966216, 4294966266, 4294966316, 4294966367, 4294966417, 4294966467, 4294966517, 4294966568, 4294966618, 4294966668, 4294966718, 4294966769, 4294966819, 4294966869, 4294966920, 4294966970, 4294967020, 4294967070, 4294967121, 4294967171, 4294967221, 4294967271, - 25, 75, 125, 175, 226, 276, 326, 376, 427, 477, 527, 578, 628, 678, 728, 779, 829, 879, 929, 980, 1030, 1080, 1130, 1181, 1231, 1281, 1331, 1382, 1432, 1482, 1532, 1583, 1633, 1683, 1733, 1784, 1834, 1884, 1934, 1985, 2035, 2085, 2135, 2186, 2236, 2286, 2336, 2387, 2437, 2487, 2537, 2587, 2638, 2688, 2738, 2788, 2839, 2889, 2939, 2989, 3039, 3090, 3140, 3190, 3240, 3291, 3341, 3391, 3441, 3491, 3542, 3592, 3642, 3692, 3742, 3792, 3843, 3893, 3943, 3993, 4043, 4093, 4144, 4194, 4244, 4294, 4344, 4394, 4445, 4495, 4545, 4595, 4645, 4695, 4745, 4796, 4846, 4896, 4946, 4996, 5046, 5096, 5146, 5197, 5247, 5297, 5347, 5397, 5447, 5497, 5547, 5597, 5647, 5697, 5747, 5798, 5848, 5898, 5948, 5998, 6048, 6098, 6148, 6198, 6248, 6298, 6348, 6398, 6448, 6498, 6548, 6598, 6648, 6698, 6748, 6798, 6848, 6898, 6948, 6998, 7048, 7098, 7148, 7198, 7248, 7298, 7348, 7398, 7448, 7498, 7548, 7598, 7648, 7697, 7747, 7797, 7847, 7897, 7947, 7997, 8047, 8097, 8147, 8196, 8246, 8296, 8346, 8396, 8446, 8496, 8545, 8595, 8645, 8695, 8745, 8794, 8844, 8894, 8944, 8994, 9043, 9093, 9143, 9193, 9243, 9292, 9342, 9392, 9442, 9491, 9541, 9591, 9640, 9690, 9740, 9790, 9839, 9889, 9939, 9988, 10038, 10088, 10137, 10187, 10237, 10286, 10336, 10386, 10435, 10485, 10534, 10584, 10634, 10683, 10733, 10782, 10832, 10882, 10931, 10981, 11030, 11080, 11129, 11179, 11228, 11278, 11327, 11377, 11426, 11476, 11525, 11575, 11624, 11674, 11723, 11773, 11822, 11872, 11921, 11970, 12020, 12069, 12119, 12168, 12218, 12267, 12316, 12366, 12415, 12464, 12514, 12563, 12612, 12662, 12711, 12760, 12810, 12859, 12908, 12957, 13007, 13056, 13105, 13154, 13204, 13253, 13302, 13351, 13401, 13450, 13499, 13548, 13597, 13647, 13696, 13745, 13794, 13843, 13892, 13941, 13990, 14040, 14089, 14138, 14187, 14236, 14285, 14334, 14383, 14432, 14481, 14530, 14579, 14628, 14677, 14726, 14775, 14824, 14873, 14922, 14971, 15020, 15069, 15118, 15167, 15215, 15264, 15313, 15362, 15411, 15460, 15509, 15557, 15606, 15655, 15704, 15753, 15802, 15850, 15899, 15948, 15997, 16045, 16094, 16143, 16191, 16240, 16289, 16338, 16386, 16435, 16484, 16532, 16581, 16629, 16678, 16727, 16775, 16824, 16872, 16921, 16970, 17018, 17067, 17115, 17164, 17212, 17261, 17309, 17358, 17406, 17455, 17503, 17551, 17600, 17648, 17697, 17745, 17793, 17842, 17890, 17939, 17987, 18035, 18084, 18132, 18180, 18228, 18277, 18325, 18373, 18421, 18470, 18518, 18566, 18614, 18663, 18711, 18759, 18807, 18855, 18903, 18951, 19000, 19048, 19096, 19144, 19192, 19240, 19288, 19336, 19384, 19432, 19480, 19528, 19576, 19624, 19672, 19720, 19768, 19816, 19864, 19912, 19959, 20007, 20055, 20103, 20151, 20199, 20246, 20294, 20342, 20390, 20438, 20485, 20533, 20581, 20629, 20676, 20724, 20772, 20819, 20867, 20915, 20962, 21010, 21057, 21105, 21153, 21200, 21248, 21295, 21343, 21390, 21438, 21485, 21533, 21580, 21628, 21675, 21723, 21770, 21817, 21865, 21912, 21960, 22007, 22054, 22102, 22149, 22196, 22243, 22291, 22338, 22385, 22432, 22480, 22527, 22574, 22621, 22668, 22716, 22763, 22810, 22857, 22904, 22951, 22998, 23045, 23092, 23139, 23186, 23233, 23280, 23327, 23374, 23421, 23468, 23515, 23562, 23609, 23656, 23703, 23750, 23796, 23843, 23890, 23937, 23984, 24030, 24077, 24124, 24171, 24217, 24264, 24311, 24357, 24404, 24451, 24497, 24544, 24591, 24637, 24684, 24730, 24777, 24823, 24870, 24916, 24963, 25009, 25056, 25102, 25149, 25195, 25241, 25288, 25334, 25381, 25427, 25473, 25520, 25566, 25612, 25658, 25705, 25751, 25797, 25843, 25889, 25936, 25982, 26028, 26074, 26120, 26166, 26212, 26258, 26304, 26350, 26396, 26442, 26488, 26534, 26580, 26626, 26672, 26718, 26764, 26810, 26856, 26902, 26947, 26993, 27039, 27085, 27131, 27176, 27222, 27268, 27313, 27359, 27405, 27450, 27496, 27542, 27587, 27633, 27678, 27724, 27770, 27815, 27861, 27906, 27952, 27997, 28042, 28088, 28133, 28179, 28224, 28269, 28315, 28360, 28405, 28451, 28496, 28541, 28586, 28632, 28677, 28722, 28767, 28812, 28858, 28903, 28948, 28993, 29038, 29083, 29128, 29173, 29218, 29263, 29308, 29353, 29398, 29443, 29488, 29533, 29577, 29622, 29667, 29712, 29757, 29801, 29846, 29891, 29936, 29980, 30025, 30070, 30114, 30159, 30204, 30248, 30293, 30337, 30382, 30427, 30471, 30516, 30560, 30604, 30649, 30693, 30738, 30782, 30826, 30871, 30915, 30959, 31004, 31048, 31092, 31136, 31181, 31225, 31269, 31313, 31357, 31402, 31446, 31490, 31534, 31578, 31622, 31666, 31710, 31754, 31798, 31842, 31886, 31930, 31974, 32017, 32061, 32105, 32149, 32193, 32236, 32280, 32324, 32368, 32411, 32455, 32499, 32542, 32586, 32630, 32673, 32717, 32760, 32804, 32847, 32891, 32934, 32978, 33021, 33065, 33108, 33151, 33195, 33238, 33281, 33325, 33368, 33411, 33454, 33498, 33541, 33584, 33627, 33670, 33713, 33756, 33799, 33843, 33886, 33929, 33972, 34015, 34057, 34100, 34143, 34186, 34229, 34272, 34315, 34358, 34400, 34443, 34486, 34529, 34571, 34614, 34657, 34699, 34742, 34785, 34827, 34870, 34912, 34955, 34997, 35040, 35082, 35125, 35167, 35210, 35252, 35294, 35337, 35379, 35421, 35464, 35506, 35548, 35590, 35633, 35675, 35717, 35759, 35801, 35843, 35885, 35927, 35969, 36011, 36053, 36095, 36137, 36179, 36221, 36263, 36305, 36347, 36388, 36430, 36472, 36514, 36556, 36597, 36639, 36681, 36722, 36764, 36805, 36847, 36889, 36930, 36972, 37013, 37055, 37096, 37137, 37179, 37220, 37262, 37303, 37344, 37386, 37427, 37468, 37509, 37551, 37592, 37633, 37674, 37715, 37756, 37797, 37838, 37879, 37920, 37961, 38002, 38043, 38084, 38125, 38166, 38207, 38248, 38288, 38329, 38370, 38411, 38451, 38492, 38533, 38573, 38614, 38655, 38695, 38736, 38776, 38817, 38857, 38898, 38938, 38979, 39019, 39059, 39100, 39140, 39180, 39221, 39261, 39301, 39341, 39382, 39422, 39462, 39502, 39542, 39582, 39622, 39662, 39702, 39742, 39782, 39822, 39862, 39902, 39942, 39982, 40021, 40061, 40101, 40141, 40180, 40220, 40260, 40299, 40339, 40379, 40418, 40458, 40497, 40537, 40576, 40616, 40655, 40695, 40734, 40773, 40813, 40852, 40891, 40931, 40970, 41009, 41048, 41087, 41127, 41166, 41205, 41244, 41283, 41322, 41361, 41400, 41439, 41478, 41517, 41556, 41595, 41633, 41672, 41711, 41750, 41788, 41827, 41866, 41904, 41943, 41982, 42020, 42059, 42097, 42136, 42174, 42213, 42251, 42290, 42328, 42366, 42405, 42443, 42481, 42520, 42558, 42596, 42634, 42672, 42711, 42749, 42787, 42825, 42863, 42901, 42939, 42977, 43015, 43053, 43091, 43128, 43166, 43204, 43242, 43280, 43317, 43355, 43393, 43430, 43468, 43506, 43543, 43581, 43618, 43656, 43693, 43731, 43768, 43806, 43843, 43880, 43918, 43955, 43992, 44029, 44067, 44104, 44141, 44178, 44215, 44252, 44289, 44326, 44363, 44400, 44437, 44474, 44511, 44548, 44585, 44622, 44659, 44695, 44732, 44769, 44806, 44842, 44879, 44915, 44952, 44989, 45025, 45062, 45098, 45135, 45171, 45207, 45244, 45280, 45316, 45353, 45389, 45425, 45462, 45498, 45534, 45570, 45606, 45642, 45678, 45714, 45750, 45786, 45822, 45858, 45894, 45930, 45966, 46002, 46037, 46073, 46109, 46145, 46180, 46216, 46252, 46287, 46323, 46358, 46394, 46429, 46465, 46500, 46536, 46571, 46606, 46642, 46677, 46712, 46747, 46783, 46818, 46853, 46888, 46923, 46958, 46993, 47028, 47063, 47098, 47133, 47168, 47203, 47238, 47273, 47308, 47342, 47377, 47412, 47446, 47481, 47516, 47550, 47585, 47619, 47654, 47688, 47723, 47757, 47792, 47826, 47861, 47895, 47929, 47963, 47998, 48032, 48066, 48100, 48134, 48168, 48202, 48237, 48271, 48305, 48338, 48372, 48406, 48440, 48474, 48508, 48542, 48575, 48609, 48643, 48676, 48710, 48744, 48777, 48811, 48844, 48878, 48911, 48945, 48978, 49012, 49045, 49078, 49112, 49145, 49178, 49211, 49244, 49278, 49311, 49344, 49377, 49410, 49443, 49476, 49509, 49542, 49575, 49608, 49640, 49673, 49706, 49739, 49771, 49804, 49837, 49869, 49902, 49935, 49967, 50000, 50032, 50064, 50097, 50129, 50162, 50194, 50226, 50259, 50291, 50323, 50355, 50387, 50420, 50452, 50484, 50516, 50548, 50580, 50612, 50644, 50675, 50707, 50739, 50771, 50803, 50834, 50866, 50898, 50929, 50961, 50993, 51024, 51056, 51087, 51119, 51150, 51182, 51213, 51244, 51276, 51307, 51338, 51369, 51401, 51432, 51463, 51494, 51525, 51556, 51587, 51618, 51649, 51680, 51711, 51742, 51773, 51803, 51834, 51865, 51896, 51926, 51957, 51988, 52018, 52049, 52079, 52110, 52140, 52171, 52201, 52231, 52262, 52292, 52322, 52353, 52383, 52413, 52443, 52473, 52503, 52534, 52564, 52594, 52624, 52653, 52683, 52713, 52743, 52773, 52803, 52832, 52862, 52892, 52922, 52951, 52981, 53010, 53040, 53069, 53099, 53128, 53158, 53187, 53216, 53246, 53275, 53304, 53334, 53363, 53392, 53421, 53450, 53479, 53508, 53537, 53566, 53595, 53624, 53653, 53682, 53711, 53739, 53768, 53797, 53826, 53854, 53883, 53912, 53940, 53969, 53997, 54026, 54054, 54082, 54111, 54139, 54167, 54196, 54224, 54252, 54280, 54309, 54337, 54365, 54393, 54421, 54449, 54477, 54505, 54533, 54560, 54588, 54616, 54644, 54672, 54699, 54727, 54755, 54782, 54810, 54837, 54865, 54892, 54920, 54947, 54974, 55002, 55029, 55056, 55084, 55111, 55138, 55165, 55192, 55219, 55246, 55274, 55300, 55327, 55354, 55381, 55408, 55435, 55462, 55489, 55515, 55542, 55569, 55595, 55622, 55648, 55675, 55701, 55728, 55754, 55781, 55807, 55833, 55860, 55886, 55912, 55938, 55965, 55991, 56017, 56043, 56069, 56095, 56121, 56147, 56173, 56199, 56225, 56250, 56276, 56302, 56328, 56353, 56379, 56404, 56430, 56456, 56481, 56507, 56532, 56557, 56583, 56608, 56633, 56659, 56684, 56709, 56734, 56760, 56785, 56810, 56835, 56860, 56885, 56910, 56935, 56959, 56984, 57009, 57034, 57059, 57083, 57108, 57133, 57157, 57182, 57206, 57231, 57255, 57280, 57304, 57329, 57353, 57377, 57402, 57426, 57450, 57474, 57498, 57522, 57546, 57570, 57594, 57618, 57642, 57666, 57690, 57714, 57738, 57762, 57785, 57809, 57833, 57856, 57880, 57903, 57927, 57950, 57974, 57997, 58021, 58044, 58067, 58091, 58114, 58137, 58160, 58183, 58207, 58230, 58253, 58276, 58299, 58322, 58345, 58367, 58390, 58413, 58436, 58459, 58481, 58504, 58527, 58549, 58572, 58594, 58617, 58639, 58662, 58684, 58706, 58729, 58751, 58773, 58795, 58818, 58840, 58862, 58884, 58906, 58928, 58950, 58972, 58994, 59016, 59038, 59059, 59081, 59103, 59125, 59146, 59168, 59190, 59211, 59233, 59254, 59276, 59297, 59318, 59340, 59361, 59382, 59404, 59425, 59446, 59467, 59488, 59509, 59530, 59551, 59572, 59593, 59614, 59635, 59656, 59677, 59697, 59718, 59739, 59759, 59780, 59801, 59821, 59842, 59862, 59883, 59903, 59923, 59944, 59964, 59984, 60004, 60025, 60045, 60065, 60085, 60105, 60125, 60145, 60165, 60185, 60205, 60225, 60244, 60264, 60284, 60304, 60323, 60343, 60363, 60382, 60402, 60421, 60441, 60460, 60479, 60499, 60518, 60537, 60556, 60576, 60595, 60614, 60633, 60652, 60671, 60690, 60709, 60728, 60747, 60766, 60785, 60803, 60822, 60841, 60859, 60878, 60897, 60915, 60934, 60952, 60971, 60989, 61007, 61026, 61044, 61062, 61081, 61099, 61117, 61135, 61153, 61171, 61189, 61207, 61225, 61243, 61261, 61279, 61297, 61314, 61332, 61350, 61367, 61385, 61403, 61420, 61438, 61455, 61473, 61490, 61507, 61525, 61542, 61559, 61577, 61594, 61611, 61628, 61645, 61662, 61679, 61696, 61713, 61730, 61747, 61764, 61780, 61797, 61814, 61831, 61847, 61864, 61880, 61897, 61913, 61930, 61946, 61963, 61979, 61995, 62012, 62028, 62044, 62060, 62076, 62092, 62108, 62125, 62141, 62156, 62172, 62188, 62204, 62220, 62236, 62251, 62267, 62283, 62298, 62314, 62329, 62345, 62360, 62376, 62391, 62407, 62422, 62437, 62453, 62468, 62483, 62498, 62513, 62528, 62543, 62558, 62573, 62588, 62603, 62618, 62633, 62648, 62662, 62677, 62692, 62706, 62721, 62735, 62750, 62764, 62779, 62793, 62808, 62822, 62836, 62850, 62865, 62879, 62893, 62907, 62921, 62935, 62949, 62963, 62977, 62991, 63005, 63019, 63032, 63046, 63060, 63074, 63087, 63101, 63114, 63128, 63141, 63155, 63168, 63182, 63195, 63208, 63221, 63235, 63248, 63261, 63274, 63287, 63300, 63313, 63326, 63339, 63352, 63365, 63378, 63390, 63403, 63416, 63429, 63441, 63454, 63466, 63479, 63491, 63504, 63516, 63528, 63541, 63553, 63565, 63578, 63590, 63602, 63614, 63626, 63638, 63650, 63662, 63674, 63686, 63698, 63709, 63721, 63733, 63745, 63756, 63768, 63779, 63791, 63803, 63814, 63825, 63837, 63848, 63859, 63871, 63882, 63893, 63904, 63915, 63927, 63938, 63949, 63960, 63971, 63981, 63992, 64003, 64014, 64025, 64035, 64046, 64057, 64067, 64078, 64088, 64099, 64109, 64120, 64130, 64140, 64151, 64161, 64171, 64181, 64192, 64202, 64212, 64222, 64232, 64242, 64252, 64261, 64271, 64281, 64291, 64301, 64310, 64320, 64330, 64339, 64349, 64358, 64368, 64377, 64387, 64396, 64405, 64414, 64424, 64433, 64442, 64451, 64460, 64469, 64478, 64487, 64496, 64505, 64514, 64523, 64532, 64540, 64549, 64558, 64566, 64575, 64584, 64592, 64600, 64609, 64617, 64626, 64634, 64642, 64651, 64659, 64667, 64675, 64683, 64691, 64699, 64707, 64715, 64723, 64731, 64739, 64747, 64754, 64762, 64770, 64777, 64785, 64793, 64800, 64808, 64815, 64822, 64830, 64837, 64844, 64852, 64859, 64866, 64873, 64880, 64887, 64895, 64902, 64908, 64915, 64922, 64929, 64936, 64943, 64949, 64956, 64963, 64969, 64976, 64982, 64989, 64995, 65002, 65008, 65015, 65021, 65027, 65033, 65040, 65046, 65052, 65058, 65064, 65070, 65076, 65082, 65088, 65094, 65099, 65105, 65111, 65117, 65122, 65128, 65133, 65139, 65144, 65150, 65155, 65161, 65166, 65171, 65177, 65182, 65187, 65192, 65197, 65202, 65207, 65212, 65217, 65222, 65227, 65232, 65237, 65242, 65246, 65251, 65256, 65260, 65265, 65270, 65274, 65279, 65283, 65287, 65292, 65296, 65300, 65305, 65309, 65313, 65317, 65321, 65325, 65329, 65333, 65337, 65341, 65345, 65349, 65352, 65356, 65360, 65363, 65367, 65371, 65374, 65378, 65381, 65385, 65388, 65391, 65395, 65398, 65401, 65404, 65408, 65411, 65414, 65417, 65420, 65423, 65426, 65429, 65431, 65434, 65437, 65440, 65442, 65445, 65448, 65450, 65453, 65455, 65458, 65460, 65463, 65465, 65467, 65470, 65472, 65474, 65476, 65478, 65480, 65482, 65484, 65486, 65488, 65490, 65492, 65494, 65496, 65497, 65499, 65501, 65502, 65504, 65505, 65507, 65508, 65510, 65511, 65513, 65514, 65515, 65516, 65518, 65519, 65520, 65521, 65522, 65523, 65524, 65525, 65526, 65527, 65527, 65528, 65529, 65530, 65530, 65531, 65531, 65532, 65532, 65533, 65533, 65534, 65534, 65534, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 25,75,125,175,226,276,326,376, + 427,477,527,578,628,678,728,779, + 829,879,929,980,1030,1080,1130,1181, + 1231,1281,1331,1382,1432,1482,1532,1583, + 1633,1683,1733,1784,1834,1884,1934,1985, + 2035,2085,2135,2186,2236,2286,2336,2387, + 2437,2487,2537,2587,2638,2688,2738,2788, + 2839,2889,2939,2989,3039,3090,3140,3190, + 3240,3291,3341,3391,3441,3491,3541,3592, + 3642,3692,3742,3792,3843,3893,3943,3993, + 4043,4093,4144,4194,4244,4294,4344,4394, + 4445,4495,4545,4595,4645,4695,4745,4796, + 4846,4896,4946,4996,5046,5096,5146,5197, + 5247,5297,5347,5397,5447,5497,5547,5597, + 5647,5697,5748,5798,5848,5898,5948,5998, + 6048,6098,6148,6198,6248,6298,6348,6398, + 6448,6498,6548,6598,6648,6698,6748,6798, + 6848,6898,6948,6998,7048,7098,7148,7198, + 7248,7298,7348,7398,7448,7498,7548,7598, + 7648,7697,7747,7797,7847,7897,7947,7997, + 8047,8097,8147,8196,8246,8296,8346,8396, + 8446,8496,8545,8595,8645,8695,8745,8794, + 8844,8894,8944,8994,9043,9093,9143,9193, + 9243,9292,9342,9392,9442,9491,9541,9591, + 9640,9690,9740,9790,9839,9889,9939,9988, + 10038,10088,10137,10187,10237,10286,10336,10386, + 10435,10485,10534,10584,10634,10683,10733,10782, + 10832,10882,10931,10981,11030,11080,11129,11179, + 11228,11278,11327,11377,11426,11476,11525,11575, + 11624,11674,11723,11773,11822,11872,11921,11970, + 12020,12069,12119,12168,12218,12267,12316,12366, + 12415,12464,12514,12563,12612,12662,12711,12760, + 12810,12859,12908,12957,13007,13056,13105,13154, + 13204,13253,13302,13351,13401,13450,13499,13548, + 13597,13647,13696,13745,13794,13843,13892,13941, + 13990,14040,14089,14138,14187,14236,14285,14334, + 14383,14432,14481,14530,14579,14628,14677,14726, + 14775,14824,14873,14922,14971,15020,15069,15118, + 15167,15215,15264,15313,15362,15411,15460,15509, + 15557,15606,15655,15704,15753,15802,15850,15899, + 15948,15997,16045,16094,16143,16191,16240,16289, + 16338,16386,16435,16484,16532,16581,16629,16678, + 16727,16775,16824,16872,16921,16970,17018,17067, + 17115,17164,17212,17261,17309,17358,17406,17455, + 17503,17551,17600,17648,17697,17745,17793,17842, + 17890,17939,17987,18035,18084,18132,18180,18228, + 18277,18325,18373,18421,18470,18518,18566,18614, + 18663,18711,18759,18807,18855,18903,18951,19000, + 19048,19096,19144,19192,19240,19288,19336,19384, + 19432,19480,19528,19576,19624,19672,19720,19768, + 19816,19864,19912,19959,20007,20055,20103,20151, + 20199,20246,20294,20342,20390,20438,20485,20533, + 20581,20629,20676,20724,20772,20819,20867,20915, + 20962,21010,21057,21105,21153,21200,21248,21295, + 21343,21390,21438,21485,21533,21580,21628,21675, + 21723,21770,21817,21865,21912,21960,22007,22054, + 22102,22149,22196,22243,22291,22338,22385,22433, + 22480,22527,22574,22621,22668,22716,22763,22810, + 22857,22904,22951,22998,23045,23092,23139,23186, + 23233,23280,23327,23374,23421,23468,23515,23562, + 23609,23656,23703,23750,23796,23843,23890,23937, + 23984,24030,24077,24124,24171,24217,24264,24311, + 24357,24404,24451,24497,24544,24591,24637,24684, + 24730,24777,24823,24870,24916,24963,25009,25056, + 25102,25149,25195,25241,25288,25334,25381,25427, + 25473,25520,25566,25612,25658,25705,25751,25797, + 25843,25889,25936,25982,26028,26074,26120,26166, + 26212,26258,26304,26350,26396,26442,26488,26534, + 26580,26626,26672,26718,26764,26810,26856,26902, + 26947,26993,27039,27085,27131,27176,27222,27268, + 27313,27359,27405,27450,27496,27542,27587,27633, + 27678,27724,27770,27815,27861,27906,27952,27997, + 28042,28088,28133,28179,28224,28269,28315,28360, + 28405,28451,28496,28541,28586,28632,28677,28722, + 28767,28812,28858,28903,28948,28993,29038,29083, + 29128,29173,29218,29263,29308,29353,29398,29443, + 29488,29533,29577,29622,29667,29712,29757,29801, + 29846,29891,29936,29980,30025,30070,30114,30159, + 30204,30248,30293,30337,30382,30426,30471,30515, + 30560,30604,30649,30693,30738,30782,30826,30871, + 30915,30959,31004,31048,31092,31136,31181,31225, + 31269,31313,31357,31402,31446,31490,31534,31578, + 31622,31666,31710,31754,31798,31842,31886,31930, + 31974,32017,32061,32105,32149,32193,32236,32280, + 32324,32368,32411,32455,32499,32542,32586,32630, + 32673,32717,32760,32804,32847,32891,32934,32978, + 33021,33065,33108,33151,33195,33238,33281,33325, + 33368,33411,33454,33498,33541,33584,33627,33670, + 33713,33756,33799,33843,33886,33929,33972,34015, + 34057,34100,34143,34186,34229,34272,34315,34358, + 34400,34443,34486,34529,34571,34614,34657,34699, + 34742,34785,34827,34870,34912,34955,34997,35040, + 35082,35125,35167,35210,35252,35294,35337,35379, + 35421,35464,35506,35548,35590,35633,35675,35717, + 35759,35801,35843,35885,35927,35969,36011,36053, + 36095,36137,36179,36221,36263,36305,36347,36388, + 36430,36472,36514,36555,36597,36639,36681,36722, + 36764,36805,36847,36889,36930,36972,37013,37055, + 37096,37137,37179,37220,37262,37303,37344,37386, + 37427,37468,37509,37551,37592,37633,37674,37715, + 37756,37797,37838,37879,37920,37961,38002,38043, + 38084,38125,38166,38207,38248,38288,38329,38370, + 38411,38451,38492,38533,38573,38614,38655,38695, + 38736,38776,38817,38857,38898,38938,38979,39019, + 39059,39100,39140,39180,39221,39261,39301,39341, + 39382,39422,39462,39502,39542,39582,39622,39662, + 39702,39742,39782,39822,39862,39902,39942,39982, + 40021,40061,40101,40141,40180,40220,40260,40300, + 40339,40379,40418,40458,40497,40537,40576,40616, + 40655,40695,40734,40773,40813,40852,40891,40931, + 40970,41009,41048,41087,41127,41166,41205,41244, + 41283,41322,41361,41400,41439,41478,41517,41556, + 41595,41633,41672,41711,41750,41788,41827,41866, + 41904,41943,41982,42020,42059,42097,42136,42174, + 42213,42251,42290,42328,42366,42405,42443,42481, + 42520,42558,42596,42634,42672,42711,42749,42787, + 42825,42863,42901,42939,42977,43015,43053,43091, + 43128,43166,43204,43242,43280,43317,43355,43393, + 43430,43468,43506,43543,43581,43618,43656,43693, + 43731,43768,43806,43843,43880,43918,43955,43992, + 44029,44067,44104,44141,44178,44215,44252,44289, + 44326,44363,44400,44437,44474,44511,44548,44585, + 44622,44659,44695,44732,44769,44806,44842,44879, + 44915,44952,44989,45025,45062,45098,45135,45171, + 45207,45244,45280,45316,45353,45389,45425,45462, + 45498,45534,45570,45606,45642,45678,45714,45750, + 45786,45822,45858,45894,45930,45966,46002,46037, + 46073,46109,46145,46180,46216,46252,46287,46323, + 46358,46394,46429,46465,46500,46536,46571,46606, + 46642,46677,46712,46747,46783,46818,46853,46888, + 46923,46958,46993,47028,47063,47098,47133,47168, + 47203,47238,47273,47308,47342,47377,47412,47446, + 47481,47516,47550,47585,47619,47654,47688,47723, + 47757,47792,47826,47860,47895,47929,47963,47998, + 48032,48066,48100,48134,48168,48202,48237,48271, + 48305,48338,48372,48406,48440,48474,48508,48542, + 48575,48609,48643,48676,48710,48744,48777,48811, + 48844,48878,48911,48945,48978,49012,49045,49078, + 49112,49145,49178,49211,49244,49278,49311,49344, + 49377,49410,49443,49476,49509,49542,49575,49608, + 49640,49673,49706,49739,49771,49804,49837,49869, + 49902,49935,49967,50000,50032,50065,50097,50129, + 50162,50194,50226,50259,50291,50323,50355,50387, + 50420,50452,50484,50516,50548,50580,50612,50644, + 50675,50707,50739,50771,50803,50834,50866,50898, + 50929,50961,50993,51024,51056,51087,51119,51150, + 51182,51213,51244,51276,51307,51338,51369,51401, + 51432,51463,51494,51525,51556,51587,51618,51649, + 51680,51711,51742,51773,51803,51834,51865,51896, + 51926,51957,51988,52018,52049,52079,52110,52140, + 52171,52201,52231,52262,52292,52322,52353,52383, + 52413,52443,52473,52503,52534,52564,52594,52624, + 52653,52683,52713,52743,52773,52803,52832,52862, + 52892,52922,52951,52981,53010,53040,53069,53099, + 53128,53158,53187,53216,53246,53275,53304,53334, + 53363,53392,53421,53450,53479,53508,53537,53566, + 53595,53624,53653,53682,53711,53739,53768,53797, + 53826,53854,53883,53911,53940,53969,53997,54026, + 54054,54082,54111,54139,54167,54196,54224,54252, + 54280,54308,54337,54365,54393,54421,54449,54477, + 54505,54533,54560,54588,54616,54644,54672,54699, + 54727,54755,54782,54810,54837,54865,54892,54920, + 54947,54974,55002,55029,55056,55084,55111,55138, + 55165,55192,55219,55246,55274,55300,55327,55354, + 55381,55408,55435,55462,55489,55515,55542,55569, + 55595,55622,55648,55675,55701,55728,55754,55781, + 55807,55833,55860,55886,55912,55938,55965,55991, + 56017,56043,56069,56095,56121,56147,56173,56199, + 56225,56250,56276,56302,56328,56353,56379,56404, + 56430,56456,56481,56507,56532,56557,56583,56608, + 56633,56659,56684,56709,56734,56760,56785,56810, + 56835,56860,56885,56910,56935,56959,56984,57009, + 57034,57059,57083,57108,57133,57157,57182,57206, + 57231,57255,57280,57304,57329,57353,57377,57402, + 57426,57450,57474,57498,57522,57546,57570,57594, + 57618,57642,57666,57690,57714,57738,57762,57785, + 57809,57833,57856,57880,57903,57927,57950,57974, + 57997,58021,58044,58067,58091,58114,58137,58160, + 58183,58207,58230,58253,58276,58299,58322,58345, + 58367,58390,58413,58436,58459,58481,58504,58527, + 58549,58572,58594,58617,58639,58662,58684,58706, + 58729,58751,58773,58795,58818,58840,58862,58884, + 58906,58928,58950,58972,58994,59016,59038,59059, + 59081,59103,59125,59146,59168,59190,59211,59233, + 59254,59276,59297,59318,59340,59361,59382,59404, + 59425,59446,59467,59488,59509,59530,59551,59572, + 59593,59614,59635,59656,59677,59697,59718,59739, + 59759,59780,59801,59821,59842,59862,59883,59903, + 59923,59944,59964,59984,60004,60025,60045,60065, + 60085,60105,60125,60145,60165,60185,60205,60225, + 60244,60264,60284,60304,60323,60343,60363,60382, + 60402,60421,60441,60460,60479,60499,60518,60537, + 60556,60576,60595,60614,60633,60652,60671,60690, + 60709,60728,60747,60766,60785,60803,60822,60841, + 60859,60878,60897,60915,60934,60952,60971,60989, + 61007,61026,61044,61062,61081,61099,61117,61135, + 61153,61171,61189,61207,61225,61243,61261,61279, + 61297,61314,61332,61350,61367,61385,61403,61420, + 61438,61455,61473,61490,61507,61525,61542,61559, + 61577,61594,61611,61628,61645,61662,61679,61696, + 61713,61730,61747,61764,61780,61797,61814,61831, + 61847,61864,61880,61897,61913,61930,61946,61963, + 61979,61995,62012,62028,62044,62060,62076,62092, + 62108,62125,62141,62156,62172,62188,62204,62220, + 62236,62251,62267,62283,62298,62314,62329,62345, + 62360,62376,62391,62407,62422,62437,62453,62468, + 62483,62498,62513,62528,62543,62558,62573,62588, + 62603,62618,62633,62648,62662,62677,62692,62706, + 62721,62735,62750,62764,62779,62793,62808,62822, + 62836,62850,62865,62879,62893,62907,62921,62935, + 62949,62963,62977,62991,63005,63019,63032,63046, + 63060,63074,63087,63101,63114,63128,63141,63155, + 63168,63182,63195,63208,63221,63235,63248,63261, + 63274,63287,63300,63313,63326,63339,63352,63365, + 63378,63390,63403,63416,63429,63441,63454,63466, + 63479,63491,63504,63516,63528,63541,63553,63565, + 63578,63590,63602,63614,63626,63638,63650,63662, + 63674,63686,63698,63709,63721,63733,63745,63756, + 63768,63779,63791,63803,63814,63825,63837,63848, + 63859,63871,63882,63893,63904,63915,63927,63938, + 63949,63960,63971,63981,63992,64003,64014,64025, + 64035,64046,64057,64067,64078,64088,64099,64109, + 64120,64130,64140,64151,64161,64171,64181,64192, + 64202,64212,64222,64232,64242,64252,64261,64271, + 64281,64291,64301,64310,64320,64330,64339,64349, + 64358,64368,64377,64387,64396,64405,64414,64424, + 64433,64442,64451,64460,64469,64478,64487,64496, + 64505,64514,64523,64532,64540,64549,64558,64566, + 64575,64584,64592,64601,64609,64617,64626,64634, + 64642,64651,64659,64667,64675,64683,64691,64699, + 64707,64715,64723,64731,64739,64747,64754,64762, + 64770,64777,64785,64793,64800,64808,64815,64822, + 64830,64837,64844,64852,64859,64866,64873,64880, + 64887,64895,64902,64908,64915,64922,64929,64936, + 64943,64949,64956,64963,64969,64976,64982,64989, + 64995,65002,65008,65015,65021,65027,65033,65040, + 65046,65052,65058,65064,65070,65076,65082,65088, + 65094,65099,65105,65111,65117,65122,65128,65133, + 65139,65144,65150,65155,65161,65166,65171,65177, + 65182,65187,65192,65197,65202,65207,65212,65217, + 65222,65227,65232,65237,65242,65246,65251,65256, + 65260,65265,65270,65274,65279,65283,65287,65292, + 65296,65300,65305,65309,65313,65317,65321,65325, + 65329,65333,65337,65341,65345,65349,65352,65356, + 65360,65363,65367,65371,65374,65378,65381,65385, + 65388,65391,65395,65398,65401,65404,65408,65411, + 65414,65417,65420,65423,65426,65429,65431,65434, + 65437,65440,65442,65445,65448,65450,65453,65455, + 65458,65460,65463,65465,65467,65470,65472,65474, + 65476,65478,65480,65482,65484,65486,65488,65490, + 65492,65494,65496,65497,65499,65501,65502,65504, + 65505,65507,65508,65510,65511,65513,65514,65515, + 65516,65518,65519,65520,65521,65522,65523,65524, + 65525,65526,65527,65527,65528,65529,65530,65530, + 65531,65531,65532,65532,65533,65533,65534,65534, + 65534,65535,65535,65535,65535,65535,65535,65535, + 65535,65535,65535,65535,65535,65535,65535,65534, + 65534,65534,65533,65533,65532,65532,65531,65531, + 65530,65530,65529,65528,65527,65527,65526,65525, + 65524,65523,65522,65521,65520,65519,65518,65516, + 65515,65514,65513,65511,65510,65508,65507,65505, + 65504,65502,65501,65499,65497,65496,65494,65492, + 65490,65488,65486,65484,65482,65480,65478,65476, + 65474,65472,65470,65467,65465,65463,65460,65458, + 65455,65453,65450,65448,65445,65442,65440,65437, + 65434,65431,65429,65426,65423,65420,65417,65414, + 65411,65408,65404,65401,65398,65395,65391,65388, + 65385,65381,65378,65374,65371,65367,65363,65360, + 65356,65352,65349,65345,65341,65337,65333,65329, + 65325,65321,65317,65313,65309,65305,65300,65296, + 65292,65287,65283,65279,65274,65270,65265,65260, + 65256,65251,65246,65242,65237,65232,65227,65222, + 65217,65212,65207,65202,65197,65192,65187,65182, + 65177,65171,65166,65161,65155,65150,65144,65139, + 65133,65128,65122,65117,65111,65105,65099,65094, + 65088,65082,65076,65070,65064,65058,65052,65046, + 65040,65033,65027,65021,65015,65008,65002,64995, + 64989,64982,64976,64969,64963,64956,64949,64943, + 64936,64929,64922,64915,64908,64902,64895,64887, + 64880,64873,64866,64859,64852,64844,64837,64830, + 64822,64815,64808,64800,64793,64785,64777,64770, + 64762,64754,64747,64739,64731,64723,64715,64707, + 64699,64691,64683,64675,64667,64659,64651,64642, + 64634,64626,64617,64609,64600,64592,64584,64575, + 64566,64558,64549,64540,64532,64523,64514,64505, + 64496,64487,64478,64469,64460,64451,64442,64433, + 64424,64414,64405,64396,64387,64377,64368,64358, + 64349,64339,64330,64320,64310,64301,64291,64281, + 64271,64261,64252,64242,64232,64222,64212,64202, + 64192,64181,64171,64161,64151,64140,64130,64120, + 64109,64099,64088,64078,64067,64057,64046,64035, + 64025,64014,64003,63992,63981,63971,63960,63949, + 63938,63927,63915,63904,63893,63882,63871,63859, + 63848,63837,63825,63814,63803,63791,63779,63768, + 63756,63745,63733,63721,63709,63698,63686,63674, + 63662,63650,63638,63626,63614,63602,63590,63578, + 63565,63553,63541,63528,63516,63504,63491,63479, + 63466,63454,63441,63429,63416,63403,63390,63378, + 63365,63352,63339,63326,63313,63300,63287,63274, + 63261,63248,63235,63221,63208,63195,63182,63168, + 63155,63141,63128,63114,63101,63087,63074,63060, + 63046,63032,63019,63005,62991,62977,62963,62949, + 62935,62921,62907,62893,62879,62865,62850,62836, + 62822,62808,62793,62779,62764,62750,62735,62721, + 62706,62692,62677,62662,62648,62633,62618,62603, + 62588,62573,62558,62543,62528,62513,62498,62483, + 62468,62453,62437,62422,62407,62391,62376,62360, + 62345,62329,62314,62298,62283,62267,62251,62236, + 62220,62204,62188,62172,62156,62141,62125,62108, + 62092,62076,62060,62044,62028,62012,61995,61979, + 61963,61946,61930,61913,61897,61880,61864,61847, + 61831,61814,61797,61780,61764,61747,61730,61713, + 61696,61679,61662,61645,61628,61611,61594,61577, + 61559,61542,61525,61507,61490,61473,61455,61438, + 61420,61403,61385,61367,61350,61332,61314,61297, + 61279,61261,61243,61225,61207,61189,61171,61153, + 61135,61117,61099,61081,61062,61044,61026,61007, + 60989,60971,60952,60934,60915,60897,60878,60859, + 60841,60822,60803,60785,60766,60747,60728,60709, + 60690,60671,60652,60633,60614,60595,60576,60556, + 60537,60518,60499,60479,60460,60441,60421,60402, + 60382,60363,60343,60323,60304,60284,60264,60244, + 60225,60205,60185,60165,60145,60125,60105,60085, + 60065,60045,60025,60004,59984,59964,59944,59923, + 59903,59883,59862,59842,59821,59801,59780,59759, + 59739,59718,59697,59677,59656,59635,59614,59593, + 59572,59551,59530,59509,59488,59467,59446,59425, + 59404,59382,59361,59340,59318,59297,59276,59254, + 59233,59211,59190,59168,59146,59125,59103,59081, + 59059,59038,59016,58994,58972,58950,58928,58906, + 58884,58862,58840,58818,58795,58773,58751,58729, + 58706,58684,58662,58639,58617,58594,58572,58549, + 58527,58504,58481,58459,58436,58413,58390,58367, + 58345,58322,58299,58276,58253,58230,58207,58183, + 58160,58137,58114,58091,58067,58044,58021,57997, + 57974,57950,57927,57903,57880,57856,57833,57809, + 57785,57762,57738,57714,57690,57666,57642,57618, + 57594,57570,57546,57522,57498,57474,57450,57426, + 57402,57377,57353,57329,57304,57280,57255,57231, + 57206,57182,57157,57133,57108,57083,57059,57034, + 57009,56984,56959,56935,56910,56885,56860,56835, + 56810,56785,56760,56734,56709,56684,56659,56633, + 56608,56583,56557,56532,56507,56481,56456,56430, + 56404,56379,56353,56328,56302,56276,56250,56225, + 56199,56173,56147,56121,56095,56069,56043,56017, + 55991,55965,55938,55912,55886,55860,55833,55807, + 55781,55754,55728,55701,55675,55648,55622,55595, + 55569,55542,55515,55489,55462,55435,55408,55381, + 55354,55327,55300,55274,55246,55219,55192,55165, + 55138,55111,55084,55056,55029,55002,54974,54947, + 54920,54892,54865,54837,54810,54782,54755,54727, + 54699,54672,54644,54616,54588,54560,54533,54505, + 54477,54449,54421,54393,54365,54337,54308,54280, + 54252,54224,54196,54167,54139,54111,54082,54054, + 54026,53997,53969,53940,53911,53883,53854,53826, + 53797,53768,53739,53711,53682,53653,53624,53595, + 53566,53537,53508,53479,53450,53421,53392,53363, + 53334,53304,53275,53246,53216,53187,53158,53128, + 53099,53069,53040,53010,52981,52951,52922,52892, + 52862,52832,52803,52773,52743,52713,52683,52653, + 52624,52594,52564,52534,52503,52473,52443,52413, + 52383,52353,52322,52292,52262,52231,52201,52171, + 52140,52110,52079,52049,52018,51988,51957,51926, + 51896,51865,51834,51803,51773,51742,51711,51680, + 51649,51618,51587,51556,51525,51494,51463,51432, + 51401,51369,51338,51307,51276,51244,51213,51182, + 51150,51119,51087,51056,51024,50993,50961,50929, + 50898,50866,50834,50803,50771,50739,50707,50675, + 50644,50612,50580,50548,50516,50484,50452,50420, + 50387,50355,50323,50291,50259,50226,50194,50162, + 50129,50097,50065,50032,50000,49967,49935,49902, + 49869,49837,49804,49771,49739,49706,49673,49640, + 49608,49575,49542,49509,49476,49443,49410,49377, + 49344,49311,49278,49244,49211,49178,49145,49112, + 49078,49045,49012,48978,48945,48911,48878,48844, + 48811,48777,48744,48710,48676,48643,48609,48575, + 48542,48508,48474,48440,48406,48372,48338,48304, + 48271,48237,48202,48168,48134,48100,48066,48032, + 47998,47963,47929,47895,47860,47826,47792,47757, + 47723,47688,47654,47619,47585,47550,47516,47481, + 47446,47412,47377,47342,47308,47273,47238,47203, + 47168,47133,47098,47063,47028,46993,46958,46923, + 46888,46853,46818,46783,46747,46712,46677,46642, + 46606,46571,46536,46500,46465,46429,46394,46358, + 46323,46287,46252,46216,46180,46145,46109,46073, + 46037,46002,45966,45930,45894,45858,45822,45786, + 45750,45714,45678,45642,45606,45570,45534,45498, + 45462,45425,45389,45353,45316,45280,45244,45207, + 45171,45135,45098,45062,45025,44989,44952,44915, + 44879,44842,44806,44769,44732,44695,44659,44622, + 44585,44548,44511,44474,44437,44400,44363,44326, + 44289,44252,44215,44178,44141,44104,44067,44029, + 43992,43955,43918,43880,43843,43806,43768,43731, + 43693,43656,43618,43581,43543,43506,43468,43430, + 43393,43355,43317,43280,43242,43204,43166,43128, + 43091,43053,43015,42977,42939,42901,42863,42825, + 42787,42749,42711,42672,42634,42596,42558,42520, + 42481,42443,42405,42366,42328,42290,42251,42213, + 42174,42136,42097,42059,42020,41982,41943,41904, + 41866,41827,41788,41750,41711,41672,41633,41595, + 41556,41517,41478,41439,41400,41361,41322,41283, + 41244,41205,41166,41127,41088,41048,41009,40970, + 40931,40891,40852,40813,40773,40734,40695,40655, + 40616,40576,40537,40497,40458,40418,40379,40339, + 40300,40260,40220,40180,40141,40101,40061,40021, + 39982,39942,39902,39862,39822,39782,39742,39702, + 39662,39622,39582,39542,39502,39462,39422,39382, + 39341,39301,39261,39221,39180,39140,39100,39059, + 39019,38979,38938,38898,38857,38817,38776,38736, + 38695,38655,38614,38573,38533,38492,38451,38411, + 38370,38329,38288,38248,38207,38166,38125,38084, + 38043,38002,37961,37920,37879,37838,37797,37756, + 37715,37674,37633,37592,37551,37509,37468,37427, + 37386,37344,37303,37262,37220,37179,37137,37096, + 37055,37013,36972,36930,36889,36847,36805,36764, + 36722,36681,36639,36597,36556,36514,36472,36430, + 36388,36347,36305,36263,36221,36179,36137,36095, + 36053,36011,35969,35927,35885,35843,35801,35759, + 35717,35675,35633,35590,35548,35506,35464,35421, + 35379,35337,35294,35252,35210,35167,35125,35082, + 35040,34997,34955,34912,34870,34827,34785,34742, + 34699,34657,34614,34571,34529,34486,34443,34400, + 34358,34315,34272,34229,34186,34143,34100,34057, + 34015,33972,33929,33886,33843,33799,33756,33713, + 33670,33627,33584,33541,33498,33454,33411,33368, + 33325,33281,33238,33195,33151,33108,33065,33021, + 32978,32934,32891,32847,32804,32760,32717,32673, + 32630,32586,32542,32499,32455,32411,32368,32324, + 32280,32236,32193,32149,32105,32061,32017,31974, + 31930,31886,31842,31798,31754,31710,31666,31622, + 31578,31534,31490,31446,31402,31357,31313,31269, + 31225,31181,31136,31092,31048,31004,30959,30915, + 30871,30826,30782,30738,30693,30649,30604,30560, + 30515,30471,30426,30382,30337,30293,30248,30204, + 30159,30114,30070,30025,29980,29936,29891,29846, + 29801,29757,29712,29667,29622,29577,29533,29488, + 29443,29398,29353,29308,29263,29218,29173,29128, + 29083,29038,28993,28948,28903,28858,28812,28767, + 28722,28677,28632,28586,28541,28496,28451,28405, + 28360,28315,28269,28224,28179,28133,28088,28042, + 27997,27952,27906,27861,27815,27770,27724,27678, + 27633,27587,27542,27496,27450,27405,27359,27313, + 27268,27222,27176,27131,27085,27039,26993,26947, + 26902,26856,26810,26764,26718,26672,26626,26580, + 26534,26488,26442,26396,26350,26304,26258,26212, + 26166,26120,26074,26028,25982,25936,25889,25843, + 25797,25751,25705,25658,25612,25566,25520,25473, + 25427,25381,25334,25288,25241,25195,25149,25102, + 25056,25009,24963,24916,24870,24823,24777,24730, + 24684,24637,24591,24544,24497,24451,24404,24357, + 24311,24264,24217,24171,24124,24077,24030,23984, + 23937,23890,23843,23796,23750,23703,23656,23609, + 23562,23515,23468,23421,23374,23327,23280,23233, + 23186,23139,23092,23045,22998,22951,22904,22857, + 22810,22763,22716,22668,22621,22574,22527,22480, + 22433,22385,22338,22291,22243,22196,22149,22102, + 22054,22007,21960,21912,21865,21817,21770,21723, + 21675,21628,21580,21533,21485,21438,21390,21343, + 21295,21248,21200,21153,21105,21057,21010,20962, + 20915,20867,20819,20772,20724,20676,20629,20581, + 20533,20485,20438,20390,20342,20294,20246,20199, + 20151,20103,20055,20007,19959,19912,19864,19816, + 19768,19720,19672,19624,19576,19528,19480,19432, + 19384,19336,19288,19240,19192,19144,19096,19048, + 19000,18951,18903,18855,18807,18759,18711,18663, + 18614,18566,18518,18470,18421,18373,18325,18277, + 18228,18180,18132,18084,18035,17987,17939,17890, + 17842,17793,17745,17697,17648,17600,17551,17503, + 17455,17406,17358,17309,17261,17212,17164,17115, + 17067,17018,16970,16921,16872,16824,16775,16727, + 16678,16629,16581,16532,16484,16435,16386,16338, + 16289,16240,16191,16143,16094,16045,15997,15948, + 15899,15850,15802,15753,15704,15655,15606,15557, + 15509,15460,15411,15362,15313,15264,15215,15167, + 15118,15069,15020,14971,14922,14873,14824,14775, + 14726,14677,14628,14579,14530,14481,14432,14383, + 14334,14285,14236,14187,14138,14089,14040,13990, + 13941,13892,13843,13794,13745,13696,13646,13597, + 13548,13499,13450,13401,13351,13302,13253,13204, + 13154,13105,13056,13007,12957,12908,12859,12810, + 12760,12711,12662,12612,12563,12514,12464,12415, + 12366,12316,12267,12218,12168,12119,12069,12020, + 11970,11921,11872,11822,11773,11723,11674,11624, + 11575,11525,11476,11426,11377,11327,11278,11228, + 11179,11129,11080,11030,10981,10931,10882,10832, + 10782,10733,10683,10634,10584,10534,10485,10435, + 10386,10336,10286,10237,10187,10137,10088,10038, + 9988,9939,9889,9839,9790,9740,9690,9640, + 9591,9541,9491,9442,9392,9342,9292,9243, + 9193,9143,9093,9043,8994,8944,8894,8844, + 8794,8745,8695,8645,8595,8545,8496,8446, + 8396,8346,8296,8246,8196,8147,8097,8047, + 7997,7947,7897,7847,7797,7747,7697,7648, + 7598,7548,7498,7448,7398,7348,7298,7248, + 7198,7148,7098,7048,6998,6948,6898,6848, + 6798,6748,6698,6648,6598,6548,6498,6448, + 6398,6348,6298,6248,6198,6148,6098,6048, + 5998,5948,5898,5848,5798,5748,5697,5647, + 5597,5547,5497,5447,5397,5347,5297,5247, + 5197,5146,5096,5046,4996,4946,4896,4846, + 4796,4745,4695,4645,4595,4545,4495,4445, + 4394,4344,4294,4244,4194,4144,4093,4043, + 3993,3943,3893,3843,3792,3742,3692,3642, + 3592,3541,3491,3441,3391,3341,3291,3240, + 3190,3140,3090,3039,2989,2939,2889,2839, + 2788,2738,2688,2638,2587,2537,2487,2437, + 2387,2336,2286,2236,2186,2135,2085,2035, + 1985,1934,1884,1834,1784,1733,1683,1633, + 1583,1532,1482,1432,1382,1331,1281,1231, + 1181,1130,1080,1030,980,929,879,829, + 779,728,678,628,578,527,477,427, + 376,326,276,226,175,125,75,25, + -25,-75,-125,-175,-226,-276,-326,-376, + -427,-477,-527,-578,-628,-678,-728,-779, + -829,-879,-929,-980,-1030,-1080,-1130,-1181, + -1231,-1281,-1331,-1382,-1432,-1482,-1532,-1583, + -1633,-1683,-1733,-1784,-1834,-1884,-1934,-1985, + -2035,-2085,-2135,-2186,-2236,-2286,-2336,-2387, + -2437,-2487,-2537,-2588,-2638,-2688,-2738,-2788, + -2839,-2889,-2939,-2989,-3039,-3090,-3140,-3190, + -3240,-3291,-3341,-3391,-3441,-3491,-3541,-3592, + -3642,-3692,-3742,-3792,-3843,-3893,-3943,-3993, + -4043,-4093,-4144,-4194,-4244,-4294,-4344,-4394, + -4445,-4495,-4545,-4595,-4645,-4695,-4745,-4796, + -4846,-4896,-4946,-4996,-5046,-5096,-5146,-5197, + -5247,-5297,-5347,-5397,-5447,-5497,-5547,-5597, + -5647,-5697,-5748,-5798,-5848,-5898,-5948,-5998, + -6048,-6098,-6148,-6198,-6248,-6298,-6348,-6398, + -6448,-6498,-6548,-6598,-6648,-6698,-6748,-6798, + -6848,-6898,-6948,-6998,-7048,-7098,-7148,-7198, + -7248,-7298,-7348,-7398,-7448,-7498,-7548,-7598, + -7648,-7697,-7747,-7797,-7847,-7897,-7947,-7997, + -8047,-8097,-8147,-8196,-8246,-8296,-8346,-8396, + -8446,-8496,-8545,-8595,-8645,-8695,-8745,-8794, + -8844,-8894,-8944,-8994,-9043,-9093,-9143,-9193, + -9243,-9292,-9342,-9392,-9442,-9491,-9541,-9591, + -9640,-9690,-9740,-9790,-9839,-9889,-9939,-9988, + -10038,-10088,-10137,-10187,-10237,-10286,-10336,-10386, + -10435,-10485,-10534,-10584,-10634,-10683,-10733,-10782, + -10832,-10882,-10931,-10981,-11030,-11080,-11129,-11179, + -11228,-11278,-11327,-11377,-11426,-11476,-11525,-11575, + -11624,-11674,-11723,-11773,-11822,-11872,-11921,-11970, + -12020,-12069,-12119,-12168,-12218,-12267,-12316,-12366, + -12415,-12464,-12514,-12563,-12612,-12662,-12711,-12760, + -12810,-12859,-12908,-12957,-13007,-13056,-13105,-13154, + -13204,-13253,-13302,-13351,-13401,-13450,-13499,-13548, + -13597,-13647,-13696,-13745,-13794,-13843,-13892,-13941, + -13990,-14040,-14089,-14138,-14187,-14236,-14285,-14334, + -14383,-14432,-14481,-14530,-14579,-14628,-14677,-14726, + -14775,-14824,-14873,-14922,-14971,-15020,-15069,-15118, + -15167,-15215,-15264,-15313,-15362,-15411,-15460,-15509, + -15557,-15606,-15655,-15704,-15753,-15802,-15850,-15899, + -15948,-15997,-16045,-16094,-16143,-16191,-16240,-16289, + -16338,-16386,-16435,-16484,-16532,-16581,-16629,-16678, + -16727,-16775,-16824,-16872,-16921,-16970,-17018,-17067, + -17115,-17164,-17212,-17261,-17309,-17358,-17406,-17455, + -17503,-17551,-17600,-17648,-17697,-17745,-17793,-17842, + -17890,-17939,-17987,-18035,-18084,-18132,-18180,-18228, + -18277,-18325,-18373,-18421,-18470,-18518,-18566,-18614, + -18663,-18711,-18759,-18807,-18855,-18903,-18951,-19000, + -19048,-19096,-19144,-19192,-19240,-19288,-19336,-19384, + -19432,-19480,-19528,-19576,-19624,-19672,-19720,-19768, + -19816,-19864,-19912,-19959,-20007,-20055,-20103,-20151, + -20199,-20246,-20294,-20342,-20390,-20438,-20485,-20533, + -20581,-20629,-20676,-20724,-20772,-20819,-20867,-20915, + -20962,-21010,-21057,-21105,-21153,-21200,-21248,-21295, + -21343,-21390,-21438,-21485,-21533,-21580,-21628,-21675, + -21723,-21770,-21817,-21865,-21912,-21960,-22007,-22054, + -22102,-22149,-22196,-22243,-22291,-22338,-22385,-22433, + -22480,-22527,-22574,-22621,-22668,-22716,-22763,-22810, + -22857,-22904,-22951,-22998,-23045,-23092,-23139,-23186, + -23233,-23280,-23327,-23374,-23421,-23468,-23515,-23562, + -23609,-23656,-23703,-23750,-23796,-23843,-23890,-23937, + -23984,-24030,-24077,-24124,-24171,-24217,-24264,-24311, + -24357,-24404,-24451,-24497,-24544,-24591,-24637,-24684, + -24730,-24777,-24823,-24870,-24916,-24963,-25009,-25056, + -25102,-25149,-25195,-25241,-25288,-25334,-25381,-25427, + -25473,-25520,-25566,-25612,-25658,-25705,-25751,-25797, + -25843,-25889,-25936,-25982,-26028,-26074,-26120,-26166, + -26212,-26258,-26304,-26350,-26396,-26442,-26488,-26534, + -26580,-26626,-26672,-26718,-26764,-26810,-26856,-26902, + -26947,-26993,-27039,-27085,-27131,-27176,-27222,-27268, + -27313,-27359,-27405,-27450,-27496,-27542,-27587,-27633, + -27678,-27724,-27770,-27815,-27861,-27906,-27952,-27997, + -28042,-28088,-28133,-28179,-28224,-28269,-28315,-28360, + -28405,-28451,-28496,-28541,-28586,-28632,-28677,-28722, + -28767,-28812,-28858,-28903,-28948,-28993,-29038,-29083, + -29128,-29173,-29218,-29263,-29308,-29353,-29398,-29443, + -29488,-29533,-29577,-29622,-29667,-29712,-29757,-29801, + -29846,-29891,-29936,-29980,-30025,-30070,-30114,-30159, + -30204,-30248,-30293,-30337,-30382,-30426,-30471,-30515, + -30560,-30604,-30649,-30693,-30738,-30782,-30826,-30871, + -30915,-30959,-31004,-31048,-31092,-31136,-31181,-31225, + -31269,-31313,-31357,-31402,-31446,-31490,-31534,-31578, + -31622,-31666,-31710,-31754,-31798,-31842,-31886,-31930, + -31974,-32017,-32061,-32105,-32149,-32193,-32236,-32280, + -32324,-32368,-32411,-32455,-32499,-32542,-32586,-32630, + -32673,-32717,-32760,-32804,-32847,-32891,-32934,-32978, + -33021,-33065,-33108,-33151,-33195,-33238,-33281,-33325, + -33368,-33411,-33454,-33498,-33541,-33584,-33627,-33670, + -33713,-33756,-33799,-33843,-33886,-33929,-33972,-34015, + -34057,-34100,-34143,-34186,-34229,-34272,-34315,-34358, + -34400,-34443,-34486,-34529,-34571,-34614,-34657,-34699, + -34742,-34785,-34827,-34870,-34912,-34955,-34997,-35040, + -35082,-35125,-35167,-35210,-35252,-35294,-35337,-35379, + -35421,-35464,-35506,-35548,-35590,-35633,-35675,-35717, + -35759,-35801,-35843,-35885,-35927,-35969,-36011,-36053, + -36095,-36137,-36179,-36221,-36263,-36305,-36347,-36388, + -36430,-36472,-36514,-36555,-36597,-36639,-36681,-36722, + -36764,-36805,-36847,-36889,-36930,-36972,-37013,-37055, + -37096,-37137,-37179,-37220,-37262,-37303,-37344,-37386, + -37427,-37468,-37509,-37551,-37592,-37633,-37674,-37715, + -37756,-37797,-37838,-37879,-37920,-37961,-38002,-38043, + -38084,-38125,-38166,-38207,-38248,-38288,-38329,-38370, + -38411,-38451,-38492,-38533,-38573,-38614,-38655,-38695, + -38736,-38776,-38817,-38857,-38898,-38938,-38979,-39019, + -39059,-39100,-39140,-39180,-39221,-39261,-39301,-39341, + -39382,-39422,-39462,-39502,-39542,-39582,-39622,-39662, + -39702,-39742,-39782,-39822,-39862,-39902,-39942,-39982, + -40021,-40061,-40101,-40141,-40180,-40220,-40260,-40299, + -40339,-40379,-40418,-40458,-40497,-40537,-40576,-40616, + -40655,-40695,-40734,-40773,-40813,-40852,-40891,-40931, + -40970,-41009,-41048,-41087,-41127,-41166,-41205,-41244, + -41283,-41322,-41361,-41400,-41439,-41478,-41517,-41556, + -41595,-41633,-41672,-41711,-41750,-41788,-41827,-41866, + -41904,-41943,-41982,-42020,-42059,-42097,-42136,-42174, + -42213,-42251,-42290,-42328,-42366,-42405,-42443,-42481, + -42520,-42558,-42596,-42634,-42672,-42711,-42749,-42787, + -42825,-42863,-42901,-42939,-42977,-43015,-43053,-43091, + -43128,-43166,-43204,-43242,-43280,-43317,-43355,-43393, + -43430,-43468,-43506,-43543,-43581,-43618,-43656,-43693, + -43731,-43768,-43806,-43843,-43880,-43918,-43955,-43992, + -44029,-44067,-44104,-44141,-44178,-44215,-44252,-44289, + -44326,-44363,-44400,-44437,-44474,-44511,-44548,-44585, + -44622,-44659,-44695,-44732,-44769,-44806,-44842,-44879, + -44915,-44952,-44989,-45025,-45062,-45098,-45135,-45171, + -45207,-45244,-45280,-45316,-45353,-45389,-45425,-45462, + -45498,-45534,-45570,-45606,-45642,-45678,-45714,-45750, + -45786,-45822,-45858,-45894,-45930,-45966,-46002,-46037, + -46073,-46109,-46145,-46180,-46216,-46252,-46287,-46323, + -46358,-46394,-46429,-46465,-46500,-46536,-46571,-46606, + -46642,-46677,-46712,-46747,-46783,-46818,-46853,-46888, + -46923,-46958,-46993,-47028,-47063,-47098,-47133,-47168, + -47203,-47238,-47273,-47308,-47342,-47377,-47412,-47446, + -47481,-47516,-47550,-47585,-47619,-47654,-47688,-47723, + -47757,-47792,-47826,-47860,-47895,-47929,-47963,-47998, + -48032,-48066,-48100,-48134,-48168,-48202,-48236,-48271, + -48304,-48338,-48372,-48406,-48440,-48474,-48508,-48542, + -48575,-48609,-48643,-48676,-48710,-48744,-48777,-48811, + -48844,-48878,-48911,-48945,-48978,-49012,-49045,-49078, + -49112,-49145,-49178,-49211,-49244,-49278,-49311,-49344, + -49377,-49410,-49443,-49476,-49509,-49542,-49575,-49608, + -49640,-49673,-49706,-49739,-49771,-49804,-49837,-49869, + -49902,-49935,-49967,-50000,-50032,-50065,-50097,-50129, + -50162,-50194,-50226,-50259,-50291,-50323,-50355,-50387, + -50420,-50452,-50484,-50516,-50548,-50580,-50612,-50644, + -50675,-50707,-50739,-50771,-50803,-50834,-50866,-50898, + -50929,-50961,-50993,-51024,-51056,-51087,-51119,-51150, + -51182,-51213,-51244,-51276,-51307,-51338,-51369,-51401, + -51432,-51463,-51494,-51525,-51556,-51587,-51618,-51649, + -51680,-51711,-51742,-51773,-51803,-51834,-51865,-51896, + -51926,-51957,-51988,-52018,-52049,-52079,-52110,-52140, + -52171,-52201,-52231,-52262,-52292,-52322,-52353,-52383, + -52413,-52443,-52473,-52503,-52534,-52564,-52594,-52624, + -52653,-52683,-52713,-52743,-52773,-52803,-52832,-52862, + -52892,-52922,-52951,-52981,-53010,-53040,-53069,-53099, + -53128,-53158,-53187,-53216,-53246,-53275,-53304,-53334, + -53363,-53392,-53421,-53450,-53479,-53508,-53537,-53566, + -53595,-53624,-53653,-53682,-53711,-53739,-53768,-53797, + -53826,-53854,-53883,-53911,-53940,-53969,-53997,-54026, + -54054,-54082,-54111,-54139,-54167,-54196,-54224,-54252, + -54280,-54308,-54337,-54365,-54393,-54421,-54449,-54477, + -54505,-54533,-54560,-54588,-54616,-54644,-54672,-54699, + -54727,-54755,-54782,-54810,-54837,-54865,-54892,-54920, + -54947,-54974,-55002,-55029,-55056,-55084,-55111,-55138, + -55165,-55192,-55219,-55246,-55274,-55300,-55327,-55354, + -55381,-55408,-55435,-55462,-55489,-55515,-55542,-55569, + -55595,-55622,-55648,-55675,-55701,-55728,-55754,-55781, + -55807,-55833,-55860,-55886,-55912,-55938,-55965,-55991, + -56017,-56043,-56069,-56095,-56121,-56147,-56173,-56199, + -56225,-56250,-56276,-56302,-56328,-56353,-56379,-56404, + -56430,-56456,-56481,-56507,-56532,-56557,-56583,-56608, + -56633,-56659,-56684,-56709,-56734,-56760,-56785,-56810, + -56835,-56860,-56885,-56910,-56935,-56959,-56984,-57009, + -57034,-57059,-57083,-57108,-57133,-57157,-57182,-57206, + -57231,-57255,-57280,-57304,-57329,-57353,-57377,-57402, + -57426,-57450,-57474,-57498,-57522,-57546,-57570,-57594, + -57618,-57642,-57666,-57690,-57714,-57738,-57762,-57785, + -57809,-57833,-57856,-57880,-57903,-57927,-57950,-57974, + -57997,-58021,-58044,-58067,-58091,-58114,-58137,-58160, + -58183,-58207,-58230,-58253,-58276,-58299,-58322,-58345, + -58367,-58390,-58413,-58436,-58459,-58481,-58504,-58527, + -58549,-58572,-58594,-58617,-58639,-58662,-58684,-58706, + -58729,-58751,-58773,-58795,-58818,-58840,-58862,-58884, + -58906,-58928,-58950,-58972,-58994,-59016,-59038,-59059, + -59081,-59103,-59125,-59146,-59168,-59190,-59211,-59233, + -59254,-59276,-59297,-59318,-59340,-59361,-59382,-59404, + -59425,-59446,-59467,-59488,-59509,-59530,-59551,-59572, + -59593,-59614,-59635,-59656,-59677,-59697,-59718,-59739, + -59759,-59780,-59801,-59821,-59842,-59862,-59883,-59903, + -59923,-59944,-59964,-59984,-60004,-60025,-60045,-60065, + -60085,-60105,-60125,-60145,-60165,-60185,-60205,-60225, + -60244,-60264,-60284,-60304,-60323,-60343,-60363,-60382, + -60402,-60421,-60441,-60460,-60479,-60499,-60518,-60537, + -60556,-60576,-60595,-60614,-60633,-60652,-60671,-60690, + -60709,-60728,-60747,-60766,-60785,-60803,-60822,-60841, + -60859,-60878,-60897,-60915,-60934,-60952,-60971,-60989, + -61007,-61026,-61044,-61062,-61081,-61099,-61117,-61135, + -61153,-61171,-61189,-61207,-61225,-61243,-61261,-61279, + -61297,-61314,-61332,-61350,-61367,-61385,-61403,-61420, + -61438,-61455,-61473,-61490,-61507,-61525,-61542,-61559, + -61577,-61594,-61611,-61628,-61645,-61662,-61679,-61696, + -61713,-61730,-61747,-61764,-61780,-61797,-61814,-61831, + -61847,-61864,-61880,-61897,-61913,-61930,-61946,-61963, + -61979,-61995,-62012,-62028,-62044,-62060,-62076,-62092, + -62108,-62125,-62141,-62156,-62172,-62188,-62204,-62220, + -62236,-62251,-62267,-62283,-62298,-62314,-62329,-62345, + -62360,-62376,-62391,-62407,-62422,-62437,-62453,-62468, + -62483,-62498,-62513,-62528,-62543,-62558,-62573,-62588, + -62603,-62618,-62633,-62648,-62662,-62677,-62692,-62706, + -62721,-62735,-62750,-62764,-62779,-62793,-62808,-62822, + -62836,-62850,-62865,-62879,-62893,-62907,-62921,-62935, + -62949,-62963,-62977,-62991,-63005,-63019,-63032,-63046, + -63060,-63074,-63087,-63101,-63114,-63128,-63141,-63155, + -63168,-63182,-63195,-63208,-63221,-63235,-63248,-63261, + -63274,-63287,-63300,-63313,-63326,-63339,-63352,-63365, + -63378,-63390,-63403,-63416,-63429,-63441,-63454,-63466, + -63479,-63491,-63504,-63516,-63528,-63541,-63553,-63565, + -63578,-63590,-63602,-63614,-63626,-63638,-63650,-63662, + -63674,-63686,-63698,-63709,-63721,-63733,-63745,-63756, + -63768,-63779,-63791,-63803,-63814,-63825,-63837,-63848, + -63859,-63871,-63882,-63893,-63904,-63915,-63927,-63938, + -63949,-63960,-63971,-63981,-63992,-64003,-64014,-64025, + -64035,-64046,-64057,-64067,-64078,-64088,-64099,-64109, + -64120,-64130,-64140,-64151,-64161,-64171,-64181,-64192, + -64202,-64212,-64222,-64232,-64242,-64252,-64261,-64271, + -64281,-64291,-64301,-64310,-64320,-64330,-64339,-64349, + -64358,-64368,-64377,-64387,-64396,-64405,-64414,-64424, + -64433,-64442,-64451,-64460,-64469,-64478,-64487,-64496, + -64505,-64514,-64523,-64532,-64540,-64549,-64558,-64566, + -64575,-64584,-64592,-64601,-64609,-64617,-64626,-64634, + -64642,-64651,-64659,-64667,-64675,-64683,-64691,-64699, + -64707,-64715,-64723,-64731,-64739,-64747,-64754,-64762, + -64770,-64777,-64785,-64793,-64800,-64808,-64815,-64822, + -64830,-64837,-64844,-64852,-64859,-64866,-64873,-64880, + -64887,-64895,-64902,-64908,-64915,-64922,-64929,-64936, + -64943,-64949,-64956,-64963,-64969,-64976,-64982,-64989, + -64995,-65002,-65008,-65015,-65021,-65027,-65033,-65040, + -65046,-65052,-65058,-65064,-65070,-65076,-65082,-65088, + -65094,-65099,-65105,-65111,-65117,-65122,-65128,-65133, + -65139,-65144,-65150,-65155,-65161,-65166,-65171,-65177, + -65182,-65187,-65192,-65197,-65202,-65207,-65212,-65217, + -65222,-65227,-65232,-65237,-65242,-65246,-65251,-65256, + -65260,-65265,-65270,-65274,-65279,-65283,-65287,-65292, + -65296,-65300,-65305,-65309,-65313,-65317,-65321,-65325, + -65329,-65333,-65337,-65341,-65345,-65349,-65352,-65356, + -65360,-65363,-65367,-65371,-65374,-65378,-65381,-65385, + -65388,-65391,-65395,-65398,-65401,-65404,-65408,-65411, + -65414,-65417,-65420,-65423,-65426,-65429,-65431,-65434, + -65437,-65440,-65442,-65445,-65448,-65450,-65453,-65455, + -65458,-65460,-65463,-65465,-65467,-65470,-65472,-65474, + -65476,-65478,-65480,-65482,-65484,-65486,-65488,-65490, + -65492,-65494,-65496,-65497,-65499,-65501,-65502,-65504, + -65505,-65507,-65508,-65510,-65511,-65513,-65514,-65515, + -65516,-65518,-65519,-65520,-65521,-65522,-65523,-65524, + -65525,-65526,-65527,-65527,-65528,-65529,-65530,-65530, + -65531,-65531,-65532,-65532,-65533,-65533,-65534,-65534, + -65534,-65535,-65535,-65535,-65535,-65535,-65535,-65535, + -65535,-65535,-65535,-65535,-65535,-65535,-65535,-65534, + -65534,-65534,-65533,-65533,-65532,-65532,-65531,-65531, + -65530,-65530,-65529,-65528,-65527,-65527,-65526,-65525, + -65524,-65523,-65522,-65521,-65520,-65519,-65518,-65516, + -65515,-65514,-65513,-65511,-65510,-65508,-65507,-65505, + -65504,-65502,-65501,-65499,-65497,-65496,-65494,-65492, + -65490,-65488,-65486,-65484,-65482,-65480,-65478,-65476, + -65474,-65472,-65470,-65467,-65465,-65463,-65460,-65458, + -65455,-65453,-65450,-65448,-65445,-65442,-65440,-65437, + -65434,-65431,-65429,-65426,-65423,-65420,-65417,-65414, + -65411,-65408,-65404,-65401,-65398,-65395,-65391,-65388, + -65385,-65381,-65378,-65374,-65371,-65367,-65363,-65360, + -65356,-65352,-65349,-65345,-65341,-65337,-65333,-65329, + -65325,-65321,-65317,-65313,-65309,-65305,-65300,-65296, + -65292,-65287,-65283,-65279,-65274,-65270,-65265,-65260, + -65256,-65251,-65246,-65242,-65237,-65232,-65227,-65222, + -65217,-65212,-65207,-65202,-65197,-65192,-65187,-65182, + -65177,-65171,-65166,-65161,-65155,-65150,-65144,-65139, + -65133,-65128,-65122,-65117,-65111,-65105,-65099,-65094, + -65088,-65082,-65076,-65070,-65064,-65058,-65052,-65046, + -65040,-65033,-65027,-65021,-65015,-65008,-65002,-64995, + -64989,-64982,-64976,-64969,-64963,-64956,-64949,-64943, + -64936,-64929,-64922,-64915,-64908,-64902,-64895,-64887, + -64880,-64873,-64866,-64859,-64852,-64844,-64837,-64830, + -64822,-64815,-64808,-64800,-64793,-64785,-64777,-64770, + -64762,-64754,-64747,-64739,-64731,-64723,-64715,-64707, + -64699,-64691,-64683,-64675,-64667,-64659,-64651,-64642, + -64634,-64626,-64617,-64609,-64601,-64592,-64584,-64575, + -64566,-64558,-64549,-64540,-64532,-64523,-64514,-64505, + -64496,-64487,-64478,-64469,-64460,-64451,-64442,-64433, + -64424,-64414,-64405,-64396,-64387,-64377,-64368,-64358, + -64349,-64339,-64330,-64320,-64310,-64301,-64291,-64281, + -64271,-64261,-64252,-64242,-64232,-64222,-64212,-64202, + -64192,-64181,-64171,-64161,-64151,-64140,-64130,-64120, + -64109,-64099,-64088,-64078,-64067,-64057,-64046,-64035, + -64025,-64014,-64003,-63992,-63981,-63971,-63960,-63949, + -63938,-63927,-63915,-63904,-63893,-63882,-63871,-63859, + -63848,-63837,-63825,-63814,-63803,-63791,-63779,-63768, + -63756,-63745,-63733,-63721,-63709,-63698,-63686,-63674, + -63662,-63650,-63638,-63626,-63614,-63602,-63590,-63578, + -63565,-63553,-63541,-63528,-63516,-63504,-63491,-63479, + -63466,-63454,-63441,-63429,-63416,-63403,-63390,-63378, + -63365,-63352,-63339,-63326,-63313,-63300,-63287,-63274, + -63261,-63248,-63235,-63221,-63208,-63195,-63182,-63168, + -63155,-63141,-63128,-63114,-63101,-63087,-63074,-63060, + -63046,-63032,-63019,-63005,-62991,-62977,-62963,-62949, + -62935,-62921,-62907,-62893,-62879,-62865,-62850,-62836, + -62822,-62808,-62793,-62779,-62764,-62750,-62735,-62721, + -62706,-62692,-62677,-62662,-62648,-62633,-62618,-62603, + -62588,-62573,-62558,-62543,-62528,-62513,-62498,-62483, + -62468,-62453,-62437,-62422,-62407,-62391,-62376,-62360, + -62345,-62329,-62314,-62298,-62283,-62267,-62251,-62236, + -62220,-62204,-62188,-62172,-62156,-62141,-62125,-62108, + -62092,-62076,-62060,-62044,-62028,-62012,-61995,-61979, + -61963,-61946,-61930,-61913,-61897,-61880,-61864,-61847, + -61831,-61814,-61797,-61780,-61764,-61747,-61730,-61713, + -61696,-61679,-61662,-61645,-61628,-61611,-61594,-61577, + -61559,-61542,-61525,-61507,-61490,-61473,-61455,-61438, + -61420,-61403,-61385,-61367,-61350,-61332,-61314,-61297, + -61279,-61261,-61243,-61225,-61207,-61189,-61171,-61153, + -61135,-61117,-61099,-61081,-61062,-61044,-61026,-61007, + -60989,-60971,-60952,-60934,-60915,-60897,-60878,-60859, + -60841,-60822,-60803,-60785,-60766,-60747,-60728,-60709, + -60690,-60671,-60652,-60633,-60614,-60595,-60576,-60556, + -60537,-60518,-60499,-60479,-60460,-60441,-60421,-60402, + -60382,-60363,-60343,-60323,-60304,-60284,-60264,-60244, + -60225,-60205,-60185,-60165,-60145,-60125,-60105,-60085, + -60065,-60045,-60025,-60004,-59984,-59964,-59944,-59923, + -59903,-59883,-59862,-59842,-59821,-59801,-59780,-59759, + -59739,-59718,-59697,-59677,-59656,-59635,-59614,-59593, + -59572,-59551,-59530,-59509,-59488,-59467,-59446,-59425, + -59404,-59382,-59361,-59340,-59318,-59297,-59276,-59254, + -59233,-59211,-59189,-59168,-59146,-59125,-59103,-59081, + -59059,-59038,-59016,-58994,-58972,-58950,-58928,-58906, + -58884,-58862,-58840,-58818,-58795,-58773,-58751,-58729, + -58706,-58684,-58662,-58639,-58617,-58594,-58572,-58549, + -58527,-58504,-58481,-58459,-58436,-58413,-58390,-58367, + -58345,-58322,-58299,-58276,-58253,-58230,-58207,-58183, + -58160,-58137,-58114,-58091,-58067,-58044,-58021,-57997, + -57974,-57950,-57927,-57903,-57880,-57856,-57833,-57809, + -57785,-57762,-57738,-57714,-57690,-57666,-57642,-57618, + -57594,-57570,-57546,-57522,-57498,-57474,-57450,-57426, + -57402,-57377,-57353,-57329,-57304,-57280,-57255,-57231, + -57206,-57182,-57157,-57133,-57108,-57083,-57059,-57034, + -57009,-56984,-56959,-56935,-56910,-56885,-56860,-56835, + -56810,-56785,-56760,-56734,-56709,-56684,-56659,-56633, + -56608,-56583,-56557,-56532,-56507,-56481,-56456,-56430, + -56404,-56379,-56353,-56328,-56302,-56276,-56250,-56225, + -56199,-56173,-56147,-56121,-56095,-56069,-56043,-56017, + -55991,-55965,-55938,-55912,-55886,-55860,-55833,-55807, + -55781,-55754,-55728,-55701,-55675,-55648,-55622,-55595, + -55569,-55542,-55515,-55489,-55462,-55435,-55408,-55381, + -55354,-55327,-55300,-55274,-55246,-55219,-55192,-55165, + -55138,-55111,-55084,-55056,-55029,-55002,-54974,-54947, + -54920,-54892,-54865,-54837,-54810,-54782,-54755,-54727, + -54699,-54672,-54644,-54616,-54588,-54560,-54533,-54505, + -54477,-54449,-54421,-54393,-54365,-54337,-54308,-54280, + -54252,-54224,-54196,-54167,-54139,-54111,-54082,-54054, + -54026,-53997,-53969,-53940,-53911,-53883,-53854,-53826, + -53797,-53768,-53739,-53711,-53682,-53653,-53624,-53595, + -53566,-53537,-53508,-53479,-53450,-53421,-53392,-53363, + -53334,-53304,-53275,-53246,-53216,-53187,-53158,-53128, + -53099,-53069,-53040,-53010,-52981,-52951,-52922,-52892, + -52862,-52832,-52803,-52773,-52743,-52713,-52683,-52653, + -52624,-52594,-52564,-52534,-52503,-52473,-52443,-52413, + -52383,-52353,-52322,-52292,-52262,-52231,-52201,-52171, + -52140,-52110,-52079,-52049,-52018,-51988,-51957,-51926, + -51896,-51865,-51834,-51803,-51773,-51742,-51711,-51680, + -51649,-51618,-51587,-51556,-51525,-51494,-51463,-51432, + -51401,-51369,-51338,-51307,-51276,-51244,-51213,-51182, + -51150,-51119,-51087,-51056,-51024,-50993,-50961,-50929, + -50898,-50866,-50834,-50803,-50771,-50739,-50707,-50675, + -50644,-50612,-50580,-50548,-50516,-50484,-50452,-50420, + -50387,-50355,-50323,-50291,-50259,-50226,-50194,-50162, + -50129,-50097,-50065,-50032,-50000,-49967,-49935,-49902, + -49869,-49837,-49804,-49771,-49739,-49706,-49673,-49640, + -49608,-49575,-49542,-49509,-49476,-49443,-49410,-49377, + -49344,-49311,-49278,-49244,-49211,-49178,-49145,-49112, + -49078,-49045,-49012,-48978,-48945,-48911,-48878,-48844, + -48811,-48777,-48744,-48710,-48676,-48643,-48609,-48575, + -48542,-48508,-48474,-48440,-48406,-48372,-48338,-48305, + -48271,-48237,-48202,-48168,-48134,-48100,-48066,-48032, + -47998,-47963,-47929,-47895,-47860,-47826,-47792,-47757, + -47723,-47688,-47654,-47619,-47585,-47550,-47516,-47481, + -47446,-47412,-47377,-47342,-47307,-47273,-47238,-47203, + -47168,-47133,-47098,-47063,-47028,-46993,-46958,-46923, + -46888,-46853,-46818,-46783,-46747,-46712,-46677,-46642, + -46606,-46571,-46536,-46500,-46465,-46429,-46394,-46358, + -46323,-46287,-46251,-46216,-46180,-46145,-46109,-46073, + -46037,-46002,-45966,-45930,-45894,-45858,-45822,-45786, + -45750,-45714,-45678,-45642,-45606,-45570,-45534,-45498, + -45462,-45425,-45389,-45353,-45316,-45280,-45244,-45207, + -45171,-45135,-45098,-45062,-45025,-44989,-44952,-44915, + -44879,-44842,-44806,-44769,-44732,-44695,-44659,-44622, + -44585,-44548,-44511,-44474,-44437,-44400,-44363,-44326, + -44289,-44252,-44215,-44178,-44141,-44104,-44067,-44029, + -43992,-43955,-43918,-43880,-43843,-43806,-43768,-43731, + -43693,-43656,-43618,-43581,-43543,-43506,-43468,-43430, + -43393,-43355,-43317,-43280,-43242,-43204,-43166,-43128, + -43091,-43053,-43015,-42977,-42939,-42901,-42863,-42825, + -42787,-42749,-42711,-42672,-42634,-42596,-42558,-42520, + -42481,-42443,-42405,-42366,-42328,-42290,-42251,-42213, + -42174,-42136,-42097,-42059,-42020,-41982,-41943,-41904, + -41866,-41827,-41788,-41750,-41711,-41672,-41633,-41595, + -41556,-41517,-41478,-41439,-41400,-41361,-41322,-41283, + -41244,-41205,-41166,-41127,-41087,-41048,-41009,-40970, + -40931,-40891,-40852,-40813,-40773,-40734,-40695,-40655, + -40616,-40576,-40537,-40497,-40458,-40418,-40379,-40339, + -40299,-40260,-40220,-40180,-40141,-40101,-40061,-40021, + -39982,-39942,-39902,-39862,-39822,-39782,-39742,-39702, + -39662,-39622,-39582,-39542,-39502,-39462,-39422,-39382, + -39341,-39301,-39261,-39221,-39180,-39140,-39100,-39059, + -39019,-38979,-38938,-38898,-38857,-38817,-38776,-38736, + -38695,-38655,-38614,-38573,-38533,-38492,-38451,-38411, + -38370,-38329,-38288,-38248,-38207,-38166,-38125,-38084, + -38043,-38002,-37961,-37920,-37879,-37838,-37797,-37756, + -37715,-37674,-37633,-37592,-37550,-37509,-37468,-37427, + -37386,-37344,-37303,-37262,-37220,-37179,-37137,-37096, + -37055,-37013,-36972,-36930,-36889,-36847,-36805,-36764, + -36722,-36681,-36639,-36597,-36556,-36514,-36472,-36430, + -36388,-36347,-36305,-36263,-36221,-36179,-36137,-36095, + -36053,-36011,-35969,-35927,-35885,-35843,-35801,-35759, + -35717,-35675,-35633,-35590,-35548,-35506,-35464,-35421, + -35379,-35337,-35294,-35252,-35210,-35167,-35125,-35082, + -35040,-34997,-34955,-34912,-34870,-34827,-34785,-34742, + -34699,-34657,-34614,-34571,-34529,-34486,-34443,-34400, + -34358,-34315,-34272,-34229,-34186,-34143,-34100,-34057, + -34015,-33972,-33929,-33886,-33843,-33799,-33756,-33713, + -33670,-33627,-33584,-33541,-33498,-33454,-33411,-33368, + -33325,-33281,-33238,-33195,-33151,-33108,-33065,-33021, + -32978,-32934,-32891,-32847,-32804,-32760,-32717,-32673, + -32630,-32586,-32542,-32499,-32455,-32411,-32368,-32324, + -32280,-32236,-32193,-32149,-32105,-32061,-32017,-31974, + -31930,-31886,-31842,-31798,-31754,-31710,-31666,-31622, + -31578,-31534,-31490,-31446,-31402,-31357,-31313,-31269, + -31225,-31181,-31136,-31092,-31048,-31004,-30959,-30915, + -30871,-30826,-30782,-30738,-30693,-30649,-30604,-30560, + -30515,-30471,-30426,-30382,-30337,-30293,-30248,-30204, + -30159,-30114,-30070,-30025,-29980,-29936,-29891,-29846, + -29801,-29757,-29712,-29667,-29622,-29577,-29533,-29488, + -29443,-29398,-29353,-29308,-29263,-29218,-29173,-29128, + -29083,-29038,-28993,-28948,-28903,-28858,-28812,-28767, + -28722,-28677,-28632,-28586,-28541,-28496,-28451,-28405, + -28360,-28315,-28269,-28224,-28179,-28133,-28088,-28042, + -27997,-27952,-27906,-27861,-27815,-27770,-27724,-27678, + -27633,-27587,-27542,-27496,-27450,-27405,-27359,-27313, + -27268,-27222,-27176,-27131,-27085,-27039,-26993,-26947, + -26902,-26856,-26810,-26764,-26718,-26672,-26626,-26580, + -26534,-26488,-26442,-26396,-26350,-26304,-26258,-26212, + -26166,-26120,-26074,-26028,-25982,-25936,-25889,-25843, + -25797,-25751,-25705,-25658,-25612,-25566,-25520,-25473, + -25427,-25381,-25334,-25288,-25241,-25195,-25149,-25102, + -25056,-25009,-24963,-24916,-24870,-24823,-24777,-24730, + -24684,-24637,-24591,-24544,-24497,-24451,-24404,-24357, + -24311,-24264,-24217,-24171,-24124,-24077,-24030,-23984, + -23937,-23890,-23843,-23796,-23750,-23703,-23656,-23609, + -23562,-23515,-23468,-23421,-23374,-23327,-23280,-23233, + -23186,-23139,-23092,-23045,-22998,-22951,-22904,-22857, + -22810,-22763,-22716,-22668,-22621,-22574,-22527,-22480, + -22432,-22385,-22338,-22291,-22243,-22196,-22149,-22102, + -22054,-22007,-21960,-21912,-21865,-21817,-21770,-21723, + -21675,-21628,-21580,-21533,-21485,-21438,-21390,-21343, + -21295,-21248,-21200,-21153,-21105,-21057,-21010,-20962, + -20915,-20867,-20819,-20772,-20724,-20676,-20629,-20581, + -20533,-20485,-20438,-20390,-20342,-20294,-20246,-20199, + -20151,-20103,-20055,-20007,-19959,-19912,-19864,-19816, + -19768,-19720,-19672,-19624,-19576,-19528,-19480,-19432, + -19384,-19336,-19288,-19240,-19192,-19144,-19096,-19048, + -19000,-18951,-18903,-18855,-18807,-18759,-18711,-18663, + -18614,-18566,-18518,-18470,-18421,-18373,-18325,-18277, + -18228,-18180,-18132,-18084,-18035,-17987,-17939,-17890, + -17842,-17793,-17745,-17697,-17648,-17600,-17551,-17503, + -17455,-17406,-17358,-17309,-17261,-17212,-17164,-17115, + -17067,-17018,-16970,-16921,-16872,-16824,-16775,-16727, + -16678,-16629,-16581,-16532,-16484,-16435,-16386,-16338, + -16289,-16240,-16191,-16143,-16094,-16045,-15997,-15948, + -15899,-15850,-15802,-15753,-15704,-15655,-15606,-15557, + -15509,-15460,-15411,-15362,-15313,-15264,-15215,-15167, + -15118,-15069,-15020,-14971,-14922,-14873,-14824,-14775, + -14726,-14677,-14628,-14579,-14530,-14481,-14432,-14383, + -14334,-14285,-14236,-14187,-14138,-14089,-14040,-13990, + -13941,-13892,-13843,-13794,-13745,-13696,-13647,-13597, + -13548,-13499,-13450,-13401,-13351,-13302,-13253,-13204, + -13154,-13105,-13056,-13007,-12957,-12908,-12859,-12810, + -12760,-12711,-12662,-12612,-12563,-12514,-12464,-12415, + -12366,-12316,-12267,-12217,-12168,-12119,-12069,-12020, + -11970,-11921,-11872,-11822,-11773,-11723,-11674,-11624, + -11575,-11525,-11476,-11426,-11377,-11327,-11278,-11228, + -11179,-11129,-11080,-11030,-10981,-10931,-10882,-10832, + -10782,-10733,-10683,-10634,-10584,-10534,-10485,-10435, + -10386,-10336,-10286,-10237,-10187,-10137,-10088,-10038, + -9988,-9939,-9889,-9839,-9790,-9740,-9690,-9640, + -9591,-9541,-9491,-9442,-9392,-9342,-9292,-9243, + -9193,-9143,-9093,-9043,-8994,-8944,-8894,-8844, + -8794,-8745,-8695,-8645,-8595,-8545,-8496,-8446, + -8396,-8346,-8296,-8246,-8196,-8147,-8097,-8047, + -7997,-7947,-7897,-7847,-7797,-7747,-7697,-7648, + -7598,-7548,-7498,-7448,-7398,-7348,-7298,-7248, + -7198,-7148,-7098,-7048,-6998,-6948,-6898,-6848, + -6798,-6748,-6698,-6648,-6598,-6548,-6498,-6448, + -6398,-6348,-6298,-6248,-6198,-6148,-6098,-6048, + -5998,-5948,-5898,-5848,-5798,-5747,-5697,-5647, + -5597,-5547,-5497,-5447,-5397,-5347,-5297,-5247, + -5197,-5146,-5096,-5046,-4996,-4946,-4896,-4846, + -4796,-4745,-4695,-4645,-4595,-4545,-4495,-4445, + -4394,-4344,-4294,-4244,-4194,-4144,-4093,-4043, + -3993,-3943,-3893,-3843,-3792,-3742,-3692,-3642, + -3592,-3541,-3491,-3441,-3391,-3341,-3291,-3240, + -3190,-3140,-3090,-3039,-2989,-2939,-2889,-2839, + -2788,-2738,-2688,-2638,-2588,-2537,-2487,-2437, + -2387,-2336,-2286,-2236,-2186,-2135,-2085,-2035, + -1985,-1934,-1884,-1834,-1784,-1733,-1683,-1633, + -1583,-1532,-1482,-1432,-1382,-1331,-1281,-1231, + -1181,-1130,-1080,-1030,-980,-929,-879,-829, + -779,-728,-678,-628,-578,-527,-477,-427, + -376,-326,-276,-226,-175,-125,-75,-25, + 25,75,125,175,226,276,326,376, + 427,477,527,578,628,678,728,779, + 829,879,929,980,1030,1080,1130,1181, + 1231,1281,1331,1382,1432,1482,1532,1583, + 1633,1683,1733,1784,1834,1884,1934,1985, + 2035,2085,2135,2186,2236,2286,2336,2387, + 2437,2487,2537,2587,2638,2688,2738,2788, + 2839,2889,2939,2989,3039,3090,3140,3190, + 3240,3291,3341,3391,3441,3491,3542,3592, + 3642,3692,3742,3792,3843,3893,3943,3993, + 4043,4093,4144,4194,4244,4294,4344,4394, + 4445,4495,4545,4595,4645,4695,4745,4796, + 4846,4896,4946,4996,5046,5096,5146,5197, + 5247,5297,5347,5397,5447,5497,5547,5597, + 5647,5697,5747,5798,5848,5898,5948,5998, + 6048,6098,6148,6198,6248,6298,6348,6398, + 6448,6498,6548,6598,6648,6698,6748,6798, + 6848,6898,6948,6998,7048,7098,7148,7198, + 7248,7298,7348,7398,7448,7498,7548,7598, + 7648,7697,7747,7797,7847,7897,7947,7997, + 8047,8097,8147,8196,8246,8296,8346,8396, + 8446,8496,8545,8595,8645,8695,8745,8794, + 8844,8894,8944,8994,9043,9093,9143,9193, + 9243,9292,9342,9392,9442,9491,9541,9591, + 9640,9690,9740,9790,9839,9889,9939,9988, + 10038,10088,10137,10187,10237,10286,10336,10386, + 10435,10485,10534,10584,10634,10683,10733,10782, + 10832,10882,10931,10981,11030,11080,11129,11179, + 11228,11278,11327,11377,11426,11476,11525,11575, + 11624,11674,11723,11773,11822,11872,11921,11970, + 12020,12069,12119,12168,12218,12267,12316,12366, + 12415,12464,12514,12563,12612,12662,12711,12760, + 12810,12859,12908,12957,13007,13056,13105,13154, + 13204,13253,13302,13351,13401,13450,13499,13548, + 13597,13647,13696,13745,13794,13843,13892,13941, + 13990,14040,14089,14138,14187,14236,14285,14334, + 14383,14432,14481,14530,14579,14628,14677,14726, + 14775,14824,14873,14922,14971,15020,15069,15118, + 15167,15215,15264,15313,15362,15411,15460,15509, + 15557,15606,15655,15704,15753,15802,15850,15899, + 15948,15997,16045,16094,16143,16191,16240,16289, + 16338,16386,16435,16484,16532,16581,16629,16678, + 16727,16775,16824,16872,16921,16970,17018,17067, + 17115,17164,17212,17261,17309,17358,17406,17455, + 17503,17551,17600,17648,17697,17745,17793,17842, + 17890,17939,17987,18035,18084,18132,18180,18228, + 18277,18325,18373,18421,18470,18518,18566,18614, + 18663,18711,18759,18807,18855,18903,18951,19000, + 19048,19096,19144,19192,19240,19288,19336,19384, + 19432,19480,19528,19576,19624,19672,19720,19768, + 19816,19864,19912,19959,20007,20055,20103,20151, + 20199,20246,20294,20342,20390,20438,20485,20533, + 20581,20629,20676,20724,20772,20819,20867,20915, + 20962,21010,21057,21105,21153,21200,21248,21295, + 21343,21390,21438,21485,21533,21580,21628,21675, + 21723,21770,21817,21865,21912,21960,22007,22054, + 22102,22149,22196,22243,22291,22338,22385,22432, + 22480,22527,22574,22621,22668,22716,22763,22810, + 22857,22904,22951,22998,23045,23092,23139,23186, + 23233,23280,23327,23374,23421,23468,23515,23562, + 23609,23656,23703,23750,23796,23843,23890,23937, + 23984,24030,24077,24124,24171,24217,24264,24311, + 24357,24404,24451,24497,24544,24591,24637,24684, + 24730,24777,24823,24870,24916,24963,25009,25056, + 25102,25149,25195,25241,25288,25334,25381,25427, + 25473,25520,25566,25612,25658,25705,25751,25797, + 25843,25889,25936,25982,26028,26074,26120,26166, + 26212,26258,26304,26350,26396,26442,26488,26534, + 26580,26626,26672,26718,26764,26810,26856,26902, + 26947,26993,27039,27085,27131,27176,27222,27268, + 27313,27359,27405,27450,27496,27542,27587,27633, + 27678,27724,27770,27815,27861,27906,27952,27997, + 28042,28088,28133,28179,28224,28269,28315,28360, + 28405,28451,28496,28541,28586,28632,28677,28722, + 28767,28812,28858,28903,28948,28993,29038,29083, + 29128,29173,29218,29263,29308,29353,29398,29443, + 29488,29533,29577,29622,29667,29712,29757,29801, + 29846,29891,29936,29980,30025,30070,30114,30159, + 30204,30248,30293,30337,30382,30427,30471,30516, + 30560,30604,30649,30693,30738,30782,30826,30871, + 30915,30959,31004,31048,31092,31136,31181,31225, + 31269,31313,31357,31402,31446,31490,31534,31578, + 31622,31666,31710,31754,31798,31842,31886,31930, + 31974,32017,32061,32105,32149,32193,32236,32280, + 32324,32368,32411,32455,32499,32542,32586,32630, + 32673,32717,32760,32804,32847,32891,32934,32978, + 33021,33065,33108,33151,33195,33238,33281,33325, + 33368,33411,33454,33498,33541,33584,33627,33670, + 33713,33756,33799,33843,33886,33929,33972,34015, + 34057,34100,34143,34186,34229,34272,34315,34358, + 34400,34443,34486,34529,34571,34614,34657,34699, + 34742,34785,34827,34870,34912,34955,34997,35040, + 35082,35125,35167,35210,35252,35294,35337,35379, + 35421,35464,35506,35548,35590,35633,35675,35717, + 35759,35801,35843,35885,35927,35969,36011,36053, + 36095,36137,36179,36221,36263,36305,36347,36388, + 36430,36472,36514,36556,36597,36639,36681,36722, + 36764,36805,36847,36889,36930,36972,37013,37055, + 37096,37137,37179,37220,37262,37303,37344,37386, + 37427,37468,37509,37551,37592,37633,37674,37715, + 37756,37797,37838,37879,37920,37961,38002,38043, + 38084,38125,38166,38207,38248,38288,38329,38370, + 38411,38451,38492,38533,38573,38614,38655,38695, + 38736,38776,38817,38857,38898,38938,38979,39019, + 39059,39100,39140,39180,39221,39261,39301,39341, + 39382,39422,39462,39502,39542,39582,39622,39662, + 39702,39742,39782,39822,39862,39902,39942,39982, + 40021,40061,40101,40141,40180,40220,40260,40299, + 40339,40379,40418,40458,40497,40537,40576,40616, + 40655,40695,40734,40773,40813,40852,40891,40931, + 40970,41009,41048,41087,41127,41166,41205,41244, + 41283,41322,41361,41400,41439,41478,41517,41556, + 41595,41633,41672,41711,41750,41788,41827,41866, + 41904,41943,41982,42020,42059,42097,42136,42174, + 42213,42251,42290,42328,42366,42405,42443,42481, + 42520,42558,42596,42634,42672,42711,42749,42787, + 42825,42863,42901,42939,42977,43015,43053,43091, + 43128,43166,43204,43242,43280,43317,43355,43393, + 43430,43468,43506,43543,43581,43618,43656,43693, + 43731,43768,43806,43843,43880,43918,43955,43992, + 44029,44067,44104,44141,44178,44215,44252,44289, + 44326,44363,44400,44437,44474,44511,44548,44585, + 44622,44659,44695,44732,44769,44806,44842,44879, + 44915,44952,44989,45025,45062,45098,45135,45171, + 45207,45244,45280,45316,45353,45389,45425,45462, + 45498,45534,45570,45606,45642,45678,45714,45750, + 45786,45822,45858,45894,45930,45966,46002,46037, + 46073,46109,46145,46180,46216,46252,46287,46323, + 46358,46394,46429,46465,46500,46536,46571,46606, + 46642,46677,46712,46747,46783,46818,46853,46888, + 46923,46958,46993,47028,47063,47098,47133,47168, + 47203,47238,47273,47308,47342,47377,47412,47446, + 47481,47516,47550,47585,47619,47654,47688,47723, + 47757,47792,47826,47861,47895,47929,47963,47998, + 48032,48066,48100,48134,48168,48202,48237,48271, + 48305,48338,48372,48406,48440,48474,48508,48542, + 48575,48609,48643,48676,48710,48744,48777,48811, + 48844,48878,48911,48945,48978,49012,49045,49078, + 49112,49145,49178,49211,49244,49278,49311,49344, + 49377,49410,49443,49476,49509,49542,49575,49608, + 49640,49673,49706,49739,49771,49804,49837,49869, + 49902,49935,49967,50000,50032,50064,50097,50129, + 50162,50194,50226,50259,50291,50323,50355,50387, + 50420,50452,50484,50516,50548,50580,50612,50644, + 50675,50707,50739,50771,50803,50834,50866,50898, + 50929,50961,50993,51024,51056,51087,51119,51150, + 51182,51213,51244,51276,51307,51338,51369,51401, + 51432,51463,51494,51525,51556,51587,51618,51649, + 51680,51711,51742,51773,51803,51834,51865,51896, + 51926,51957,51988,52018,52049,52079,52110,52140, + 52171,52201,52231,52262,52292,52322,52353,52383, + 52413,52443,52473,52503,52534,52564,52594,52624, + 52653,52683,52713,52743,52773,52803,52832,52862, + 52892,52922,52951,52981,53010,53040,53069,53099, + 53128,53158,53187,53216,53246,53275,53304,53334, + 53363,53392,53421,53450,53479,53508,53537,53566, + 53595,53624,53653,53682,53711,53739,53768,53797, + 53826,53854,53883,53912,53940,53969,53997,54026, + 54054,54082,54111,54139,54167,54196,54224,54252, + 54280,54309,54337,54365,54393,54421,54449,54477, + 54505,54533,54560,54588,54616,54644,54672,54699, + 54727,54755,54782,54810,54837,54865,54892,54920, + 54947,54974,55002,55029,55056,55084,55111,55138, + 55165,55192,55219,55246,55274,55300,55327,55354, + 55381,55408,55435,55462,55489,55515,55542,55569, + 55595,55622,55648,55675,55701,55728,55754,55781, + 55807,55833,55860,55886,55912,55938,55965,55991, + 56017,56043,56069,56095,56121,56147,56173,56199, + 56225,56250,56276,56302,56328,56353,56379,56404, + 56430,56456,56481,56507,56532,56557,56583,56608, + 56633,56659,56684,56709,56734,56760,56785,56810, + 56835,56860,56885,56910,56935,56959,56984,57009, + 57034,57059,57083,57108,57133,57157,57182,57206, + 57231,57255,57280,57304,57329,57353,57377,57402, + 57426,57450,57474,57498,57522,57546,57570,57594, + 57618,57642,57666,57690,57714,57738,57762,57785, + 57809,57833,57856,57880,57903,57927,57950,57974, + 57997,58021,58044,58067,58091,58114,58137,58160, + 58183,58207,58230,58253,58276,58299,58322,58345, + 58367,58390,58413,58436,58459,58481,58504,58527, + 58549,58572,58594,58617,58639,58662,58684,58706, + 58729,58751,58773,58795,58818,58840,58862,58884, + 58906,58928,58950,58972,58994,59016,59038,59059, + 59081,59103,59125,59146,59168,59190,59211,59233, + 59254,59276,59297,59318,59340,59361,59382,59404, + 59425,59446,59467,59488,59509,59530,59551,59572, + 59593,59614,59635,59656,59677,59697,59718,59739, + 59759,59780,59801,59821,59842,59862,59883,59903, + 59923,59944,59964,59984,60004,60025,60045,60065, + 60085,60105,60125,60145,60165,60185,60205,60225, + 60244,60264,60284,60304,60323,60343,60363,60382, + 60402,60421,60441,60460,60479,60499,60518,60537, + 60556,60576,60595,60614,60633,60652,60671,60690, + 60709,60728,60747,60766,60785,60803,60822,60841, + 60859,60878,60897,60915,60934,60952,60971,60989, + 61007,61026,61044,61062,61081,61099,61117,61135, + 61153,61171,61189,61207,61225,61243,61261,61279, + 61297,61314,61332,61350,61367,61385,61403,61420, + 61438,61455,61473,61490,61507,61525,61542,61559, + 61577,61594,61611,61628,61645,61662,61679,61696, + 61713,61730,61747,61764,61780,61797,61814,61831, + 61847,61864,61880,61897,61913,61930,61946,61963, + 61979,61995,62012,62028,62044,62060,62076,62092, + 62108,62125,62141,62156,62172,62188,62204,62220, + 62236,62251,62267,62283,62298,62314,62329,62345, + 62360,62376,62391,62407,62422,62437,62453,62468, + 62483,62498,62513,62528,62543,62558,62573,62588, + 62603,62618,62633,62648,62662,62677,62692,62706, + 62721,62735,62750,62764,62779,62793,62808,62822, + 62836,62850,62865,62879,62893,62907,62921,62935, + 62949,62963,62977,62991,63005,63019,63032,63046, + 63060,63074,63087,63101,63114,63128,63141,63155, + 63168,63182,63195,63208,63221,63235,63248,63261, + 63274,63287,63300,63313,63326,63339,63352,63365, + 63378,63390,63403,63416,63429,63441,63454,63466, + 63479,63491,63504,63516,63528,63541,63553,63565, + 63578,63590,63602,63614,63626,63638,63650,63662, + 63674,63686,63698,63709,63721,63733,63745,63756, + 63768,63779,63791,63803,63814,63825,63837,63848, + 63859,63871,63882,63893,63904,63915,63927,63938, + 63949,63960,63971,63981,63992,64003,64014,64025, + 64035,64046,64057,64067,64078,64088,64099,64109, + 64120,64130,64140,64151,64161,64171,64181,64192, + 64202,64212,64222,64232,64242,64252,64261,64271, + 64281,64291,64301,64310,64320,64330,64339,64349, + 64358,64368,64377,64387,64396,64405,64414,64424, + 64433,64442,64451,64460,64469,64478,64487,64496, + 64505,64514,64523,64532,64540,64549,64558,64566, + 64575,64584,64592,64600,64609,64617,64626,64634, + 64642,64651,64659,64667,64675,64683,64691,64699, + 64707,64715,64723,64731,64739,64747,64754,64762, + 64770,64777,64785,64793,64800,64808,64815,64822, + 64830,64837,64844,64852,64859,64866,64873,64880, + 64887,64895,64902,64908,64915,64922,64929,64936, + 64943,64949,64956,64963,64969,64976,64982,64989, + 64995,65002,65008,65015,65021,65027,65033,65040, + 65046,65052,65058,65064,65070,65076,65082,65088, + 65094,65099,65105,65111,65117,65122,65128,65133, + 65139,65144,65150,65155,65161,65166,65171,65177, + 65182,65187,65192,65197,65202,65207,65212,65217, + 65222,65227,65232,65237,65242,65246,65251,65256, + 65260,65265,65270,65274,65279,65283,65287,65292, + 65296,65300,65305,65309,65313,65317,65321,65325, + 65329,65333,65337,65341,65345,65349,65352,65356, + 65360,65363,65367,65371,65374,65378,65381,65385, + 65388,65391,65395,65398,65401,65404,65408,65411, + 65414,65417,65420,65423,65426,65429,65431,65434, + 65437,65440,65442,65445,65448,65450,65453,65455, + 65458,65460,65463,65465,65467,65470,65472,65474, + 65476,65478,65480,65482,65484,65486,65488,65490, + 65492,65494,65496,65497,65499,65501,65502,65504, + 65505,65507,65508,65510,65511,65513,65514,65515, + 65516,65518,65519,65520,65521,65522,65523,65524, + 65525,65526,65527,65527,65528,65529,65530,65530, + 65531,65531,65532,65532,65533,65533,65534,65534, + 65534,65535,65535,65535,65535,65535,65535,65535 }; angle_t tantoangle[SLOPERANGE+1] = { diff --git a/src/w_wad.c b/src/w_wad.c index fc41c9e1..d4447be9 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -121,7 +121,7 @@ char *AddDefaultExtension(char *path, const char *ext) // CPhipps - source is an enum // // proff - changed using pointer to wadfile_info_t -static void W_AddFile(wadfile_info_t *wadfile) +static void W_AddFile(wadfile_info_t *wadfile) // killough 1/31/98: static, const { wadinfo_t header; @@ -141,12 +141,12 @@ static void W_AddFile(wadfile_info_t *wadfile) #ifdef MEMORY_LOW wadfile->handle = open(wadfile->name, O_RDONLY | O_BINARY); - if (wadfile->handle == -1) + if (wadfile->handle == -1) #else //precache into memory instead of reading from disk wadfile->handle = fopen(wadfile->name, "rb"); - if (wadfile->handle == 0) + if (wadfile->handle == 0) #endif { if ( strlen(wadfile->name)<=4 || // add error check -- killough @@ -161,16 +161,17 @@ static void W_AddFile(wadfile_info_t *wadfile) stat(wadfile->name, &statbuf); wadfile->length = statbuf.st_size; wadfile->data = malloc(statbuf.st_size); - fread(wadfile->data, statbuf.st_size, 1, wadfile->handle); + if ( fread(wadfile->data, statbuf.st_size, 1, wadfile->handle) != 1) + I_Error("W_AddFile: couldn't read wad data"); #endif //jff 8/3/98 use logical output routine lprintf (LO_INFO," adding %s\n",wadfile->name); startlump = numlumps; - if ( strlen(wadfile->name)<=4 || + if ( strlen(wadfile->name)<=4 || ( - strcasecmp(wadfile->name+strlen(wadfile->name)-4,".wad") && + strcasecmp(wadfile->name+strlen(wadfile->name)-4,".wad") && strcasecmp(wadfile->name+strlen(wadfile->name)-4,".gwa") ) ) @@ -450,7 +451,7 @@ void W_Init(void) numlumps = 0; lumpinfo = NULL; - { // CPhipps - new wadfiles array used + { // CPhipps - new wadfiles array used // open all the files, load headers, and count lumps unsigned i; for (i=0; i < numwadfiles; i++) @@ -556,4 +557,3 @@ void W_ReadLump(int lump, void *dest) } } } - diff --git a/src/w_wad.h b/src/w_wad.h index 9c1e5170..82a4e6a3 100644 --- a/src/w_wad.h +++ b/src/w_wad.h @@ -134,7 +134,7 @@ extern int numlumps; int (W_FindNumFromName)(const char *name, lumpinfo_namespace_t ns, int lump); int W_ListNumFromName(const char *name, int lump); #define W_CheckNumForName(name) (W_CheckNumForName)(name, ns_global) -static INLINE int (W_CheckNumForName)(const char *name, int ns) +static INLINE int (W_CheckNumForName)(const char *name, lumpinfo_namespace_t ns) { return (W_FindNumFromName)(name, ns, -1); } int W_GetNumForName (const char* name); int W_LumpLength (int lump);