diff options
Diffstat (limited to 'src/lua')
-rw-r--r-- | src/lua/audio/Source.h | 93 | ||||
-rw-r--r-- | src/lua/libraries/luax/luax.h | 386 | ||||
-rw-r--r-- | src/lua/modules/audio/luaopen_Source.cpp (renamed from src/lua/audio/luaopen_Source.cpp) | 4 | ||||
-rw-r--r-- | src/lua/modules/audio/luaopen_audio.cpp (renamed from src/lua/audio/luaopen_audio.cpp) | 4 | ||||
-rw-r--r-- | src/lua/modules/bit/luaopen_bit.cpp (renamed from src/lua/bit/luaopen_bit.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/core/luaopen_core.cpp (renamed from src/lua/core/luaopen_core.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/embed/boot.lua.h (renamed from src/lua/embed/boot.lua.h) | 23 | ||||
-rw-r--r-- | src/lua/modules/embed/embed.h (renamed from src/lua/embed/embed.h) | 0 | ||||
-rw-r--r-- | src/lua/modules/embed/graphics.lua.h (renamed from src/lua/embed/graphics.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/modules/embed/keyboard.lua.h (renamed from src/lua/embed/keyboard.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/modules/embed/mouse.lua.h (renamed from src/lua/embed/mouse.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/modules/embed/net.lua.h (renamed from src/lua/embed/net.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/modules/embed/path.lua.h (renamed from src/lua/embed/path.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/modules/event/luaopen_event.cpp (renamed from src/lua/event/luaopen_event.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/filesystem/luaopen_filesystem.cpp (renamed from src/lua/filesystem/luaopen_filesystem.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/graphics/luaopen_Canvas.cpp (renamed from src/lua/graphics/luaopen_Canvas.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/graphics/luaopen_Font.cpp (renamed from src/lua/graphics/luaopen_Font.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/graphics/luaopen_Image.cpp (renamed from src/lua/graphics/luaopen_Image.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/graphics/luaopen_JSL.cpp (renamed from src/lua/graphics/luaopen_JSL.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/graphics/luaopen_graphics.cpp (renamed from src/lua/graphics/luaopen_graphics.cpp) | 6 | ||||
-rw-r--r-- | src/lua/modules/joypad/luaopen_joypad.cpp (renamed from src/lua/joypad/luaopen_joypad.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/keyboard/luaopen_keyboard.cpp (renamed from src/lua/keyboard/luaopen_keyboard.cpp) | 4 | ||||
-rw-r--r-- | src/lua/modules/luaopen_jin.cpp (renamed from src/lua/luaopen_jin.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/luaopen_jin.h (renamed from src/lua/luaopen_jin.h) | 2 | ||||
-rw-r--r-- | src/lua/modules/luax.h (renamed from src/lua/luax.h) | 2 | ||||
-rw-r--r-- | src/lua/modules/math/luaopen_math.cpp (renamed from src/lua/math/luaopen_math.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/mouse/luaopen_mouse.cpp (renamed from src/lua/mouse/luaopen_mouse.cpp) | 2 | ||||
-rw-r--r-- | src/lua/modules/net/Buffer.h (renamed from src/lua/net/Buffer.h) | 2 | ||||
-rw-r--r-- | src/lua/modules/net/luaopen_Buffer.cpp (renamed from src/lua/net/luaopen_Buffer.cpp) | 4 | ||||
-rw-r--r-- | src/lua/modules/net/luaopen_Socket.cpp (renamed from src/lua/net/luaopen_Socket.cpp) | 4 | ||||
-rw-r--r-- | src/lua/modules/net/luaopen_net.cpp (renamed from src/lua/net/luaopen_net.cpp) | 4 | ||||
-rw-r--r-- | src/lua/modules/thread/Thread.cpp (renamed from src/lua/thread/Thread.cpp) | 0 | ||||
-rw-r--r-- | src/lua/modules/thread/Thread.h (renamed from src/lua/thread/Thread.h) | 2 | ||||
-rw-r--r-- | src/lua/modules/thread/luaopen_thread.cpp (renamed from src/lua/thread/luaopen_thread.cpp) | 6 | ||||
-rw-r--r-- | src/lua/modules/time/luaopen_time.cpp (renamed from src/lua/time/luaopen_time.cpp) | 2 | ||||
-rw-r--r-- | src/lua/resources/embed.py | 56 | ||||
-rw-r--r-- | src/lua/resources/font.ttf | bin | 0 -> 84564 bytes | |||
-rw-r--r-- | src/lua/resources/font.ttf.h | 3291 | ||||
-rw-r--r-- | src/lua/thread/luaopen_Thread.cpp | 248 |
39 files changed, 3783 insertions, 384 deletions
diff --git a/src/lua/audio/Source.h b/src/lua/audio/Source.h deleted file mode 100644 index 094ad12..0000000 --- a/src/lua/audio/Source.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef __JIN_LUA_AUDIO_SOURCE_H -#define __JIN_LUA_AUDIO_SOURCE_H -#include "libjin/jin.h" -#include "../luaopen_types.h" - -namespace jin -{ -namespace lua -{ -namespace audio -{ - - class Source : public Object - { - public: - void play() - { - source->play(); - } - - void stop() - { - source->stop(); - } - - void pause() - { - source->pause(); - } - - void resume() - { - source->resume(); - } - - void rewind() - { - source->rewind(); - } - - bool isStopped() const - { - return source->isStopped(); - } - - bool isPaused() const - { - return source->isPaused(); - } - - void setPitch(float pitch) - { - source->setPitch(pitch); - } - - void setVolume(float volume) - { - source->setVolume(volume); - } - - bool setLoop(bool loop) - { - return source->setLoop(loop); - } - - void setRate(float rate) - { - source->setRate(rate); - } - - inline static Source * createSource(void* mem, size_t size) - { - Source* src = new Source; - src->source = jin::audio::SDLSource::createSource(mem, size); - return src; - } - - private: - ~Source() - { - source->stop(); - delete source; - } - - jin::audio::SDLSource* source; - - }; - -} // audio -} // lua -} // jin - -#endif
\ No newline at end of file diff --git a/src/lua/libraries/luax/luax.h b/src/lua/libraries/luax/luax.h new file mode 100644 index 0000000..56023b3 --- /dev/null +++ b/src/lua/libraries/luax/luax.h @@ -0,0 +1,386 @@ +/** +* Copyright (C) 2018 chai +* +* Permission is hereby granted, free of charge, to any person obtaining a copy +* of this software and associated documentation files (the "Software"), to deal +* in the Software without restriction, including without limitation the rights +* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +* copies of the Software, and to permit persons to whom the Software is furnished +* to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included in all +* copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/** +* include following 3 files before this +* lua.h +* lauxlib.h +* lualib.h +*/ +#ifndef __LUAX_H +#define __LUAX_H +// only for lua 5.1 +#if LUA_VERSION_NUM == 501 + +#define LUAX_VERSION "0.1.0" + +#define luax_newstate luaL_newstate +#define luax_close lua_close +#define luax_openlibs luaL_openlibs +// load chunk but dont run it +#define luax_loadbuffer luaL_loadbuffer +#define luax_dostring luaL_dostring +#define luax_pcall lua_pcall +#define luax_setglobal lua_setglobal +#define luax_pop lua_pop +#define luax_newtable lua_newtable +#define luax_getglobal lua_getglobal +/** +* +*/ +#define luax_setglobal_string(L, n, v) (lua_pushstring(L, v), lua_setglobal(L, n)) + +/** +* Get number of args +*/ +#define luax_gettop lua_gettop + +#define luax_gettable lua_gettable + +/** +* Check userdata type. +*/ +#define luax_checktype luaL_checkudata +#define luax_checknumber luaL_checknumber +#define luax_checkinteger luaL_checkinteger +#define luax_checkstring luaL_checkstring +#define luax_checklstring luaL_checklstring +#define luax_touserdata lua_touserdata +#define luax_tolightuserdata lua_touserdata +//#define luax_checkbool luaL_checkinteger +inline bool luax_checkbool(lua_State *L, int numArg) +{ + bool b = false; + if (lua_type(L, numArg) == LUA_TBOOLEAN) + { + b = lua_toboolean(L, numArg); + } + else + { + luaL_typerror(L, numArg, lua_typename(L, LUA_TBOOLEAN)); + } + return b; +} + +/** +* Oprating tables. +*/ +#define luax_rawgetnumber(L, i, k) (lua_rawgeti(L,i, k), lua_tonumber(L, -1)) + +/** +* +*/ +#define luax_typerror luaL_typerror + + +/** +* Error checking +*/ +#define luax_error luaL_error + +/** +* Push value on the top of stack. +*/ +#define luax_pushnumber lua_pushnumber +#define luax_pushstring lua_pushstring +#define luax_pushlstring lua_pushlstring +#define luax_pushinteger lua_pushinteger +#define luax_pushboolean lua_pushboolean +#define luax_pushlightuserdata lua_pushlightuserdata + +//inline void luax_pushuserdata(lua_State* L, void* p) +//{ +// /** +// * https://stackoverflow.com/questions/15038796/lua-c-api-push-existing-pointers +// */ +// void** box = (void**)lua_newuserdata(L, sizeof(p)); +// *box = p; +// +//} + +#define luax_rawseti lua_rawseti + +/** +* Set field +*/ +#define luax_setfield lua_setfield +#define luax_setfield_(T, L, k, v)\ + do { lua_push##T(L, v); lua_setfield(L, -2, k); } while (0) + +#define luax_setfield_number(L, k, v) luax_setfield_(number, L, k, v) +#define luax_setfield_string(L, k, v) luax_setfield_(string, L, k, v) +#define luax_setfield_bool(L, k, v) luax_setfield_(boolean, L, k, v) +#define luax_setfield_udata(L, k, v) luax_setfield_(lightuserdata, L, k, v) +#define luax_setfield_cfunc(L, k, v) luax_setfield_(cfunction, L, k, v) +#define luax_setfield_fstring(L, k, ...)\ + do { lua_pushfstring(L, __VA_ARGS__); lua_setfield(L, -2, k); } while (0) + +/** +* If nosuch field push a nil at the top of stack. +*/ +#define luax_getfield(L, I, N) lua_getfield(L, I, N) +inline float luax_getfield_number(lua_State* L, int I, const char* N) +{ + luax_getfield(L, I, N); + float n = luax_checknumber(L, -1); + return n; +} +inline int luax_getfield_integer(lua_State* L, int I, const char* N) +{ + luax_getfield(L, I, N); + int bin = luax_checkinteger(L, -1); + return bin; +} +inline const char* luax_getfield_string(lua_State* L, int I, const char* N) +{ + luax_getfield(L, I, N); + const char* str = luax_checkstring(L, -1); + return str; +} +inline char luax_getfield_bool(lua_State* L, int I, const char* N) +{ + luax_getfield(L, I, N); + char bin = lua_toboolean(L, -1); + return bin; +} + +/** +* Set raw +*/ +#define luax_setraw_(T, L, idx, i, v)\ + (lua_push##T(L, v), lua_rawseti(L, idx, i)) + +#define luax_setraw_string(L, idx, i, v) luax_setraw_(string, L, idx, i, v) +#define luax_setraw_number(L, idx, i, v) luax_setraw_(number, L, idx, i, v) +#define luax_setraw_bool(L, idx, i, v) luax_setraw_(boolean, L, idx, i, v) + +/** +* +*/ +#define luax_optboolean(L, i, x)\ + (!lua_isnoneornil(L, i) ? lua_toboolean(L, i) : (x)) +#define luax_optudata(L, i, name, x)\ + (!lua_isnoneornil(L, i) ? luaL_checkudata(L, i, name) : (x)) +#define luax_optnumber luaL_optnumber + +inline int luax_newlib(lua_State* L, const luaL_Reg* f) +{ + lua_createtable(L, 0, sizeof(f)); + for (; f && f->name; ++f) + { + lua_pushcfunction(L, f->func); + lua_setfield(L, -2, f->name); + } + return 1; // leave lib table on top of stack +} + +/** +* Register a userdefined lua type with given type name. +*/ +inline void luax_newtype(lua_State* L, const char* tname, const luaL_Reg* f) +{ + luaL_newmetatable(L, tname); + + // m.__index = m + lua_pushvalue(L, -1); + lua_setfield(L, -2, "__index"); + + if (f != 0) + luaL_register(L, 0, f); + + lua_pop(L, 1); // Pops metatable. +} + +/** +* Instance of a type. +*/ +inline void* luax_newinstance(lua_State* L, const char* tname, int size) +{ + void* p = lua_newuserdata(L, size); + + luaL_newmetatable(L, tname); + lua_setmetatable(L, -2); + + return p; +} + +/** +* require a module +*/ +inline int luax_require(lua_State* L, const char* mname, lua_CFunction openf, int glb) +{ + openf(L); + if (glb) + { + lua_setglobal(L, mname); + return 0; + } + return 1; +} + +/** +* Return 1 if match. +*/ +inline int luax_istype(lua_State* L, int idx, const char* tname) +{ + if (lua_getmetatable(L, idx)) + { + /* get metatable called tname */ + lua_getfield(L, LUA_REGISTRYINDEX, tname); + if (lua_rawequal(L, -1, -2)) + { + lua_pop(L, 2); // pop both metatables + return 1; + } + lua_pop(L, 2); + return 0; + } + /* value at idx has no metatable */ + return 0; +} + +#define luax_is(T, L, i) (lua_is##T(L, i)) +#define luax_isnumber(L, i) luax_is(number, L, i) +#define luax_isstring(L, i) luax_is(string, L, i) +#define luax_istable(L, i) luax_is(table, L, i) +#define luax_isnil(L, i) luax_is(nil, L, i) +#define luax_isboolean(L, i) luax_is(boolean, L, i) +#define luax_isuserdata lua_isuserdata +#define luax_islightuserdata lua_islightuserdata +inline int luax_isinteger(lua_State* L, int i) +{ + if (!luax_isnumber(L, i)) + return 0; + return lua_tonumber(L, i) == lua_tointeger(L, i); +} +inline int luax_isfloat(lua_State* L, int i) +{ + if (!luax_isnumber(L, i)) + return 0; + return lua_tonumber(L, i) != lua_tointeger(L, i); +} + +#define luax_isnumberstrict(L, i) (lua_type(L, i) == LUA_TNUMBER) +#define luax_isstringstrict(L, i) (lua_type(L, i) == LUA_TSTRING) +#define luax_isbooleanstrict(L, i) (lua_type(L, i) == LUA_TBOOLEAN) +#define luax_istablestrict(L, i) (lua_type(L, i) == LUA_TTABLE) +#define luax_isnilstrict(L, i) (lua_type(L, i) == LUA_TNIL) +inline int luax_isintegerstrict(lua_State* L, int i) +{ + if (!luax_isnumberstrict(L, i)) + return 0; + return lua_tonumber(L, i) == lua_tointeger(L, i); +} +inline int luax_isfloatstrict(lua_State* L, int i) +{ + if (!luax_isnumberstrict(L, i)) + return 0; + return lua_tonumber(L, i) != lua_tointeger(L, i); +} + +/** +* To userdata. +*/ +inline void* luax_toudata(lua_State* L, int idx) +{ + void* p = lua_touserdata(L, idx); + if (p == NULL) + luaL_typerror(L, idx, "userdata"); // if p is not userdata + return p; +} + +/** +* Get table index size. +*/ +inline int luax_tableidxlen(lua_State* L, int i) +{ + return lua_objlen(L, i); +} + +/** +* Get table hash size +inline int luax_tbalehashlen(lua_State* L, int i) +{ + +} +*/ + +/** +* Get table hash and index size +inline int luax_tablelen(lua_State* L, int i) +{ + +} +*/ + +/** +* Set value i in stack a global value called v, and +* don't pop it. +*/ +#define luax_justglobal(L, i, v) (lua_pushvalue(L, i), lua_setglobal(L, v)) + +inline int luax_table_insert(lua_State * L, int tindex, int vindex, int pos) +{ + if (tindex < 0) + tindex = lua_gettop(L) + 1 + tindex; + if (vindex < 0) + vindex = lua_gettop(L) + 1 + vindex; + if (pos == -1) + { + lua_pushvalue(L, vindex); + lua_rawseti(L, tindex, lua_objlen(L, tindex) + 1); + return 0; + } + else if (pos < 0) + pos = lua_objlen(L, tindex) + 1 + pos; + for (int i = lua_objlen(L, tindex) + 1; i > pos; --i) + { + lua_rawgeti(L, tindex, i - 1); + lua_rawseti(L, tindex, i); + } + lua_pushvalue(L, vindex); + lua_rawseti(L, tindex, pos); + return 0; +} + +/** +* Add the package loader to the package.loaders table. +*/ +inline int luax_register_searcher(lua_State * L, lua_CFunction f, int pos) +{ + lua_getglobal(L, "package"); + + if (lua_isnil(L, -1)) + return luaL_error(L, "Can't register searcher: package table does not exist."); + + lua_getfield(L, -1, "loaders"); + + if (lua_isnil(L, -1)) + return luaL_error(L, "Can't register searcher: package.loaders table does not exist."); + + lua_pushcfunction(L, f); + luax_table_insert(L, -2, -1, pos); + lua_pop(L, 3); + return 0; +} + +#endif // #if LUA_VERSION_NUM == 501 + +#endif // __LUAX_H
\ No newline at end of file diff --git a/src/lua/audio/luaopen_Source.cpp b/src/lua/modules/audio/luaopen_Source.cpp index aa71184..4c98ead 100644 --- a/src/lua/audio/luaopen_Source.cpp +++ b/src/lua/modules/audio/luaopen_Source.cpp @@ -1,6 +1,6 @@ -#include "lua/luax.h" #include "libjin/jin.h" -#include "../common/common.h" +#include "lua/modules/luax.h" +#include "lua/common/common.h" namespace jin { diff --git a/src/lua/audio/luaopen_audio.cpp b/src/lua/modules/audio/luaopen_audio.cpp index c87df3a..1c44374 100644 --- a/src/lua/audio/luaopen_audio.cpp +++ b/src/lua/modules/audio/luaopen_audio.cpp @@ -1,5 +1,5 @@ -#include "lua/luax.h" -#include "../common/common.h" +#include "lua/modules/luax.h" +#include "lua/common/common.h" #include "libjin/jin.h" namespace jin diff --git a/src/lua/bit/luaopen_bit.cpp b/src/lua/modules/bit/luaopen_bit.cpp index 3b086bb..5b18125 100644 --- a/src/lua/bit/luaopen_bit.cpp +++ b/src/lua/modules/bit/luaopen_bit.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" #include <cstdlib> diff --git a/src/lua/core/luaopen_core.cpp b/src/lua/modules/core/luaopen_core.cpp index 3b234b6..0243554 100644 --- a/src/lua/core/luaopen_core.cpp +++ b/src/lua/modules/core/luaopen_core.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" namespace jin diff --git a/src/lua/embed/boot.lua.h b/src/lua/modules/embed/boot.lua.h index 36615b0..32d3e1d 100644 --- a/src/lua/embed/boot.lua.h +++ b/src/lua/modules/embed/boot.lua.h @@ -26,6 +26,16 @@ local function call(func, ...) end end +jin.core.setHandler = function(handler) + if handler == nil then + return + end + jin.core.onLoad = handler.onLoad + jin.core.onEvent = handler.onEvent + jin.core.onUpdate = handler.onUpdate + jin.core.onDraw = handler.onDraw +end + function jin.core.run() call(jin.core.onLoad) local previous = jin.time.second() @@ -96,18 +106,18 @@ jin.nogame = { ww2 = 6*2, speed = 4, t = 0, - load = function() + onLoad = function() local nogame = jin.nogame nogame.cw = nogame.sw / nogame.cs nogame.ch = nogame.sh / nogame.cs nogame.t = nogame.ww - 1 end, - event = function(e) + onEvent = function(e) if e.type == 'quit' then jin.core.stop() end end, - update = function(dt) + onUpdate = function(dt) local nogame = jin.nogame nogame.t = nogame.t + dt * nogame.speed if nogame.t > nogame.ww2 then @@ -124,7 +134,7 @@ jin.nogame = { jin.graphics.color(155 + 100 * math.sin(fact), 155 + 100 * math.cos(fact), 155 + 100 * math.sin(fact * fact), 255) jin.graphics.circle("fill", x*nogame.cs + nogame.cs/2, y*nogame.cs + nogame.cs/2, r) end, - draw = function() + onDraw = function() local nogame = jin.nogame for y = 0, nogame.ch - 1 do for x = 0, nogame.cw - 1 do @@ -145,10 +155,7 @@ local function boot() jin.core.run() else -- no game - jin.core.onLoad = jin.nogame.load - jin.core.onEvent = jin.nogame.event - jin.core.onUpdate = jin.nogame.update - jin.core.onDraw = jin.nogame.draw + jin.core.setHandler(jin.nogame) jin.core.run() end -- quit subsystems diff --git a/src/lua/embed/embed.h b/src/lua/modules/embed/embed.h index 18ed1d8..18ed1d8 100644 --- a/src/lua/embed/embed.h +++ b/src/lua/modules/embed/embed.h diff --git a/src/lua/embed/graphics.lua.h b/src/lua/modules/embed/graphics.lua.h index 1414efc..1414efc 100644 --- a/src/lua/embed/graphics.lua.h +++ b/src/lua/modules/embed/graphics.lua.h diff --git a/src/lua/embed/keyboard.lua.h b/src/lua/modules/embed/keyboard.lua.h index 77bf3a9..77bf3a9 100644 --- a/src/lua/embed/keyboard.lua.h +++ b/src/lua/modules/embed/keyboard.lua.h diff --git a/src/lua/embed/mouse.lua.h b/src/lua/modules/embed/mouse.lua.h index 3c222f3..3c222f3 100644 --- a/src/lua/embed/mouse.lua.h +++ b/src/lua/modules/embed/mouse.lua.h diff --git a/src/lua/embed/net.lua.h b/src/lua/modules/embed/net.lua.h index 4d89dc7..4d89dc7 100644 --- a/src/lua/embed/net.lua.h +++ b/src/lua/modules/embed/net.lua.h diff --git a/src/lua/embed/path.lua.h b/src/lua/modules/embed/path.lua.h index 648adf8..648adf8 100644 --- a/src/lua/embed/path.lua.h +++ b/src/lua/modules/embed/path.lua.h diff --git a/src/lua/event/luaopen_event.cpp b/src/lua/modules/event/luaopen_event.cpp index fd113c6..af9f8fc 100644 --- a/src/lua/event/luaopen_event.cpp +++ b/src/lua/modules/event/luaopen_event.cpp @@ -1,7 +1,7 @@ /** * Event module */ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" namespace jin diff --git a/src/lua/filesystem/luaopen_filesystem.cpp b/src/lua/modules/filesystem/luaopen_filesystem.cpp index f764a68..55f4c06 100644 --- a/src/lua/filesystem/luaopen_filesystem.cpp +++ b/src/lua/modules/filesystem/luaopen_filesystem.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" #include <string> diff --git a/src/lua/graphics/luaopen_Canvas.cpp b/src/lua/modules/graphics/luaopen_Canvas.cpp index 0009ff4..d94e578 100644 --- a/src/lua/graphics/luaopen_Canvas.cpp +++ b/src/lua/modules/graphics/luaopen_Canvas.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "lua/common/common.h" #include "libjin/jin.h" diff --git a/src/lua/graphics/luaopen_Font.cpp b/src/lua/modules/graphics/luaopen_Font.cpp index 5e13806..c5789ad 100644 --- a/src/lua/graphics/luaopen_Font.cpp +++ b/src/lua/modules/graphics/luaopen_Font.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "lua/common/common.h" #include "libjin/jin.h" diff --git a/src/lua/graphics/luaopen_Image.cpp b/src/lua/modules/graphics/luaopen_Image.cpp index df9b411..0f68873 100644 --- a/src/lua/graphics/luaopen_Image.cpp +++ b/src/lua/modules/graphics/luaopen_Image.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "lua/common/common.h" #include "libjin/jin.h" diff --git a/src/lua/graphics/luaopen_JSL.cpp b/src/lua/modules/graphics/luaopen_JSL.cpp index 1c46f84..c7a257a 100644 --- a/src/lua/graphics/luaopen_JSL.cpp +++ b/src/lua/modules/graphics/luaopen_JSL.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "lua/common/common.h" #include "libjin/jin.h" diff --git a/src/lua/graphics/luaopen_graphics.cpp b/src/lua/modules/graphics/luaopen_graphics.cpp index c189675..f0a7f5b 100644 --- a/src/lua/graphics/luaopen_graphics.cpp +++ b/src/lua/modules/graphics/luaopen_graphics.cpp @@ -1,7 +1,7 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" #include "lua/common/common.h" -#include "lua/embed/graphics.lua.h" +#include "lua/modules/embed/graphics.lua.h" namespace jin { @@ -395,7 +395,7 @@ namespace lua { if (context.defaultFont == 0) { - #include "data/font.ttf.h" + #include "lua/resources/font.ttf.h" // load default font context.defaultFont = new Font(); context.defaultFont->loadb(font_ttf); diff --git a/src/lua/joypad/luaopen_joypad.cpp b/src/lua/modules/joypad/luaopen_joypad.cpp index 6c98c3b..d305878 100644 --- a/src/lua/joypad/luaopen_joypad.cpp +++ b/src/lua/modules/joypad/luaopen_joypad.cpp @@ -1,5 +1,5 @@ #include "libjin/jin.h" -#include "lua/luax.h" +#include "lua/modules/luax.h" namespace jin { diff --git a/src/lua/keyboard/luaopen_keyboard.cpp b/src/lua/modules/keyboard/luaopen_keyboard.cpp index ea1386c..9d27a4f 100644 --- a/src/lua/keyboard/luaopen_keyboard.cpp +++ b/src/lua/modules/keyboard/luaopen_keyboard.cpp @@ -1,5 +1,5 @@ -#include "lua/luax.h" -#include "lua/embed/keyboard.lua.h" +#include "lua/modules/luax.h" +#include "lua/modules/embed/keyboard.lua.h" namespace jin { diff --git a/src/lua/luaopen_jin.cpp b/src/lua/modules/luaopen_jin.cpp index ffb0f45..dbbac31 100644 --- a/src/lua/luaopen_jin.cpp +++ b/src/lua/modules/luaopen_jin.cpp @@ -1,5 +1,5 @@ #include "luaopen_jin.h" -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "embed/embed.h" namespace jin diff --git a/src/lua/luaopen_jin.h b/src/lua/modules/luaopen_jin.h index 8bd902e..07531b2 100644 --- a/src/lua/luaopen_jin.h +++ b/src/lua/modules/luaopen_jin.h @@ -21,7 +21,7 @@ #ifndef __JIN_M_JIN_H #define __JIN_M_JIN_H -#include "lua/luax.h" +#include "luax.h" #define MODULE_NAME "jin" #define VERSION "0.1.1" diff --git a/src/lua/luax.h b/src/lua/modules/luax.h index 78c15a6..89e456e 100644 --- a/src/lua/luax.h +++ b/src/lua/modules/luax.h @@ -2,6 +2,6 @@ #define __JIN_LUA_LUAX_H #include "LuaJIT/lua.hpp" -#include "3rdparty/luax/luax.h" +#include "lua/libraries/luax/luax.h" #endif
\ No newline at end of file diff --git a/src/lua/math/luaopen_math.cpp b/src/lua/modules/math/luaopen_math.cpp index 0a82271..fa59e04 100644 --- a/src/lua/math/luaopen_math.cpp +++ b/src/lua/modules/math/luaopen_math.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" namespace jin diff --git a/src/lua/mouse/luaopen_mouse.cpp b/src/lua/modules/mouse/luaopen_mouse.cpp index d3488f3..f907abb 100644 --- a/src/lua/mouse/luaopen_mouse.cpp +++ b/src/lua/modules/mouse/luaopen_mouse.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" namespace jin diff --git a/src/lua/net/Buffer.h b/src/lua/modules/net/Buffer.h index 89a4fc0..31e6df8 100644 --- a/src/lua/net/Buffer.h +++ b/src/lua/modules/net/Buffer.h @@ -3,7 +3,7 @@ #include <cstring> #include <cstdlib> -#include "../common/common.h" +#include "lua/common/common.h" namespace jin { diff --git a/src/lua/net/luaopen_Buffer.cpp b/src/lua/modules/net/luaopen_Buffer.cpp index 1018dcc..cb5b952 100644 --- a/src/lua/net/luaopen_Buffer.cpp +++ b/src/lua/modules/net/luaopen_Buffer.cpp @@ -1,5 +1,5 @@ -#include "lua/luax.h" -#include "../common/common.h" +#include "lua/modules/luax.h" +#include "lua/common/common.h" #include "libjin/jin.h" #include "Buffer.h" diff --git a/src/lua/net/luaopen_Socket.cpp b/src/lua/modules/net/luaopen_Socket.cpp index def3d43..2e5d9f3 100644 --- a/src/lua/net/luaopen_Socket.cpp +++ b/src/lua/modules/net/luaopen_Socket.cpp @@ -1,5 +1,5 @@ -#include "lua/luax.h" -#include "../common/common.h" +#include "lua/modules/luax.h" +#include "lua/common/common.h" #include "libjin/jin.h" #include "Buffer.h" diff --git a/src/lua/net/luaopen_net.cpp b/src/lua/modules/net/luaopen_net.cpp index 12e87eb..e7e55c4 100644 --- a/src/lua/net/luaopen_net.cpp +++ b/src/lua/modules/net/luaopen_net.cpp @@ -1,6 +1,6 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" -#include "../common/common.h" +#include "lua/common/common.h" #include "Buffer.h" namespace jin diff --git a/src/lua/thread/Thread.cpp b/src/lua/modules/thread/Thread.cpp index 8df3255..8df3255 100644 --- a/src/lua/thread/Thread.cpp +++ b/src/lua/modules/thread/Thread.cpp diff --git a/src/lua/thread/Thread.h b/src/lua/modules/thread/Thread.h index 3b2cbaf..645d4a1 100644 --- a/src/lua/thread/Thread.h +++ b/src/lua/modules/thread/Thread.h @@ -1,5 +1,5 @@ #include "libjin/jin.h" -#include "../common/common.h" +#include "lua/common/common.h" namespace jin { diff --git a/src/lua/thread/luaopen_thread.cpp b/src/lua/modules/thread/luaopen_thread.cpp index 141b873..65a7c29 100644 --- a/src/lua/thread/luaopen_thread.cpp +++ b/src/lua/modules/thread/luaopen_thread.cpp @@ -1,7 +1,7 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include "libjin/jin.h" -#include "../luaopen_jin.h" -#include "../common/common.h" +#include "lua/modules/luaopen_jin.h" +#include "lua/common/common.h" #include "Thread.h" namespace jin diff --git a/src/lua/time/luaopen_time.cpp b/src/lua/modules/time/luaopen_time.cpp index d77b713..39743b4 100644 --- a/src/lua/time/luaopen_time.cpp +++ b/src/lua/modules/time/luaopen_time.cpp @@ -1,4 +1,4 @@ -#include "lua/luax.h" +#include "lua/modules/luax.h" #include <SDL2/SDL.h> #include "libjin/jin.h" diff --git a/src/lua/resources/embed.py b/src/lua/resources/embed.py new file mode 100644 index 0000000..7eb825d --- /dev/null +++ b/src/lua/resources/embed.py @@ -0,0 +1,56 @@ +import os, sys, random, re + +def fmt(fmt, dic): + for k in dic: + fmt = fmt.replace("{%s}" % k, str(dic[k])) + return fmt + + +def makeArray(data): + i = [0] + def fn(x): + x = str(ord(x)) + "," + if i[0] + len(x) > 78: + i[0] = len(x) + x = '\n' + x + else: + i[0] += len(x) + return x + return '{' + "".join(map(fn, data)).rstrip(",") + '}' + + +def safename(filename): + return re.sub("[^a-z0-9]", "_", os.path.basename(filename).lower()) + + +def process(filenames): + if type(filenames) is str: + filenames = [filenames] + + strings = [] + + for filename in filenames: + data = open(filename, "rb").read() + strings.append( + fmt("/* {filename} */\n" +\ + "static const char {name}[] = \n{array};", + { + "filename" : os.path.basename(filename), + "name" : safename(filename), + "array" : makeArray(data), + })) + + return "/* Automatically generated; do not edit */\n\n" +\ + "\n\n".join(strings) + + +def main(): + if len(sys.argv) < 2: + print "usage: embed FILENAMES" + sys.exit(1) + + print process(sys.argv[1:]) + + +if __name__ == "__main__": + main()
\ No newline at end of file diff --git a/src/lua/resources/font.ttf b/src/lua/resources/font.ttf Binary files differnew file mode 100644 index 0000000..153c608 --- /dev/null +++ b/src/lua/resources/font.ttf diff --git a/src/lua/resources/font.ttf.h b/src/lua/resources/font.ttf.h new file mode 100644 index 0000000..519d723 --- /dev/null +++ b/src/lua/resources/font.ttf.h @@ -0,0 +1,3291 @@ +/* font.ttf */ +static const unsigned char font_ttf[] = +{0,1,0,0,0,15,0,128,0,3,0,112,71,68,69,70,6,99,6,86,0,1,47,228,0,0,0,48,71,80, +79,83,21,171,160,97,0,1,48,20,0,0,25,64,71,83,85,66,114,98,110,249,0,1,73,84, +0,0,1,0,79,83,47,50,184,195,53,95,0,0,1,120,0,0,0,96,86,68,77,88,110,234,118, +79,0,0,16,160,0,0,5,224,99,109,97,112,181,231,186,55,0,0,22,128,0,0,14,170, +103,108,121,102,106,45,90,154,0,0,37,44,0,0,193,8,104,101,97,100,247,103,158, +41,0,0,0,252,0,0,0,54,104,104,101,97,16,38,141,60,0,0,1,52,0,0,0,36,104,109, +116,120,249,22,238,10,0,0,1,216,0,0,14,200,107,101,114,110,54,23,29,253,0,0, +237,156,0,0,32,214,108,111,99,97,165,22,115,246,0,0,230,52,0,0,7,102,109,97, +120,112,3,209,0,248,0,0,1,88,0,0,0,32,110,97,109,101,115,18,167,225,0,1,14, +116,0,0,3,36,112,111,115,116,65,210,41,113,0,1,17,152,0,0,30,73,0,1,0,0,0,1,0, +0,56,128,33,235,95,15,60,245,0,9,8,0,0,0,0,0,196,240,17,46,0,0,0,0,202,162,65, +188,255,85,253,206,9,99,8,115,0,0,0,9,0,2,0,0,0,0,0,0,0,1,0,0,7,108,254,12,0, +0,9,129,255,85,129,252,9,99,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,178,0,1,0,0,3, +178,0,151,0,22,0,95,0,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,3,3,147,1,144,0, +5,0,4,5,154,5,51,0,0,1,31,5,154,5,51,0,0,3,209,0,102,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,224,0,2,239,72,0,32,91,20,160,0,32,0,0,0,0,112,121,114,115,0,64,0,32,255, +253,6,0,254,0,0,102,7,154,2,0,32,0,1,159,79,1,0,0,4,58,5,176,0,0,0,32,0,2,1, +253,0,0,0,0,0,0,1,253,0,0,1,253,0,0,4,169,0,127,5,218,0,104,4,252,0,64,1,189, +0,126,2,167,0,132,2,175,0,6,3,116,0,88,4,138,0,78,1,199,0,117,3,155,0,167,2, +36,0,161,3,82,0,16,4,129,0,113,4,129,0,195,4,129,0,133,4,129,0,115,4,129,0,72, +4,129,0,152,4,129,0,137,4,129,0,97,4,129,0,102,4,129,0,93,2,5,0,161,2,13,0, +162,4,16,0,71,4,129,0,152,4,48,0,136,3,206,0,58,7,41,0,96,5,15,0,43,5,15,0, +163,5,17,0,118,5,106,0,169,4,99,0,163,4,99,0,163,5,107,0,121,5,159,0,169,2,65, +0,190,4,99,0,74,5,15,0,163,4,99,0,168,6,229,0,163,5,159,0,169,5,116,0,113,5, +15,0,163,5,147,0,113,5,17,0,165,4,228,0,121,4,201,0,37,5,106,0,147,5,15,0,22, +6,227,0,37,5,15,0,66,5,15,0,40,4,201,0,97,2,40,0,143,3,78,0,39,2,40,0,11,3,88, +0,61,3,163,0,4,2,129,0,82,4,102,0,106,4,140,0,143,4,48,0,97,4,140,0,98,4,48,0, +97,2,112,0,28,4,140,0,108,4,140,0,143,2,4,0,159,2,18,255,190,4,26,0,144,2,4,0, +159,6,254,0,143,4,140,0,143,4,140,0,97,4,140,0,143,4,140,0,98,2,205,0,143,4, +47,0,103,2,141,0,26,4,140,0,139,4,6,0,46,6,14,0,45,4,6,0,46,4,6,0,26,4,6,0,94, +2,184,0,63,1,251,0,145,2,184,0,21,5,111,0,128,1,252,0,144,4,98,0,97,4,170,0, +70,5,176,0,104,4,219,0,30,1,243,0,145,4,235,0,90,4,21,0,160,6,68,0,88,3,149,0, +120,3,198,0,77,4,113,0,127,6,68,0,88,3,182,0,103,2,251,0,128,4,73,0,99,3,100, +0,113,3,108,0,106,2,142,0,131,4,140,0,153,3,238,0,63,2,28,0,161,1,253,0,119,2, +45,0,95,3,165,0,120,3,198,0,166,5,175,0,184,6,172,0,184,6,245,0,122,3,246,0, +117,7,207,0,14,4,72,0,88,5,106,0,108,4,185,0,163,4,170,0,137,6,253,0,88,4,178, +0,72,4,146,0,71,4,142,0,97,4,162,0,153,5,162,0,30,2,3,0,153,4,120,0,153,4,53, +0,40,2,46,0,37,5,136,0,160,4,140,0,143,7,168,0,104,7,113,0,97,2,165,0,19,2,4, +0,159,2,191,255,233,5,243,0,108,4,207,0,97,6,97,0,147,5,186,0,139,2,11,255, +188,3,211,0,110,3,154,0,85,3,108,0,129,2,44,0,160,2,184,0,165,2,50,0,18,3,211, +0,135,2,250,0,100,2,161,0,182,2,14,0,36,2,14,0,210,3,191,0,135,0,0,255,187,2, +14,0,148,4,21,0,161,2,29,0,161,4,99,0,163,5,167,0,30,5,116,0,113,5,65,0,49,4, +149,0,123,5,159,0,168,4,149,0,70,5,159,0,84,5,136,0,87,5,86,0,112,4,134,0,98, +4,189,0,157,4,7,0,46,4,140,0,97,4,79,0,98,4,47,0,115,4,140,0,143,4,141,0,119, +2,160,0,197,4,140,0,56,4,19,0,45,4,165,0,79,4,140,0,143,4,78,0,98,4,140,0,97, +4,48,0,81,4,140,0,141,5,170,0,83,5,160,0,91,6,205,0,108,5,234,0,57,5,106,0, +135,8,153,0,69,8,153,0,168,5,254,0,73,5,160,0,169,5,12,0,163,6,39,0,54,6,151, +0,26,5,105,0,120,5,159,0,173,5,159,0,69,5,17,0,66,5,253,0,161,5,117,0,147,8, +31,0,164,8,100,0,164,5,171,0,1,6,213,0,163,5,10,0,163,5,105,0,181,7,33,0,190, +4,187,0,44,4,109,0,97,4,140,0,144,2,231,0,143,5,17,0,69,5,193,0,26,4,79,0,100, +4,140,0,143,4,96,0,153,4,109,0,65,5,248,0,153,4,140,0,143,4,140,0,143,4,24,0, +71,7,34,0,98,4,194,0,143,4,107,0,115,6,109,0,143,6,196,0,143,4,119,255,244,6, +81,0,153,4,89,0,153,4,78,0,99,6,135,0,153,4,139,0,117,4,140,255,242,4,79,0,97, +6,246,0,65,6,245,0,143,4,140,255,242,4,140,0,143,6,206,0,108,6,88,0,127,5,117, +0,113,4,141,0,97,4,141,0,212,4,185,0,251,4,175,1,231,4,174,1,231,4,170,0,105, +4,170,0,105,5,136,0,179,6,124,0,187,2,12,0,145,2,4,0,160,2,28,0,168,1,188,0, +85,3,97,0,145,3,97,0,160,3,88,0,176,4,105,0,70,4,146,0,87,2,183,0,137,5,100,0, +161,7,164,0,64,2,103,0,88,2,103,0,144,3,165,0,59,3,173,0,71,4,170,0,70,4,64,0, +79,5,4,0,103,6,191,0,107,7,86,0,110,7,134,0,111,6,223,0,107,4,162,0,72,5,156, +0,168,4,178,0,70,4,146,0,168,4,215,0,63,8,47,0,104,2,14,255,188,4,48,0,152,4, +56,0,158,4,64,0,154,0,0,0,169,0,0,0,93,4,9,0,125,4,10,255,85,4,15,0,110,4,10, +0,110,3,164,0,129,3,164,0,129,3,165,0,129,1,145,0,96,2,4,0,161,2,4,255,190,3, +12,255,160,3,38,0,113,4,69,0,83,4,170,0,105,4,170,0,73,4,170,0,132,4,170,0, +142,3,251,0,37,4,170,0,130,4,170,0,92,4,170,0,123,4,186,0,39,3,165,0,109,4, +121,0,153,4,146,0,112,4,170,0,153,4,71,0,153,4,31,0,153,4,211,0,112,4,251,0, +153,2,3,0,153,4,15,0,64,4,97,0,153,3,189,0,153,5,248,0,153,5,28,0,153,4,203,0, +112,4,121,0,153,4,227,0,112,4,173,0,153,4,113,0,93,4,48,0,71,5,4,0,137,4,187, +0,39,6,2,0,63,4,137,0,55,4,97,0,30,4,64,0,78,4,121,0,120,2,94,0,78,3,229,0,89, +4,22,0,90,4,104,0,71,4,31,0,90,4,48,0,120,3,189,0,71,4,48,0,88,4,40,0,71,3, +165,0,120,2,45,0,95,3,91,0,113,3,108,0,106,3,148,0,87,3,124,0,114,3,124,0,120, +3,17,0,95,3,132,0,112,3,108,0,104,2,8,0,120,5,15,0,22,4,7,0,46,5,56,0,118,4, +75,0,98,5,15,0,163,4,96,0,153,4,214,0,163,4,8,0,143,8,38,0,168,6,252,0,143,5, +145,0,89,4,66,0,94,7,185,0,169,5,176,0,143,7,55,0,63,5,147,0,73,6,203,0,77,4, +191,255,223,5,118,0,138,3,160,0,116,6,211,0,74,5,199,0,49,7,45,0,191,5,250,0, +151,4,211,0,43,4,73,0,13,8,3,0,169,6,162,0,143,6,118,0,65,7,194,0,69,4,247,0, +118,4,30,0,98,5,174,0,36,5,33,0,70,6,164,0,91,6,229,0,98,6,87,0,54,5,44,0,49, +4,75,0,80,4,9,0,123,5,7,0,91,5,105,0,156,4,100,0,163,3,99,0,143,4,8,0,41,5,15, +0,163,4,104,0,153,5,118,0,147,4,108,0,115,4,140,0,143,5,159,0,169,4,37,0,74,3, +218,0,73,7,13,0,209,6,13,0,186,5,13,0,163,4,139,0,143,4,140,0,95,2,7,0,160,6, +72,0,78,4,65,255,234,5,116,0,113,4,140,0,97,6,210,0,108,6,91,0,127,6,223,0, +149,5,236,0,149,9,22,0,190,7,227,0,153,4,20,0,0,8,41,0,0,4,20,0,0,8,41,0,0,2, +185,0,0,2,10,0,0,1,92,0,0,4,127,0,0,2,48,0,0,1,162,0,0,0,209,0,0,8,52,0,91,8, +53,0,92,3,167,0,5,5,116,0,113,4,140,0,97,0,0,0,0,0,0,0,0,4,241,0,113,5,2,0, +112,8,28,0,59,7,216,0,77,3,96,0,122,5,24,0,152,3,78,0,105,5,233,0,124,8,204,0, +169,3,210,0,106,6,146,0,164,4,140,0,98,3,202,0,161,3,108,0,129,1,253,127,255, +5,106,0,34,5,106,0,34,4,140,0,18,4,201,0,37,3,155,0,167,5,15,0,43,5,15,0,43,5, +15,0,43,5,15,0,43,5,15,0,43,5,15,0,43,5,15,0,43,5,17,0,118,4,99,0,163,4,99,0, +163,4,99,0,163,4,99,0,163,2,65,255,221,2,65,0,190,2,65,255,179,2,65,255,192,5, +159,0,169,5,116,0,113,5,116,0,113,5,116,0,113,5,116,0,113,5,116,0,113,5,106,0, +147,5,106,0,147,5,106,0,147,5,106,0,147,5,15,0,40,4,102,0,106,4,102,0,106,4, +102,0,106,4,102,0,106,4,102,0,106,4,102,0,106,4,102,0,106,4,48,0,97,4,48,0,97, +4,48,0,97,4,48,0,97,4,48,0,97,2,3,255,184,2,3,0,153,2,3,255,142,2,3,255,155,4, +140,0,143,4,140,0,97,4,140,0,97,4,140,0,97,4,140,0,97,4,140,0,97,4,140,0,139, +4,140,0,139,4,140,0,139,4,140,0,139,4,6,0,26,4,6,0,26,5,15,0,43,4,102,0,106,5, +15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,5,17,0,118,4,48,0,97,5,17,0,118,4, +48,0,97,5,17,0,118,4,48,0,97,5,17,0,118,4,48,0,97,5,106,0,169,4,140,0,98,4,99, +0,163,4,48,0,97,4,99,0,163,4,48,0,97,4,99,0,163,4,48,0,97,4,99,0,163,4,48,0, +97,4,99,0,163,4,48,0,97,5,107,0,121,4,140,0,108,5,107,0,121,4,140,0,108,5,107, +0,121,4,140,0,108,5,107,0,121,4,140,0,108,5,159,0,169,4,140,255,127,2,65,255, +199,2,3,255,162,2,65,255,171,2,3,255,134,2,65,255,247,2,3,255,210,2,65,0,57,2, +4,0,27,2,65,0,180,6,164,0,190,4,22,0,159,4,99,0,74,2,11,255,160,5,15,0,163,4, +26,0,144,4,99,0,168,2,4,0,159,4,99,0,168,2,4,0,121,4,99,0,168,2,4,0,159,4,99, +0,156,2,4,0,150,5,159,0,169,4,140,0,143,5,159,0,169,4,140,0,143,5,159,0,169,4, +140,0,143,4,140,0,143,5,116,0,113,4,140,0,97,5,116,0,113,4,140,0,97,5,116,0, +113,4,140,0,97,5,17,0,165,2,205,0,143,5,17,0,165,2,205,0,119,5,17,0,165,2,205, +0,45,4,228,0,121,4,47,0,103,4,228,0,121,4,47,0,103,4,228,0,121,4,47,0,103,4, +228,0,121,4,47,0,103,4,201,0,37,2,141,0,26,4,201,0,37,2,141,0,26,5,106,0,147, +4,140,0,139,5,106,0,147,4,140,0,139,5,106,0,147,4,140,0,139,5,106,0,147,4,140, +0,139,5,106,0,147,4,140,0,139,5,106,0,147,4,140,0,139,6,227,0,37,6,14,0,45,5, +15,0,40,4,6,0,26,5,15,0,40,4,201,0,97,4,6,0,94,4,201,0,97,4,6,0,94,4,201,0,97, +4,6,0,94,7,207,0,14,6,253,0,88,5,106,0,108,4,142,0,97,4,228,0,121,4,47,0,103, +5,15,0,43,4,99,0,163,5,159,0,169,2,65,0,185,5,116,0,113,5,15,0,40,5,86,0,112, +2,160,255,204,5,15,0,43,5,15,0,163,4,99,0,163,4,201,0,97,5,159,0,169,2,65,0, +190,5,15,0,163,6,229,0,163,5,159,0,169,5,116,0,113,5,15,0,163,4,201,0,37,5,15, +0,40,5,15,0,66,2,65,255,192,5,15,0,40,4,134,0,98,4,79,0,98,4,140,0,143,2,160, +0,197,4,140,0,141,4,120,0,153,4,140,0,97,4,140,0,153,4,6,0,46,2,160,255,205,4, +140,0,141,4,140,0,97,4,140,0,141,6,205,0,108,4,99,0,163,4,99,0,163,4,228,0, +121,2,65,0,190,2,65,255,192,4,99,0,74,2,142,0,131,5,17,0,66,5,15,0,163,5,15,0, +43,5,15,0,163,4,99,0,163,4,99,0,163,5,159,0,173,6,229,0,163,5,159,0,169,5,116, +0,113,5,159,0,168,5,15,0,163,5,17,0,118,4,201,0,37,5,159,0,84,5,15,0,66,4,102, +0,106,4,48,0,97,4,140,0,143,4,140,0,97,4,140,0,143,4,48,0,97,4,6,0,26,4,6,0, +46,4,48,0,97,2,231,0,143,4,47,0,103,2,4,0,159,2,3,255,155,2,18,255,190,4,96,0, +153,4,6,0,26,6,227,0,37,6,14,0,45,6,227,0,37,6,14,0,45,6,227,0,37,6,14,0,45,5, +15,0,40,4,6,0,26,1,189,0,126,2,221,0,126,4,54,0,171,4,116,0,28,4,116,0,28,2, +11,255,158,2,4,0,160,6,229,0,163,6,254,0,143,5,15,0,43,4,102,0,106,5,116,0, +113,6,228,0,28,6,228,0,28,4,99,0,163,5,159,0,173,4,48,0,97,4,140,0,143,5,136, +0,87,5,160,0,91,5,15,0,22,4,7,0,46,8,116,0,97,9,129,0,113,5,105,0,120,4,79,0, +100,5,17,0,118,4,48,0,97,5,15,0,40,4,7,0,46,2,65,0,190,6,151,0,26,5,193,0,26, +2,65,0,190,5,15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,7,207,0,14,6,253,0,88, +4,99,0,163,4,48,0,97,5,145,0,89,4,66,0,94,6,151,0,26,5,193,0,26,5,105,0,120,4, +79,0,100,5,159,0,173,4,140,0,143,5,159,0,173,4,140,0,143,5,116,0,113,4,140,0, +97,5,117,0,113,4,141,0,97,5,117,0,113,4,141,0,97,5,105,0,181,4,78,0,99,5,17,0, +66,4,6,0,26,5,17,0,66,4,6,0,26,5,17,0,66,4,6,0,26,5,117,0,147,4,107,0,115,6, +213,0,163,6,81,0,153,5,15,0,66,4,6,0,46,4,140,0,98,5,159,0,69,4,109,0,65,5,15, +0,43,4,102,0,106,5,15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,5,15,0,0,4,102, +255,163,5,15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,5, +15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,5,15,0,43,4,102,0,106,5,15,0,43,4, +102,0,106,5,15,0,43,4,102,0,106,4,99,0,163,4,48,0,97,4,99,0,163,4,48,0,97,4, +99,0,163,4,48,0,97,4,99,0,163,4,48,0,97,4,99,255,220,4,48,255,165,4,99,0,163, +4,48,0,97,4,99,0,163,4,48,0,97,4,99,0,163,4,48,0,97,2,65,0,190,2,3,0,153,2,65, +0,180,2,4,0,149,5,116,0,113,4,140,0,97,5,116,0,113,4,140,0,97,5,116,0,113,4, +140,0,97,5,116,0,51,4,140,255,190,5,116,0,113,4,140,0,97,5,116,0,113,4,140,0, +97,5,116,0,113,4,140,0,97,5,243,0,108,4,207,0,97,5,243,0,108,4,207,0,97,5,243, +0,108,4,207,0,97,5,243,0,108,4,140,0,97,5,243,0,108,4,207,0,97,5,106,0,147,4, +140,0,139,5,106,0,147,4,140,0,139,6,97,0,147,5,186,0,139,6,97,0,147,5,186,0, +139,6,97,0,147,5,186,0,139,6,97,0,147,5,186,0,139,6,97,0,147,5,186,0,139,5,15, +0,40,4,6,0,26,5,15,0,40,4,6,0,26,5,15,0,40,4,6,0,26,4,140,0,98,5,15,0,163,4, +24,0,71,5,159,0,169,4,140,0,143,4,201,0,37,4,24,0,71,5,15,0,66,4,6,0,46,5,117, +0,147,4,107,0,115,5,117,0,147,4,107,0,115,4,99,0,163,2,231,0,143,6,151,0,26,5, +193,0,26,6,203,0,77,4,191,255,223,4,140,0,143,4,89,255,156,5,10,255,175,4,89, +255,156,5,10,255,175,4,99,255,205,2,231,255,213,5,15,255,179,4,26,255,157,5, +159,0,173,4,140,0,143,5,159,0,169,4,140,0,143,6,229,0,163,5,248,0,153,4,109,0, +65,5,159,0,69,5,15,0,40,4,7,0,46,5,15,0,66,4,6,0,46,4,99,255,206,2,231,255, +214,6,206,0,108,6,88,0,127,4,79,0,98,4,99,255,237,6,124,0,187,4,252,0,70,2,27, +0,171,2,221,0,126,0,0,0,1,0,1,1,1,1,1,0,12,0,248,8,255,0,8,0,8,255,254,0,9,0, +9,255,253,0,10,0,10,255,253,0,11,0,11,255,253,0,12,0,12,255,253,0,13,0,13,255, +252,0,14,0,14,255,252,0,15,0,15,255,252,0,16,0,16,255,252,0,17,0,17,255,251,0, +18,0,18,255,251,0,19,0,19,255,251,0,20,0,20,255,251,0,21,0,20,255,250,0,22,0, +21,255,250,0,23,0,22,255,250,0,24,0,23,255,250,0,25,0,24,255,249,0,26,0,25, +255,249,0,27,0,26,255,249,0,28,0,27,255,249,0,29,0,28,255,248,0,30,0,29,255, +248,0,31,0,30,255,248,0,32,0,31,255,248,0,33,0,32,255,247,0,34,0,33,255,247,0, +35,0,34,255,247,0,36,0,35,255,247,0,37,0,36,255,246,0,38,0,37,255,246,0,39,0, +38,255,246,0,40,0,39,255,246,0,41,0,39,255,245,0,42,0,40,255,245,0,43,0,41, +255,245,0,44,0,42,255,245,0,45,0,43,255,244,0,46,0,44,255,244,0,47,0,45,255, +244,0,48,0,46,255,244,0,49,0,47,255,243,0,50,0,48,255,243,0,51,0,49,255,243,0, +52,0,50,255,243,0,53,0,51,255,242,0,54,0,52,255,242,0,55,0,53,255,242,0,56,0, +54,255,242,0,57,0,55,255,241,0,58,0,56,255,241,0,59,0,57,255,241,0,60,0,58, +255,241,0,61,0,58,255,240,0,62,0,59,255,240,0,63,0,60,255,240,0,64,0,61,255, +240,0,65,0,62,255,239,0,66,0,63,255,239,0,67,0,64,255,239,0,68,0,65,255,239,0, +69,0,66,255,238,0,70,0,67,255,238,0,71,0,68,255,238,0,72,0,69,255,238,0,73,0, +70,255,237,0,74,0,71,255,237,0,75,0,72,255,237,0,76,0,73,255,237,0,77,0,74, +255,236,0,78,0,75,255,236,0,79,0,76,255,236,0,80,0,77,255,236,0,81,0,77,255, +235,0,82,0,78,255,235,0,83,0,79,255,235,0,84,0,80,255,235,0,85,0,81,255,234,0, +86,0,82,255,234,0,87,0,83,255,234,0,88,0,84,255,234,0,89,0,85,255,233,0,90,0, +86,255,233,0,91,0,87,255,233,0,92,0,88,255,233,0,93,0,89,255,232,0,94,0,90, +255,232,0,95,0,91,255,232,0,96,0,92,255,232,0,97,0,93,255,231,0,98,0,94,255, +231,0,99,0,95,255,231,0,100,0,96,255,231,0,101,0,96,255,230,0,102,0,97,255, +230,0,103,0,98,255,230,0,104,0,99,255,230,0,105,0,100,255,229,0,106,0,101,255, +229,0,107,0,102,255,229,0,108,0,103,255,229,0,109,0,104,255,228,0,110,0,105, +255,228,0,111,0,106,255,228,0,112,0,107,255,228,0,113,0,108,255,227,0,114,0, +109,255,227,0,115,0,110,255,227,0,116,0,111,255,227,0,117,0,112,255,226,0,118, +0,113,255,226,0,119,0,114,255,226,0,120,0,115,255,226,0,121,0,115,255,225,0, +122,0,116,255,225,0,123,0,117,255,225,0,124,0,118,255,225,0,125,0,119,255,224, +0,126,0,120,255,224,0,127,0,121,255,224,0,128,0,122,255,224,0,129,0,123,255, +223,0,130,0,124,255,223,0,131,0,125,255,223,0,132,0,126,255,223,0,133,0,127, +255,222,0,134,0,128,255,222,0,135,0,129,255,222,0,136,0,130,255,222,0,137,0, +131,255,221,0,138,0,132,255,221,0,139,0,133,255,221,0,140,0,134,255,221,0,141, +0,134,255,220,0,142,0,135,255,220,0,143,0,136,255,220,0,144,0,137,255,220,0, +145,0,138,255,219,0,146,0,139,255,219,0,147,0,140,255,219,0,148,0,141,255,219, +0,149,0,142,255,218,0,150,0,143,255,218,0,151,0,144,255,218,0,152,0,145,255, +218,0,153,0,146,255,217,0,154,0,147,255,217,0,155,0,148,255,217,0,156,0,149, +255,217,0,157,0,150,255,216,0,158,0,151,255,216,0,159,0,152,255,216,0,160,0, +153,255,216,0,161,0,153,255,215,0,162,0,154,255,215,0,163,0,155,255,215,0,164, +0,156,255,215,0,165,0,157,255,214,0,166,0,158,255,214,0,167,0,159,255,214,0, +168,0,160,255,214,0,169,0,161,255,213,0,170,0,162,255,213,0,171,0,163,255,213, +0,172,0,164,255,213,0,173,0,165,255,212,0,174,0,166,255,212,0,175,0,167,255, +212,0,176,0,168,255,212,0,177,0,169,255,211,0,178,0,170,255,211,0,179,0,171, +255,211,0,180,0,172,255,211,0,181,0,172,255,210,0,182,0,173,255,210,0,183,0, +174,255,210,0,184,0,175,255,210,0,185,0,176,255,209,0,186,0,177,255,209,0,187, +0,178,255,209,0,188,0,179,255,209,0,189,0,180,255,208,0,190,0,181,255,208,0, +191,0,182,255,208,0,192,0,183,255,208,0,193,0,184,255,207,0,194,0,185,255,207, +0,195,0,186,255,207,0,196,0,187,255,207,0,197,0,188,255,206,0,198,0,189,255, +206,0,199,0,190,255,206,0,200,0,191,255,206,0,201,0,191,255,205,0,202,0,192, +255,205,0,203,0,193,255,205,0,204,0,194,255,205,0,205,0,195,255,204,0,206,0, +196,255,204,0,207,0,197,255,204,0,208,0,198,255,204,0,209,0,199,255,203,0,210, +0,200,255,203,0,211,0,201,255,203,0,212,0,202,255,203,0,213,0,203,255,202,0, +214,0,204,255,202,0,215,0,205,255,202,0,216,0,206,255,202,0,217,0,207,255,201, +0,218,0,208,255,201,0,219,0,209,255,201,0,220,0,210,255,201,0,221,0,210,255, +200,0,222,0,211,255,200,0,223,0,212,255,200,0,224,0,213,255,200,0,225,0,214, +255,199,0,226,0,215,255,199,0,227,0,216,255,199,0,228,0,217,255,199,0,229,0, +218,255,198,0,230,0,219,255,198,0,231,0,220,255,198,0,232,0,221,255,198,0,233, +0,222,255,197,0,234,0,223,255,197,0,235,0,224,255,197,0,236,0,225,255,197,0, +237,0,226,255,196,0,238,0,227,255,196,0,239,0,228,255,196,0,240,0,229,255,196, +0,241,0,229,255,195,0,242,0,230,255,195,0,243,0,231,255,195,0,244,0,232,255, +195,0,245,0,233,255,194,0,246,0,234,255,194,0,247,0,235,255,194,0,248,0,236, +255,194,0,249,0,237,255,193,0,250,0,238,255,193,0,251,0,239,255,193,0,252,0, +240,255,193,0,253,0,241,255,192,0,254,0,242,255,192,0,255,0,243,255,192,0,0,0, +3,0,0,0,3,0,0,8,104,0,1,0,0,0,0,0,28,0,3,0,1,0,0,2,38,0,6,2,10,0,0,0,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,3,176,3,177,3,175,0,4,0,5, +0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0, +22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37, +0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0, +53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68, +0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0, +84,0,85,0,86,0,87,0,88,0,89,0,90,0,91,0,92,0,93,0,94,0,0,1,222,1,223,1,225,1, +227,1,234,1,239,1,243,1,246,1,245,1,247,1,249,1,248,1,250,1,252,1,254,1,253,1, +255,2,0,2,2,2,1,2,3,2,4,2,5,2,7,2,6,2,8,2,10,2,9,2,12,2,11,2,13,2,14,1,14,0, +109,0,96,0,97,0,101,1,16,0,115,0,129,0,107,0,103,1,25,0,113,0,102,1,37,0,125, +0,127,1,35,0,110,1,38,1,39,0,99,0,114,1,30,1,32,1,31,0,189,1,36,0,104,0,119,0, +177,0,130,0,133,0,124,0,95,0,106,1,34,0,146,0,0,0,169,0,105,0,120,1,17,0,3,1, +218,1,221,1,238,0,142,0,143,1,5,1,6,1,11,1,12,1,7,1,8,0,132,1,155,2,16,2,123, +1,21,1,24,1,19,1,20,2,224,2,225,1,15,0,116,1,9,1,13,1,18,1,220,1,228,1,219,1, +229,1,226,1,231,1,232,1,233,1,230,1,236,1,237,0,0,1,235,1,241,1,242,1,240,0, +136,0,152,0,158,0,108,0,154,0,155,0,156,0,117,0,159,0,157,0,153,0,4,6,66,0,0, +0,210,0,128,0,6,0,82,0,35,0,126,0,160,0,172,0,173,0,191,0,198,0,207,0,230,0, +239,0,254,1,15,1,17,1,37,1,39,1,48,1,56,1,64,1,83,1,101,1,103,1,126,1,127,1, +146,1,161,1,176,1,240,1,251,1,255,2,25,2,55,2,188,2,199,2,221,2,243,3,1,3,3,3, +15,3,138,3,140,3,146,3,161,3,176,3,185,3,201,3,206,3,210,3,214,4,37,4,47,4,69, +4,79,4,130,4,134,4,206,4,215,4,225,4,245,5,19,30,1,30,63,30,133,30,241,30,243, +30,249,31,77,32,10,32,11,32,21,32,23,32,30,32,34,32,38,32,48,32,51,32,58,32, +60,32,68,32,116,32,127,32,164,32,167,32,172,33,5,33,19,33,22,33,34,33,38,33, +46,33,94,34,2,34,6,34,15,34,18,34,26,34,30,34,43,34,96,34,101,37,202,251,2, +251,4,254,255,255,253,255,255,0,0,0,32,0,36,0,160,0,161,0,173,0,174,0,192,0, +199,0,208,0,231,0,240,0,255,1,16,1,18,1,38,1,40,1,49,1,57,1,65,1,84,1,102,1, +104,1,127,1,146,1,160,1,175,1,240,1,250,1,252,2,24,2,55,2,188,2,198,2,216,2, +243,3,0,3,3,3,15,3,132,3,140,3,142,3,147,3,163,3,177,3,186,3,202,3,209,3,214, +4,0,4,38,4,48,4,70,4,80,4,131,4,136,4,207,4,216,4,226,4,246,30,0,30,62,30,128, +30,160,30,242,30,244,31,77,32,0,32,11,32,19,32,23,32,24,32,32,32,37,32,48,32, +50,32,57,32,60,32,68,32,116,32,127,32,163,32,167,32,171,33,5,33,19,33,22,33, +34,33,38,33,46,33,91,34,2,34,6,34,15,34,17,34,26,34,30,34,43,34,96,34,100,37, +202,251,1,251,3,254,255,255,252,255,255,0,0,255,224,0,0,255,190,0,0,255,189,0, +0,1,26,0,0,1,21,0,0,1,17,0,0,1,15,0,0,1,13,0,0,1,11,0,0,1,5,0,0,1,3,0,0,255,0, +254,243,254,230,0,242,0,0,0,134,0,110,254,96,0,39,253,210,253,194,253,173,253, +161,253,160,253,149,0,0,255,0,254,255,0,0,0,0,253,1,0,0,254,223,0,0,253,212,0, +0,252,173,0,0,252,165,0,0,252,124,0,0,254,47,0,0,254,43,0,0,228,230,228,166, +228,85,228,136,227,233,228,134,227,155,225,180,225,185,0,0,0,0,224,239,224, +238,0,0,224,226,226,171,224,218,226,163,224,209,224,162,225,75,0,0,225,41,0,0, +224,200,224,188,224,184,223,247,223,139,224,157,223,191,223,28,222,163,223,16, +223,15,223,8,223,5,222,249,222,197,222,194,219,209,7,223,7,230,2,198,1,195,0, +1,0,210,0,0,0,214,0,0,0,212,0,0,0,210,0,0,0,220,0,0,1,6,0,0,1,32,0,0,1,32,0,0, +1,32,0,0,1,44,0,0,1,78,0,0,1,78,0,0,0,0,0,0,0,0,1,70,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,52,0,0,0,0,1,60,1,88,0,0,1,112,0,0,1,140,0,0,1,140,0,0,1, +212,0,0,1,252,0,0,2,94,0,0,2,232,0,0,2,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,32,3,36,0,0,0,0,3,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,20,0,0,3,20,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,176,3,177,3,175,1,212,1,217,1,218,1,219,1,220,1,221,1,222,1,223,0,125,1, +214,1,234,1,235,1,236,1,237,1,238,1,239,0,126,0,127,1,240,1,241,1,242,1,243,1, +244,0,128,0,129,1,245,1,246,1,247,1,248,1,249,1,250,0,130,0,131,2,5,2,6,2,7,2, +8,2,9,2,10,0,132,0,133,2,11,2,12,2,13,2,14,2,15,0,134,1,213,1,209,0,135,1,215, +0,136,2,62,2,63,2,64,2,65,2,66,2,67,0,137,0,138,0,139,2,76,2,77,2,78,2,79,2, +80,2,81,2,82,0,140,0,141,2,83,2,84,2,85,2,86,2,87,2,88,0,142,0,143,1,216,0, +144,0,145,1,224,1,251,0,165,0,166,2,136,0,167,2,137,2,138,2,139,0,168,0,169,2, +146,2,147,2,148,0,170,2,149,2,150,0,171,2,151,2,152,0,172,2,153,0,173,2,154,0, +174,2,155,2,156,0,175,2,157,0,176,0,177,2,158,2,159,2,160,2,161,2,162,2,163,2, +164,2,165,0,187,2,167,2,168,0,188,2,166,0,189,0,190,0,191,0,192,0,193,0,194,0, +195,1,168,0,196,0,197,1,198,1,171,2,235,2,174,0,198,2,175,0,199,2,176,2,177,2, +178,2,179,0,200,0,201,0,202,2,180,2,236,2,181,0,203,2,183,0,204,2,184,2,185,0, +205,2,186,0,206,0,207,0,208,2,187,2,182,0,209,2,188,2,189,2,190,2,191,2,192,2, +193,2,194,0,210,2,195,2,196,2,197,0,221,0,222,0,223,0,224,2,198,0,225,0,226,0, +227,2,199,0,228,0,229,0,230,0,231,2,200,0,232,2,201,2,202,0,233,2,203,0,234,2, +204,2,237,2,205,0,245,2,206,0,246,2,207,2,208,2,209,2,210,0,247,0,248,0,249,2, +211,2,238,2,212,0,250,0,251,0,252,3,151,3,150,1,133,1,134,1,135,1,136,1,164,1, +165,1,176,1,177,1,178,1,179,1,162,1,163,2,239,2,240,0,253,0,254,1,111,1,112,2, +241,2,242,2,244,2,243,1,172,1,173,3,170,3,171,1,174,1,175,1,113,1,114,1,199,1, +200,1,201,3,156,3,157,3,149,3,148,1,166,1,167,1,153,1,154,3,152,3,153,1,117,1, +118,3,143,3,144,2,245,2,246,3,129,3,130,1,156,1,157,3,154,3,155,1,131,1,132,3, +131,3,132,1,123,1,124,1,119,1,120,1,194,1,195,2,247,2,248,3,133,3,134,2,249,2, +250,3,164,3,165,3,135,3,136,1,125,1,126,3,137,3,138,1,158,1,159,1,129,3,147,1, +127,1,128,3,145,3,146,2,251,2,252,2,253,1,115,1,116,3,162,3,163,1,161,1,160,3, +158,3,159,3,139,3,140,3,160,3,161,1,121,1,122,3,7,3,8,3,9,3,10,3,11,3,12,1,3, +1,4,3,141,3,142,3,33,3,34,3,168,3,169,3,35,3,36,3,166,3,167,1,151,3,37,1,145, +1,146,1,147,1,148,1,149,1,150,1,140,1,139,1,137,1,138,1,141,1,142,1,143,1,144, +1,152,3,172,3,38,3,39,1,5,1,6,3,174,1,193,1,210,1,17,3,173,1,23,3,128,1,24,0, +4,6,66,0,0,0,210,0,128,0,6,0,82,0,35,0,126,0,160,0,172,0,173,0,191,0,198,0, +207,0,230,0,239,0,254,1,15,1,17,1,37,1,39,1,48,1,56,1,64,1,83,1,101,1,103,1, +126,1,127,1,146,1,161,1,176,1,240,1,251,1,255,2,25,2,55,2,188,2,199,2,221,2, +243,3,1,3,3,3,15,3,138,3,140,3,146,3,161,3,176,3,185,3,201,3,206,3,210,3,214, +4,37,4,47,4,69,4,79,4,130,4,134,4,206,4,215,4,225,4,245,5,19,30,1,30,63,30, +133,30,241,30,243,30,249,31,77,32,10,32,11,32,21,32,23,32,30,32,34,32,38,32, +48,32,51,32,58,32,60,32,68,32,116,32,127,32,164,32,167,32,172,33,5,33,19,33, +22,33,34,33,38,33,46,33,94,34,2,34,6,34,15,34,18,34,26,34,30,34,43,34,96,34, +101,37,202,251,2,251,4,254,255,255,253,255,255,0,0,0,32,0,36,0,160,0,161,0, +173,0,174,0,192,0,199,0,208,0,231,0,240,0,255,1,16,1,18,1,38,1,40,1,49,1,57,1, +65,1,84,1,102,1,104,1,127,1,146,1,160,1,175,1,240,1,250,1,252,2,24,2,55,2,188, +2,198,2,216,2,243,3,0,3,3,3,15,3,132,3,140,3,142,3,147,3,163,3,177,3,186,3, +202,3,209,3,214,4,0,4,38,4,48,4,70,4,80,4,131,4,136,4,207,4,216,4,226,4,246, +30,0,30,62,30,128,30,160,30,242,30,244,31,77,32,0,32,11,32,19,32,23,32,24,32, +32,32,37,32,48,32,50,32,57,32,60,32,68,32,116,32,127,32,163,32,167,32,171,33, +5,33,19,33,22,33,34,33,38,33,46,33,91,34,2,34,6,34,15,34,17,34,26,34,30,34,43, +34,96,34,100,37,202,251,1,251,3,254,255,255,252,255,255,0,0,255,224,0,0,255, +190,0,0,255,189,0,0,1,26,0,0,1,21,0,0,1,17,0,0,1,15,0,0,1,13,0,0,1,11,0,0,1,5, +0,0,1,3,0,0,255,0,254,243,254,230,0,242,0,0,0,134,0,110,254,96,0,39,253,210, +253,194,253,173,253,161,253,160,253,149,0,0,255,0,254,255,0,0,0,0,253,1,0,0, +254,223,0,0,253,212,0,0,252,173,0,0,252,165,0,0,252,124,0,0,254,47,0,0,254,43, +0,0,228,230,228,166,228,85,228,136,227,233,228,134,227,155,225,180,225,185,0, +0,0,0,224,239,224,238,0,0,224,226,226,171,224,218,226,163,224,209,224,162,225, +75,0,0,225,41,0,0,224,200,224,188,224,184,223,247,223,139,224,157,223,191,223, +28,222,163,223,16,223,15,223,8,223,5,222,249,222,197,222,194,219,209,7,223,7, +230,2,198,1,195,0,1,0,210,0,0,0,214,0,0,0,212,0,0,0,210,0,0,0,220,0,0,1,6,0,0, +1,32,0,0,1,32,0,0,1,32,0,0,1,44,0,0,1,78,0,0,1,78,0,0,0,0,0,0,0,0,1,70,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,52,0,0,0,0,1,60,1,88,0,0,1,112,0,0,1,140, +0,0,1,140,0,0,1,212,0,0,1,252,0,0,2,94,0,0,2,232,0,0,2,248,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,32,3,36,0,0,0,0,3,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,20,0,0, +3,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,3,176,3,177,3,175,1,212,1,217,1,218,1,219,1,220,1,221,1, +222,1,223,0,125,1,214,1,234,1,235,1,236,1,237,1,238,1,239,0,126,0,127,1,240,1, +241,1,242,1,243,1,244,0,128,0,129,1,245,1,246,1,247,1,248,1,249,1,250,0,130,0, +131,2,5,2,6,2,7,2,8,2,9,2,10,0,132,0,133,2,11,2,12,2,13,2,14,2,15,0,134,1,213, +1,209,0,135,1,215,0,136,2,62,2,63,2,64,2,65,2,66,2,67,0,137,0,138,0,139,2,76, +2,77,2,78,2,79,2,80,2,81,2,82,0,140,0,141,2,83,2,84,2,85,2,86,2,87,2,88,0,142, +0,143,1,216,0,144,0,145,1,224,1,251,0,165,0,166,2,136,0,167,2,137,2,138,2,139, +0,168,0,169,2,146,2,147,2,148,0,170,2,149,2,150,0,171,2,151,2,152,0,172,2,153, +0,173,2,154,0,174,2,155,2,156,0,175,2,157,0,176,0,177,2,158,2,159,2,160,2,161, +2,162,2,163,2,164,2,165,0,187,2,167,2,168,0,188,2,166,0,189,0,190,0,191,0,192, +0,193,0,194,0,195,1,168,0,196,0,197,1,198,1,171,2,235,2,174,0,198,2,175,0,199, +2,176,2,177,2,178,2,179,0,200,0,201,0,202,2,180,2,236,2,181,0,203,2,183,0,204, +2,184,2,185,0,205,2,186,0,206,0,207,0,208,2,187,2,182,0,209,2,188,2,189,2,190, +2,191,2,192,2,193,2,194,0,210,2,195,2,196,2,197,0,221,0,222,0,223,0,224,2,198, +0,225,0,226,0,227,2,199,0,228,0,229,0,230,0,231,2,200,0,232,2,201,2,202,0,233, +2,203,0,234,2,204,2,237,2,205,0,245,2,206,0,246,2,207,2,208,2,209,2,210,0,247, +0,248,0,249,2,211,2,238,2,212,0,250,0,251,0,252,3,151,3,150,1,133,1,134,1,135, +1,136,1,164,1,165,1,176,1,177,1,178,1,179,1,162,1,163,2,239,2,240,0,253,0,254, +1,111,1,112,2,241,2,242,2,244,2,243,1,172,1,173,3,170,3,171,1,174,1,175,1,113, +1,114,1,199,1,200,1,201,3,156,3,157,3,149,3,148,1,166,1,167,1,153,1,154,3,152, +3,153,1,117,1,118,3,143,3,144,2,245,2,246,3,129,3,130,1,156,1,157,3,154,3,155, +1,131,1,132,3,131,3,132,1,123,1,124,1,119,1,120,1,194,1,195,2,247,2,248,3,133, +3,134,2,249,2,250,3,164,3,165,3,135,3,136,1,125,1,126,3,137,3,138,1,158,1,159, +1,129,3,147,1,127,1,128,3,145,3,146,2,251,2,252,2,253,1,115,1,116,3,162,3,163, +1,161,1,160,3,158,3,159,3,139,3,140,3,160,3,161,1,121,1,122,3,7,3,8,3,9,3,10, +3,11,3,12,1,3,1,4,3,141,3,142,3,33,3,34,3,168,3,169,3,35,3,36,3,166,3,167,1, +151,3,37,1,145,1,146,1,147,1,148,1,149,1,150,1,140,1,139,1,137,1,138,1,141,1, +142,1,143,1,144,1,152,3,172,3,38,3,39,1,5,1,6,3,174,1,193,1,210,1,17,3,173,1, +23,3,128,1,24,0,0,0,1,0,127,255,48,4,38,6,157,0,44,0,0,1,52,38,39,46,1,53,52, +54,55,53,51,21,30,1,21,35,52,38,35,34,6,21,20,22,23,30,1,21,20,6,7,21,35,53, +46,1,63,1,51,20,22,51,50,54,3,97,127,147,202,206,190,166,158,167,185,196,126, +111,118,118,122,158,204,198,206,180,157,172,220,4,2,190,156,112,129,145,1,120, +90,127,50,61,204,170,165,208,21,221,222,22,230,193,127,158,123,107,97,120,54, +66,197,169,172,203,19,192,191,18,215,208,5,154,131,123,0,0,0,0,5,0,104,255, +235,5,131,5,197,0,13,0,27,0,41,0,55,0,59,0,0,19,52,54,51,50,22,29,1,20,6,35, +34,38,53,51,20,22,51,50,54,61,1,52,38,35,34,6,21,1,52,54,51,50,22,29,1,20,6, +35,34,38,53,51,20,22,51,50,54,61,1,52,38,35,34,6,21,5,39,1,23,104,164,137,137, +164,163,136,138,165,146,81,76,73,80,81,74,75,80,2,47,164,137,136,165,164,135, +138,165,146,81,76,73,80,82,73,74,81,254,15,109,2,199,109,4,152,127,174,173, +128,77,127,172,172,127,74,103,102,75,77,74,105,105,74,252,205,127,173,173,127, +78,128,172,172,128,75,103,103,75,78,74,104,104,74,247,67,4,114,67,0,0,0,3,0, +64,255,235,4,208,5,197,0,33,0,44,0,57,0,0,19,52,54,55,46,1,53,52,54,51,50,22, +21,20,6,15,1,1,62,1,53,51,20,6,7,23,7,35,39,14,1,35,34,36,5,50,54,55,1,7,14,1, +21,20,22,3,20,22,23,55,62,1,53,52,38,35,34,6,64,141,140,78,76,195,171,158,198, +105,103,109,1,84,41,46,176,78,74,185,2,229,85,80,194,104,217,254,255,1,218,72, +140,62,254,151,40,91,59,142,15,54,54,138,57,41,97,78,81,88,1,136,122,183,92, +99,155,82,169,183,182,128,98,143,75,80,254,103,65,158,88,132,224,89,223,5,102, +60,63,230,76,49,46,1,179,29,68,124,50,113,146,3,226,53,115,68,95,38,89,54,61, +94,113,0,0,1,0,126,3,183,1,68,5,176,0,5,0,0,1,3,35,19,53,51,1,68,101,97,1,197, +4,209,254,230,1,9,240,0,0,0,0,1,0,132,254,49,2,157,6,100,0,17,0,0,19,16,0,55, +31,1,6,2,17,21,16,18,23,7,35,38,0,17,132,1,62,175,6,38,137,203,202,138,38,6, +175,254,194,2,79,1,138,2,46,93,1,116,107,254,40,254,165,13,254,165,254,40,116, +108,93,2,45,1,139,0,0,0,0,1,0,6,254,49,2,31,6,100,0,17,0,0,1,16,0,7,35,39,54, +18,17,53,16,2,39,55,51,22,0,17,2,31,254,193,174,6,38,135,205,211,129,38,6,174, +1,63,2,70,254,117,253,211,93,108,105,1,225,1,93,13,1,86,1,227,110,108,93,253, +210,254,118,0,0,0,0,1,0,88,1,134,3,27,4,57,0,14,0,0,1,39,55,23,39,51,3,55,23, +7,23,7,39,7,39,1,68,236,49,236,10,161,10,233,48,242,153,132,140,135,133,2,184, +67,154,90,254,254,252,89,156,68,200,96,218,210,92,0,0,0,0,1,0,78,0,146,4,52,4, +182,0,11,0,0,1,33,21,33,17,35,17,33,53,33,17,51,2,165,1,143,254,113,197,254, +110,1,146,197,3,15,178,254,53,1,203,178,1,167,0,1,0,117,254,254,1,59,0,221,0, +5,0,0,5,7,35,19,53,51,1,59,101,97,1,197,8,250,1,3,220,0,0,1,0,167,2,26,2,245, +2,180,0,3,0,0,1,33,53,33,2,245,253,178,2,78,2,26,154,0,0,1,0,161,0,0,1,102,0, +202,0,3,0,0,33,35,53,51,1,102,197,197,202,0,0,1,0,16,255,131,3,23,5,176,0,3,0, +0,23,35,1,51,184,168,2,96,167,125,6,45,0,0,0,2,0,113,255,235,4,16,5,197,0,13, +0,27,0,0,1,20,2,35,34,2,53,17,52,18,51,50,18,21,39,52,38,35,34,6,21,17,20,22, +51,50,54,53,4,16,251,212,211,253,251,211,212,253,197,140,128,127,138,141,126, +128,138,2,2,247,254,224,1,32,247,1,172,245,1,34,254,222,245,41,157,182,182, +157,254,3,157,184,183,158,0,0,0,1,0,195,0,0,2,198,5,197,0,5,0,0,33,35,17,5,53, +37,2,198,198,254,195,2,3,4,250,3,152,54,0,1,0,133,0,0,4,30,5,197,0,26,0,0,41, +1,53,1,62,1,53,52,38,35,34,6,21,35,39,38,54,51,50,22,21,20,6,7,1,23,33,4,30, +252,120,1,201,122,87,118,104,129,135,190,2,5,248,213,195,224,127,130,254,145, +2,2,151,135,2,33,148,175,89,101,129,158,118,6,178,247,216,171,115,220,166,254, +82,5,0,1,0,115,255,235,4,15,5,197,0,42,0,0,1,50,54,53,52,38,35,34,6,21,35,39, +38,36,51,50,22,21,20,6,7,30,1,21,20,6,35,34,36,63,1,51,20,22,51,50,54,53,52, +38,43,1,53,2,67,132,109,119,117,114,149,188,3,5,1,2,201,203,230,107,96,110, +115,253,202,186,254,229,5,2,188,153,121,120,138,127,136,162,3,60,131,118,110, +135,141,106,6,164,232,205,199,102,168,47,44,179,127,200,227,219,180,6,106,145, +149,120,137,136,153,0,0,2,0,72,0,0,4,70,5,176,0,10,0,15,0,0,1,51,21,35,17,35, +17,33,53,1,51,1,33,17,39,7,3,125,201,201,196,253,143,2,101,208,253,158,1,158, +6,19,1,234,154,254,176,1,80,111,3,241,252,58,2,171,1,50,0,1,0,152,255,235,4, +19,5,176,0,31,0,0,27,1,33,21,33,3,62,1,55,54,18,21,20,2,35,34,38,63,1,51,20, +22,51,50,54,53,52,38,35,34,6,7,175,84,2,217,253,205,47,47,114,73,202,229,235, +225,185,246,5,2,178,137,109,125,138,139,124,116,104,25,2,135,3,41,175,254,93, +35,45,1,2,254,255,224,219,254,246,202,196,6,119,131,176,153,139,172,70,73,0,0, +0,2,0,137,255,235,4,40,5,197,0,26,0,39,0,0,1,50,22,23,7,46,1,35,34,6,29,1,62, +1,51,50,22,21,20,2,35,34,0,25,1,16,0,19,34,6,7,21,20,22,51,50,54,53,52,38,2, +129,86,168,55,42,57,126,84,137,171,61,167,96,188,219,245,208,202,254,240,1,35, +166,93,133,35,161,117,123,133,143,5,197,34,26,151,25,31,234,179,113,61,70,252, +205,224,254,245,1,51,1,10,1,79,1,0,1,78,253,71,79,67,101,185,215,187,150,142, +168,0,0,0,1,0,97,0,0,4,39,5,176,0,12,0,0,1,0,2,17,21,35,53,16,18,19,33,53,33, +4,39,254,236,194,197,243,230,252,252,3,198,5,21,254,184,254,10,254,200,159, +159,1,74,2,17,1,27,155,0,3,0,102,255,235,4,26,5,197,0,23,0,35,0,47,0,0,1,20,6, +7,30,1,21,20,4,35,34,36,53,52,54,55,46,1,53,52,54,51,50,22,3,52,38,35,34,6,21, +20,22,51,50,54,3,52,38,35,34,6,21,20,22,51,50,54,3,242,128,106,124,150,254, +251,202,214,254,241,153,130,112,130,245,197,186,239,156,155,114,124,162,161, +127,114,153,41,131,97,107,138,140,107,97,129,4,60,114,173,43,43,188,123,201, +220,220,201,123,188,44,42,173,114,191,202,203,252,154,119,154,154,119,123,148, +149,3,31,105,136,131,110,111,138,138,0,0,2,0,93,255,235,3,248,5,197,0,26,0,39, +0,0,37,50,54,61,1,14,1,35,34,2,53,52,18,51,50,0,21,17,20,0,35,34,38,39,55,30, +1,19,50,54,55,53,52,38,35,34,6,21,20,22,1,245,142,175,48,143,85,210,239,254, +187,218,1,8,254,224,227,77,161,70,30,66,127,126,103,141,32,146,132,107,143, +132,133,196,180,124,71,73,1,3,230,220,1,23,254,238,250,254,70,251,254,231,32, +31,150,32,27,1,254,94,73,172,163,177,191,153,150,185,255,255,0,161,0,0,1,102, +4,54,0,38,0,14,0,0,0,7,0,14,0,0,3,108,255,255,0,162,254,254,1,110,4,54,0,39,0, +14,0,1,3,108,0,6,0,12,51,0,0,1,0,71,0,107,3,119,3,245,0,9,0,0,1,7,21,23,5,21, +1,53,1,21,1,72,85,85,2,47,252,208,3,48,2,67,18,6,19,228,201,1,123,149,1,122, +201,0,0,2,0,152,1,151,3,218,3,219,0,3,0,7,0,0,1,33,53,33,17,33,53,33,3,218, +252,190,3,66,252,190,3,66,3,55,164,253,188,164,0,1,0,136,0,87,3,224,3,225,0,9, +0,0,19,53,1,21,1,53,37,55,53,39,136,3,88,252,168,2,86,85,85,3,30,195,254,134, +149,254,133,196,238,17,6,20,0,0,0,2,0,58,0,0,3,118,5,197,0,26,0,30,0,0,1,62,1, +55,62,1,53,52,38,35,34,6,21,35,39,38,54,51,50,22,21,20,6,7,14,1,21,19,35,53, +51,1,99,1,48,102,99,84,113,105,91,128,188,3,3,233,180,197,218,141,116,54,23,7, +206,206,1,154,145,112,92,117,126,89,106,114,99,96,6,161,194,201,180,129,214, +112,54,86,91,254,102,208,0,0,0,2,0,96,254,59,6,213,5,151,0,51,0,67,0,0,1,6,2, +35,34,38,39,14,1,35,34,38,55,26,1,51,50,22,23,7,51,3,6,22,51,50,54,55,18,0,33, +32,0,3,2,0,33,50,54,55,23,14,1,35,32,0,19,18,0,33,32,0,1,6,22,51,50,54,55,38, +54,55,19,46,1,35,34,6,6,196,9,222,221,73,106,23,50,144,96,125,138,18,23,229, +165,105,128,75,4,6,51,9,61,51,123,148,8,16,254,192,254,176,254,204,254,137,15, +18,1,80,1,58,88,181,62,38,67,207,99,254,132,254,97,18,19,1,204,1,116,1,123,1, +149,251,251,11,65,74,64,106,44,1,1,2,47,26,57,31,125,132,1,246,214,254,203,83, +76,80,79,241,196,1,3,1,57,52,54,4,253,183,110,83,227,175,1,126,1,171,254,50, +254,141,254,136,254,75,43,35,107,42,47,1,243,1,176,1,167,2,18,254,12,253,253, +142,148,49,63,12,27,16,2,26,12,14,219,0,0,2,0,43,0,0,4,227,5,176,0,7,0,11,0,0, +1,33,3,35,1,51,1,35,1,33,3,35,3,154,253,220,130,201,2,13,169,2,2,201,253,149, +1,179,212,6,1,119,254,137,5,176,250,80,2,28,2,113,0,0,0,3,0,163,0,0,4,198,5, +176,0,14,0,24,0,33,0,0,51,17,33,50,4,21,20,6,7,30,1,21,20,4,35,1,17,33,50,54, +53,52,38,39,35,37,33,50,54,53,52,38,35,33,163,1,219,228,1,2,116,96,143,167, +254,252,222,254,132,1,124,135,149,152,129,13,254,142,1,63,110,138,149,140,254, +234,5,176,197,197,94,149,39,20,208,141,200,211,2,171,253,239,133,122,121,148, +5,154,121,108,118,117,0,0,0,1,0,118,255,235,4,191,5,197,0,29,0,0,1,23,22,0,35, +34,0,25,1,16,0,51,50,0,15,1,35,52,38,35,34,2,21,17,20,18,51,50,54,53,4,185,2, +4,254,216,243,247,254,201,1,55,247,247,1,36,4,2,189,180,164,165,196,196,165, +164,180,1,210,6,205,254,236,1,94,1,13,1,3,1,13,1,95,254,249,217,6,153,178,254, +246,197,254,251,199,254,246,177,156,0,0,2,0,169,0,0,4,235,5,176,0,9,0,19,0,0, +51,17,33,32,0,17,21,16,0,33,1,17,33,50,18,61,1,52,2,35,169,1,202,1,29,1,91, +254,165,254,227,254,251,1,5,202,233,233,202,5,176,254,161,254,234,199,254,233, +254,163,5,21,251,133,1,10,208,201,206,1,10,0,0,0,0,1,0,163,0,0,4,36,5,176,0, +11,0,0,1,33,17,33,21,33,17,33,21,33,17,33,3,190,253,170,2,188,252,127,3,118, +253,79,2,86,2,163,253,247,154,5,176,155,254,41,0,0,0,1,0,163,0,0,4,52,5,176,0, +9,0,0,1,33,17,35,17,33,21,33,17,33,3,206,253,154,197,3,145,253,52,2,102,2,132, +253,124,5,176,155,254,10,0,1,0,121,255,235,4,193,5,197,0,32,0,0,37,6,4,35,34, +0,25,1,16,0,51,50,0,15,1,35,52,38,35,34,6,21,17,20,22,51,50,54,55,17,33,53,33, +4,193,52,254,255,205,252,254,182,1,62,251,243,1,26,4,2,189,172,158,167,204, +216,168,129,151,37,254,182,2,15,196,81,136,1,78,1,9,1,44,1,9,1,78,254,253,200, +6,133,177,250,192,254,210,194,251,67,46,1,72,154,0,1,0,169,0,0,4,246,5,176,0, +11,0,0,33,35,17,33,17,35,17,51,17,33,17,51,4,246,197,253,61,197,197,2,195,197, +2,131,253,125,5,176,253,110,2,146,0,0,0,1,0,190,0,0,1,132,5,176,0,3,0,0,33,35, +17,51,1,132,198,198,5,176,0,1,0,74,255,235,3,188,5,176,0,16,0,0,1,51,17,20,6, +35,34,38,63,1,51,20,22,51,50,54,53,2,247,197,247,197,201,237,5,2,189,126,116, +109,138,5,176,251,246,203,240,213,203,6,136,132,158,131,0,0,0,1,0,163,0,0,4, +251,5,176,0,14,0,0,1,35,17,35,17,51,17,51,1,51,23,9,1,7,35,1,251,147,197,197, +128,2,8,222,2,253,196,2,103,3,239,2,146,253,110,5,176,253,124,2,132,5,253,80, +253,10,5,0,0,0,0,1,0,168,0,0,4,51,5,176,0,5,0,0,37,33,21,33,17,51,1,109,2,198, +252,117,197,154,154,5,176,0,0,1,0,163,0,0,6,65,5,176,0,15,0,0,1,51,1,51,17,35, +17,39,1,35,1,7,17,35,17,33,3,117,6,1,209,245,197,6,254,71,137,254,58,6,197,1, +3,1,17,4,159,250,80,4,67,1,251,188,4,104,1,251,153,5,176,0,0,0,0,1,0,169,0,0, +4,246,5,176,0,11,0,0,33,35,1,7,17,35,17,51,1,55,17,51,4,246,197,253,67,6,197, +197,2,189,6,197,4,88,2,251,170,5,176,251,169,2,4,85,0,0,0,2,0,113,255,235,5,2, +5,197,0,13,0,27,0,0,1,16,0,33,34,0,25,1,16,0,51,32,0,17,39,52,2,35,34,2,21,17, +20,18,51,50,54,53,5,2,254,181,254,248,255,254,193,1,63,255,1,8,1,75,197,216, +182,172,205,205,172,183,215,2,86,254,245,254,160,1,96,1,11,1,3,1,10,1,98,254, +159,254,245,2,200,1,0,255,0,200,254,251,202,255,0,255,203,0,0,2,0,163,0,0,4, +188,5,176,0,10,0,19,0,0,1,17,35,17,33,50,4,21,20,4,35,37,33,50,54,53,52,38,35, +33,1,104,197,2,45,233,1,3,254,253,233,254,152,1,104,148,146,147,147,254,152,2, +72,253,184,5,176,240,196,198,238,154,159,121,121,162,0,2,0,113,255,113,5,90,5, +197,0,19,0,33,0,0,1,20,6,7,23,7,39,14,1,35,34,0,25,1,16,0,51,32,0,17,39,52,2, +35,34,2,21,17,20,18,51,50,54,53,5,2,67,62,217,135,222,70,164,92,255,254,193,1, +63,255,1,8,1,75,197,216,182,172,205,205,172,183,215,2,86,115,205,81,211,129, +213,45,46,1,96,1,11,1,3,1,10,1,98,254,159,254,245,2,200,1,0,255,0,200,254,251, +202,255,0,255,203,0,0,0,0,2,0,165,0,0,4,213,5,175,0,26,0,35,0,0,1,17,35,17,33, +50,22,21,20,6,7,30,1,29,1,20,22,23,21,35,46,1,61,1,52,38,35,37,33,50,54,53,52, +38,35,33,1,106,197,2,5,239,253,117,112,120,105,30,37,203,39,22,138,116,254, +155,1,45,167,147,143,152,254,192,2,119,253,137,5,175,212,202,112,166,49,39, +175,129,137,68,108,34,24,34,132,70,133,118,144,155,127,130,123,135,0,0,0,1,0, +121,255,235,4,131,5,197,0,39,0,0,1,52,38,39,46,1,53,52,36,51,50,0,15,1,35,52, +38,35,34,6,21,20,22,23,30,1,21,20,4,35,34,36,63,1,51,20,22,51,50,54,3,190,144, +185,220,243,1,4,212,230,1,17,4,3,188,173,135,137,138,155,179,225,233,254,233, +221,211,254,189,5,2,188,208,131,138,165,1,130,95,118,48,54,214,163,172,227, +254,251,174,6,124,162,133,108,96,127,47,59,204,160,178,231,236,198,6,137,149, +143,0,0,0,1,0,37,0,0,4,164,5,176,0,7,0,0,1,33,17,35,17,33,53,33,4,164,254,32, +197,254,38,4,127,5,21,250,235,5,21,155,0,0,0,1,0,147,255,235,4,220,5,176,0,17, +0,0,1,17,20,0,35,34,0,53,17,51,17,20,22,51,50,54,53,17,4,220,254,200,246,237, +254,210,197,191,151,160,201,5,176,252,57,240,254,242,1,15,239,3,199,252,57, +167,189,189,167,3,199,0,0,0,0,1,0,22,0,0,4,249,5,176,0,9,0,0,1,23,51,55,1,51, +1,35,1,51,2,100,33,6,33,1,120,213,253,227,169,253,227,214,1,126,121,121,4,50, +250,80,5,176,0,1,0,37,0,0,6,191,5,176,0,21,0,0,1,31,1,55,1,51,1,23,51,55,19, +51,1,35,1,39,35,7,1,35,1,51,1,206,25,6,34,1,2,193,1,4,34,6,27,208,214,254,160, +176,254,221,22,6,21,254,217,176,254,161,213,1,249,191,1,192,3,183,252,73,195, +195,3,183,250,80,3,242,131,131,252,14,5,176,0,1,0,66,0,0,4,214,5,176,0,11,0,0, +9,1,51,9,1,35,9,1,35,9,1,51,2,138,1,84,238,254,50,1,216,235,254,163,254,162, +238,1,216,254,50,236,3,120,2,56,253,46,253,34,2,66,253,190,2,222,2,210,0,0,0, +1,0,40,0,0,4,226,5,176,0,8,0,0,9,1,51,1,17,35,17,1,51,2,133,1,124,225,254,1, +196,254,9,225,2,204,2,228,252,80,254,0,2,15,3,161,0,0,0,1,0,97,0,0,4,109,5, +176,0,9,0,0,37,33,21,33,53,1,33,53,33,21,1,63,3,46,251,244,3,10,253,1,3,224, +154,154,146,4,131,155,141,0,0,1,0,143,254,200,2,16,6,128,0,7,0,0,1,35,17,51, +21,33,17,33,2,16,188,188,254,127,1,129,5,229,249,126,155,7,184,0,0,0,0,1,0,39, +255,131,3,65,5,176,0,3,0,0,19,51,1,35,39,186,2,96,186,5,176,249,211,0,0,1,0, +11,254,200,1,141,6,128,0,7,0,0,19,33,17,33,53,51,17,35,11,1,130,254,126,189, +189,6,128,248,72,155,6,130,0,1,0,61,2,217,3,24,5,176,0,9,0,0,19,35,1,51,1,35, +3,39,35,7,244,183,1,43,134,1,42,181,166,16,6,16,2,217,2,215,253,41,1,163,70, +70,0,0,0,1,0,4,255,102,3,159,0,0,0,3,0,0,5,33,53,33,3,159,252,101,3,155,154, +154,0,0,0,1,0,82,4,228,1,234,5,238,0,4,0,0,1,35,3,55,51,1,234,158,250,3,230,4, +228,1,4,6,0,0,0,2,0,106,255,235,3,243,4,78,0,32,0,43,0,0,33,46,1,39,14,1,35, +34,38,53,52,54,59,1,53,52,38,35,34,6,21,7,39,38,54,51,50,22,21,17,20,22,23,37, +50,54,55,53,35,34,6,21,20,22,3,40,10,11,1,55,177,102,169,177,251,215,214,116, +106,96,118,187,2,7,235,186,184,224,12,16,253,238,107,172,26,221,119,143,90,49, +75,38,78,105,173,152,155,175,107,95,111,96,67,2,6,118,196,187,176,253,247,58, +108,52,144,110,71,176,120,81,72,84,0,2,0,143,255,235,4,43,6,24,0,17,0,31,0,0, +1,20,2,35,34,38,39,7,35,17,51,17,62,1,51,50,18,17,35,52,38,35,34,6,7,17,30,1, +51,50,54,53,4,43,225,197,108,159,52,32,151,197,51,151,101,200,224,197,137,140, +91,125,37,38,123,94,139,136,1,244,234,254,225,85,83,147,6,24,253,162,72,76, +254,192,254,251,186,235,89,75,254,43,80,90,198,163,0,0,0,1,0,97,255,235,3,217, +4,78,0,29,0,0,37,50,54,53,51,23,22,6,35,34,2,61,1,52,18,51,50,22,15,1,35,52, +38,35,34,6,29,1,20,22,2,61,91,136,178,3,4,248,164,228,248,249,227,181,231,4,2, +179,129,98,145,133,131,133,121,88,6,140,217,1,54,231,42,229,1,55,224,163,6,99, +139,225,160,42,163,224,0,0,0,2,0,98,255,235,3,245,6,24,0,17,0,31,0,0,19,16,18, +51,50,22,23,17,51,17,35,39,14,1,35,34,2,53,51,20,22,51,50,54,55,17,46,1,35,34, +6,21,98,223,201,95,147,52,197,151,30,53,156,103,198,224,197,134,141,88,120,38, +38,121,85,142,135,2,9,1,5,1,64,70,67,2,83,249,232,137,78,80,1,31,234,164,197, +80,72,1,249,67,79,234,187,0,0,0,0,2,0,97,255,235,3,226,4,78,0,22,0,31,0,0,5, +34,0,61,1,52,0,51,50,18,29,1,33,7,6,22,51,50,54,55,23,14,1,3,34,6,7,23,33,53, +52,38,2,100,242,254,239,1,13,194,217,217,253,76,2,1,155,158,98,116,79,49,54, +155,185,103,135,15,2,1,232,116,21,1,43,242,44,233,1,49,254,242,224,104,5,162, +204,41,42,139,39,59,3,200,159,124,5,16,118,154,0,0,0,1,0,28,0,0,2,173,6,45,0, +23,0,0,51,17,35,53,51,53,52,54,51,50,22,23,7,46,1,35,34,6,29,1,51,21,35,17, +198,170,170,180,162,34,69,42,24,18,51,27,87,83,196,196,3,168,146,137,173,189, +11,10,150,4,6,103,98,137,146,252,88,0,0,2,0,108,254,75,4,0,4,78,0,29,0,43,0,0, +19,16,18,51,50,22,23,55,51,17,20,6,35,34,38,39,55,30,1,51,50,54,61,1,14,1,35, +34,2,53,51,20,22,51,50,54,55,17,46,1,35,34,6,21,108,223,200,103,156,53,24,157, +242,228,78,181,69,30,57,161,78,144,131,53,148,97,198,223,197,134,140,89,120, +39,38,122,86,141,135,2,9,1,5,1,64,83,78,141,251,192,208,223,43,37,153,30,37, +131,134,123,68,70,1,31,234,163,198,81,74,1,242,69,81,234,187,0,0,1,0,143,0,0, +4,0,6,24,0,19,0,0,1,62,1,51,50,22,21,17,35,17,52,38,35,34,6,7,17,35,17,51,1, +84,56,163,99,173,193,197,115,114,88,130,40,197,197,3,169,78,87,208,216,253,90, +2,168,134,128,69,62,252,213,6,24,0,0,2,0,159,0,0,1,100,6,24,0,3,0,7,0,0,33,35, +17,51,17,35,53,51,1,100,197,197,197,197,4,58,1,21,201,0,0,2,255,190,254,75,1, +114,6,24,0,15,0,19,0,0,1,17,20,6,35,34,38,39,55,30,1,51,50,54,53,17,19,35,53, +51,1,114,172,153,31,51,29,14,14,52,17,65,77,191,197,197,4,58,251,109,167,181, +9,9,155,5,7,88,99,4,147,1,25,197,0,0,0,1,0,144,0,0,4,11,6,24,0,12,0,0,1,35,17, +35,17,51,17,51,1,51,9,1,35,1,206,121,197,197,119,1,49,236,254,137,1,153,233,1, +243,254,13,6,24,252,120,1,170,254,14,253,184,0,0,1,0,159,0,0,1,100,6,24,0,3,0, +0,33,35,17,51,1,100,197,197,6,24,0,1,0,143,0,0,6,111,4,78,0,35,0,0,1,23,62,1, +51,50,22,23,62,1,51,50,22,21,17,35,17,52,38,35,34,6,7,21,17,35,17,52,38,35,34, +6,7,17,35,17,1,63,14,53,163,108,108,155,39,52,167,112,165,192,197,110,109,101, +125,11,198,113,106,90,116,31,197,4,58,142,77,85,100,100,93,107,227,228,253, +121,2,137,160,133,140,107,8,253,81,2,137,152,141,74,67,252,223,4,58,0,0,0,0,1, +0,143,0,0,3,253,4,78,0,19,0,0,1,23,62,1,51,50,22,21,17,35,17,52,38,35,34,6,7, +17,35,17,1,63,14,54,163,104,175,192,197,113,116,91,127,37,197,4,58,161,86,95, +205,214,253,85,2,167,143,120,73,66,252,221,4,58,0,2,0,97,255,235,4,42,4,78,0, +13,0,27,0,0,19,52,0,51,50,0,29,1,20,0,35,34,0,53,51,20,22,51,50,54,61,1,52,38, +35,34,6,21,97,1,4,223,225,1,5,254,252,224,224,254,251,197,145,143,141,146,147, +142,141,145,2,39,240,1,55,254,202,241,22,242,254,204,1,53,241,172,224,224,172, +22,170,226,226,170,0,0,0,2,0,143,254,96,4,41,4,78,0,17,0,31,0,0,1,20,2,35,34, +38,39,17,35,17,51,23,62,1,51,50,18,17,35,52,38,35,34,6,7,17,30,1,51,50,54,53, +4,41,224,197,100,151,53,197,151,31,53,158,105,201,223,197,145,141,85,120,37, +37,120,87,140,144,1,244,234,254,225,67,67,253,239,5,218,140,78,82,254,193,254, +250,184,237,77,67,253,245,67,75,205,162,0,0,0,2,0,98,254,96,3,234,4,78,0,17,0, +31,0,0,19,16,18,51,50,22,23,55,51,17,35,17,14,1,35,34,2,53,51,20,22,51,50,54, +55,17,46,1,35,34,6,21,98,223,201,98,150,53,28,151,197,52,142,91,198,224,197, +135,140,81,115,39,39,115,79,141,136,2,9,1,5,1,64,75,71,126,250,38,2,6,61,62,1, +31,234,164,203,72,65,2,34,61,70,239,187,0,0,0,0,1,0,143,0,0,2,170,4,78,0,15,0, +0,1,39,34,6,7,17,35,17,51,23,62,1,51,50,22,23,2,143,101,78,107,29,197,176,14, +45,138,91,22,40,13,3,140,6,74,67,252,251,4,58,168,88,100,7,4,0,0,1,0,103,255, +235,3,201,4,78,0,39,0,0,1,52,38,39,46,1,53,52,54,51,50,22,15,1,35,52,38,35,34, +6,21,20,22,23,30,1,21,20,6,35,34,38,63,1,51,30,1,51,50,54,3,4,99,138,191,205, +225,179,184,228,5,2,188,123,94,104,103,89,139,199,206,233,188,207,238,6,2,188, +5,146,98,105,119,1,35,65,82,31,41,148,124,132,188,200,133,6,70,114,94,65,64, +70,29,42,154,124,144,182,210,140,6,105,97,89,0,0,0,1,0,26,255,235,2,98,5,63,0, +23,0,0,1,17,51,21,35,17,20,22,51,50,54,55,23,14,1,35,34,38,53,17,35,53,51,17, +1,138,205,205,63,52,17,41,16,27,23,86,42,119,143,171,171,5,63,254,251,146,253, +111,76,62,8,6,135,18,23,145,155,2,145,146,1,5,0,1,0,139,255,235,3,252,4,58,0, +19,0,0,37,14,1,35,34,38,53,17,51,17,20,22,51,50,54,55,17,51,17,35,3,62,51,161, +104,177,198,197,102,108,105,137,35,197,177,161,87,95,226,239,2,126,253,128, +173,130,86,79,3,10,251,198,0,0,0,1,0,46,0,0,3,228,4,58,0,9,0,0,1,23,51,55,19, +51,1,35,1,51,1,248,17,6,19,249,201,254,114,149,254,109,202,1,63,76,76,2,251, +251,198,4,58,0,0,1,0,45,0,0,5,220,4,58,0,21,0,0,1,23,51,55,19,51,19,23,51,55, +19,51,1,35,3,39,35,7,3,35,1,51,1,164,25,6,26,216,158,217,28,6,32,160,206,254, +198,159,214,41,6,38,210,159,254,198,205,1,138,139,139,2,176,253,80,155,155,2, +176,251,198,2,147,172,172,253,109,4,58,0,0,1,0,46,0,0,3,212,4,58,0,11,0,0,1, +19,51,9,1,35,11,1,35,9,1,51,1,254,230,230,254,161,1,105,226,240,240,228,1,105, +254,161,227,2,171,1,143,253,233,253,221,1,153,254,103,2,35,2,23,0,0,1,0,26, +254,75,3,232,4,58,0,21,0,0,1,23,51,1,51,1,14,1,35,34,38,39,55,38,22,51,50,54, +63,1,1,51,1,218,35,6,1,10,219,254,57,41,153,130,24,74,20,20,6,83,11,63,80,27, +47,254,110,220,1,145,136,3,49,251,32,109,162,11,5,155,1,6,112,68,113,4,36,0,0, +0,0,1,0,94,0,0,3,186,4,58,0,9,0,0,37,33,21,33,53,1,33,53,33,21,1,73,2,113,252, +164,2,73,253,190,3,51,154,154,138,3,20,156,134,0,0,1,0,63,254,148,2,159,6,61, +0,30,0,0,1,46,1,61,1,52,38,35,53,50,54,61,1,52,54,55,23,14,1,29,1,20,6,7,30,1, +29,1,20,22,23,2,119,195,164,103,106,106,103,164,195,40,110,92,85,85,85,85,92, +110,254,148,55,240,170,205,112,125,147,123,113,206,171,239,55,117,35,181,132, +206,105,160,45,46,161,103,205,132,179,36,0,0,0,1,0,145,254,242,1,86,5,176,0,3, +0,0,1,35,17,51,1,86,197,197,254,242,6,190,0,0,0,1,0,21,254,148,2,118,6,61,0, +30,0,0,23,62,1,61,1,52,54,55,46,1,61,1,52,38,39,55,30,1,29,1,20,22,51,21,34,6, +29,1,20,6,7,21,109,94,90,94,94,90,94,109,41,194,165,101,108,108,101,165,194, +246,36,179,132,205,107,160,43,41,160,109,206,132,181,35,117,55,239,171,206, +113,123,147,125,112,205,170,240,55,0,1,0,128,1,145,4,240,3,35,0,25,0,0,1,20,6, +35,34,38,39,46,1,35,34,6,21,39,52,54,51,50,22,23,30,1,51,50,54,53,4,240,174, +130,90,147,85,59,98,50,67,95,141,171,132,88,150,85,58,96,52,66,97,2,228,137, +202,66,74,48,48,106,75,18,136,193,69,70,51,46,114,77,0,0,255,255,0,144,254, +138,1,86,4,58,0,71,3,176,255,229,4,58,64,0,192,1,0,0,0,1,0,97,255,11,3,218,5, +38,0,35,0,0,37,50,54,53,51,23,22,6,7,21,35,53,38,2,61,1,52,18,55,53,51,21,30, +1,15,1,35,52,38,35,34,6,29,1,20,22,2,61,91,136,180,2,3,178,131,198,184,197, +198,183,198,140,170,3,3,180,129,98,145,133,131,133,121,88,5,116,198,31,237, +233,31,1,40,205,42,202,1,40,33,225,227,30,209,138,5,99,139,225,160,42,163,224, +0,0,0,1,0,70,0,0,4,87,5,197,0,34,0,0,1,23,20,6,7,33,7,33,53,51,62,1,53,39,35, +53,51,3,52,54,51,50,22,15,1,35,52,38,35,34,6,21,19,33,21,1,174,6,31,29,2,223, +1,252,48,10,48,48,6,164,158,10,224,188,200,220,4,2,190,126,98,99,116,10,1,162, +2,103,149,90,163,59,154,154,13,196,103,149,155,1,14,204,233,209,172,6,118,114, +149,133,254,242,155,0,0,2,0,104,255,229,5,90,4,241,0,35,0,47,0,0,37,14,1,35, +34,38,39,7,39,55,46,1,53,52,54,55,39,55,23,62,1,51,50,22,23,55,23,7,30,1,21, +20,6,7,23,7,1,20,18,51,50,18,53,52,2,35,34,2,4,73,77,185,101,101,185,75,130, +139,138,50,53,57,54,146,139,143,74,178,96,97,178,75,146,140,150,52,57,53,48, +142,140,252,115,241,172,170,241,241,170,172,241,108,62,66,65,61,132,138,140, +76,181,99,102,188,78,149,139,146,55,61,62,56,149,140,153,78,185,101,98,179,76, +143,139,2,123,188,254,247,1,9,188,186,1,8,254,248,0,1,0,30,0,0,4,175,5,176,0, +22,0,0,9,1,51,1,33,21,33,21,33,21,33,17,35,17,33,53,33,53,33,53,33,1,51,2,103, +1,104,224,254,94,1,56,254,129,1,127,254,129,197,254,137,1,119,254,137,1,55, +254,93,226,3,25,2,151,253,50,123,167,122,254,186,1,70,122,167,123,2,206,0,0,0, +2,0,145,254,242,1,86,5,176,0,3,0,7,0,0,19,17,51,25,1,35,17,51,145,197,197,197, +254,242,3,24,252,232,3,200,2,246,0,0,0,2,0,90,254,17,4,124,5,197,0,51,0,69,0, +0,1,20,6,7,30,1,21,20,4,35,34,36,63,2,20,22,51,50,54,53,52,38,39,46,1,53,52, +54,55,46,1,53,52,36,51,50,4,15,1,35,52,38,35,34,6,21,20,22,23,30,1,37,46,1,39, +14,1,21,20,22,23,30,1,23,62,1,53,52,38,4,124,96,87,69,70,254,246,225,221,254, +210,5,2,188,193,135,137,157,144,204,239,226,94,87,68,68,1,12,224,233,1,4,4,3, +188,158,140,145,150,134,211,244,223,253,223,47,83,36,73,73,136,210,56,74,33, +72,80,147,1,175,94,140,40,51,136,98,172,195,205,220,6,2,143,135,119,91,91,101, +63,63,186,177,91,141,41,50,139,97,166,201,223,202,6,118,158,119,91,99,99,58, +69,181,83,12,25,15,19,100,69,100,103,59,17,22,12,20,99,69,91,107,0,0,0,2,0, +160,4,232,3,101,5,176,0,3,0,7,0,0,1,35,53,51,5,35,53,51,3,101,219,219,254,22, +219,219,4,232,200,200,200,0,0,0,0,3,0,88,255,235,5,227,5,196,0,29,0,41,0,53,0, +0,1,23,22,6,35,34,38,61,1,52,54,51,50,22,15,1,35,52,38,35,34,6,29,1,20,22,51, +50,54,53,37,16,0,51,50,0,17,16,0,35,34,0,3,16,0,33,32,0,17,16,0,33,32,0,4,87, +2,4,176,157,160,188,188,160,157,177,4,2,146,91,91,94,102,102,94,91,90,253,12, +1,87,246,245,1,88,254,168,245,246,254,169,121,1,158,1,40,1,39,1,158,254,97, +254,218,254,216,254,98,2,84,6,151,157,213,174,119,173,214,158,149,6,95,87,141, +114,120,117,140,86,98,133,254,247,254,148,1,108,1,9,1,7,1,106,254,150,254,249, +1,59,1,176,254,80,254,197,254,196,254,78,1,178,0,0,2,0,120,2,180,3,19,5,197,0, +32,0,43,0,0,1,46,1,39,14,1,35,34,38,53,52,54,59,1,53,52,38,35,34,6,21,47,1,38, +54,51,50,22,21,17,20,22,23,37,50,54,55,53,35,34,6,21,20,22,2,101,8,10,3,33, +113,77,119,130,169,161,139,60,58,67,73,162,1,6,169,140,134,156,12,14,254,136, +51,109,18,138,75,83,58,2,194,21,48,26,47,62,122,106,110,120,52,63,68,54,49,13, +6,98,130,142,134,254,198,50,88,43,125,60,35,110,66,46,45,48,0,0,255,255,0,77, +0,37,3,30,3,125,0,38,1,19,245,221,0,7,1,19,1,68,255,221,0,1,0,127,1,119,3,194, +3,34,0,5,0,0,1,35,17,33,53,33,3,194,198,253,131,3,67,1,119,1,6,165,0,4,0,88, +255,235,5,227,5,196,0,11,0,23,0,50,0,59,0,0,19,16,0,33,32,0,17,16,0,33,32,0, +19,16,0,51,50,0,17,16,0,35,34,0,1,17,35,17,33,50,22,21,20,6,7,30,1,29,1,20,22, +23,21,35,46,1,61,1,52,38,35,39,51,62,1,53,52,38,43,1,88,1,158,1,40,1,39,1,158, +254,97,254,218,254,216,254,98,121,1,87,246,244,1,88,254,169,245,246,254,169,1, +188,149,1,24,152,173,66,63,66,59,7,10,153,9,4,67,77,159,152,65,91,79,98,131,2, +217,1,59,1,176,254,80,254,197,254,196,254,78,1,178,1,60,254,246,254,149,1,108, +1,9,1,8,1,105,254,151,254,173,254,174,3,82,131,126,62,94,31,26,106,75,56,41, +65,21,16,21,81,42,54,72,68,130,1,63,56,73,59,0,0,0,1,0,103,5,30,3,86,5,176,0, +3,0,0,1,33,53,33,3,86,253,17,2,239,5,30,146,0,0,2,0,128,3,191,2,125,5,197,0, +11,0,23,0,0,19,52,54,51,50,22,21,20,6,35,34,38,55,20,22,51,50,54,53,52,38,35, +34,6,128,152,105,103,149,148,104,106,151,131,73,53,52,71,72,51,53,73,4,192, +106,155,155,106,108,149,149,108,55,72,72,55,55,75,75,0,0,2,0,99,0,4,3,247,4, +243,0,11,0,15,0,0,1,33,21,33,17,35,17,33,53,33,17,51,1,33,53,33,2,145,1,102, +254,154,177,254,131,1,125,177,1,58,252,189,3,67,3,88,154,254,99,1,157,154,1, +155,251,17,155,0,0,1,0,113,2,155,2,202,5,199,0,26,0,0,1,33,53,1,62,1,53,52,38, +35,34,6,21,35,39,38,54,51,50,22,21,20,6,15,1,23,33,2,202,253,176,1,46,69,44, +57,58,67,73,161,2,6,168,141,135,152,89,116,153,2,1,105,2,155,130,1,6,60,75,42, +50,62,64,50,6,99,140,128,116,80,112,105,135,6,0,1,0,106,2,143,2,228,5,198,0, +42,0,0,1,50,54,53,52,38,35,34,6,21,35,39,38,54,51,50,22,21,20,6,7,30,1,21,20, +6,35,34,38,63,1,51,20,22,51,50,54,53,52,38,43,1,53,1,168,67,65,73,69,56,69, +162,2,6,169,126,145,168,71,62,70,76,180,146,127,181,6,1,163,75,63,72,84,73,73, +132,4,113,57,52,43,58,48,40,6,94,119,119,110,55,91,26,23,96,68,111,124,116, +111,6,46,57,59,48,62,57,126,0,0,0,0,1,0,131,4,228,2,36,5,238,0,4,0,0,1,51,23, +1,35,1,60,230,2,254,243,148,5,238,6,254,252,0,0,1,0,153,254,96,3,242,4,58,0, +21,0,0,1,17,30,1,51,50,54,55,17,51,17,35,39,14,1,35,34,38,39,17,35,17,1,93,2, +111,100,98,121,32,197,177,9,44,127,83,72,109,40,196,4,58,253,126,178,129,72, +70,3,39,251,198,108,63,66,33,35,254,49,5,218,0,0,1,0,63,0,0,3,68,5,176,0,10,0, +0,33,17,35,34,0,53,52,0,51,33,17,2,127,84,233,254,253,1,3,233,1,25,2,8,1,3, +209,207,1,5,250,80,0,0,0,1,0,161,2,112,1,103,3,68,0,3,0,0,1,35,53,51,1,103, +198,198,2,112,212,0,0,0,0,1,0,119,254,77,1,175,0,0,0,15,0,0,33,7,30,1,21,20,6, +35,39,50,54,53,52,38,39,55,1,36,12,65,86,158,147,7,72,88,72,87,32,52,11,82,80, +96,114,109,49,49,48,38,7,135,0,1,0,95,2,153,1,140,5,197,0,5,0,0,1,35,17,35,53, +37,1,140,174,127,1,45,2,153,2,143,134,23,0,2,0,120,2,179,3,43,5,197,0,13,0,27, +0,0,19,52,54,51,50,22,29,1,20,6,35,34,38,53,51,20,22,51,50,54,61,1,52,38,35, +34,6,21,120,188,157,158,188,187,157,158,189,173,88,86,83,89,90,84,84,88,4,118, +148,187,187,148,117,149,185,185,149,88,105,106,87,117,84,107,107,84,0,0,255, +255,0,166,0,71,3,131,3,159,0,38,1,20,22,0,0,7,1,20,1,112,0,0,255,255,0,184,0, +0,5,236,5,196,0,39,1,101,0,89,2,152,0,39,1,21,1,24,0,8,0,7,1,104,2,196,0,0,0, +0,255,255,0,184,0,0,5,245,5,196,0,39,1,21,1,37,0,8,0,39,1,101,0,89,2,152,0,7, +1,102,3,43,0,0,0,0,255,255,0,122,0,0,6,159,5,199,0,39,1,21,1,207,0,8,0,39,1, +104,3,119,0,0,0,7,1,103,0,16,2,155,0,0,255,255,0,117,254,118,3,177,4,59,0,15, +0,31,3,235,4,59,192,1,0,2,0,14,0,0,7,132,5,176,0,15,0,19,0,0,41,1,3,33,3,35,1, +33,21,33,19,33,21,33,19,33,1,33,3,39,7,132,252,129,15,253,211,201,242,3,113,3, +199,253,77,20,2,78,253,184,22,2,193,250,172,1,191,31,5,1,94,254,162,5,176,155, +254,46,155,253,242,1,119,2,198,2,0,0,0,1,0,88,0,225,3,225,4,121,0,11,0,0,19,9, +1,55,9,1,23,9,1,7,9,1,88,1,71,254,185,126,1,70,1,71,126,254,184,1,72,126,254, +185,254,186,1,95,1,78,1,78,126,254,179,1,77,126,254,178,254,178,126,1,76,254, +180,0,0,3,0,108,255,162,4,253,5,237,0,25,0,37,0,49,0,0,1,16,0,33,34,38,39,7, +35,55,46,1,53,17,16,0,51,50,22,23,55,51,7,30,1,21,1,20,22,31,1,1,46,1,35,34,2, +21,33,52,38,47,1,1,30,1,51,50,54,53,4,253,254,181,254,248,85,151,64,91,149, +139,84,89,1,63,255,94,169,71,81,150,132,77,85,252,52,37,36,6,2,31,49,124,72, +172,205,3,7,33,30,6,253,227,44,106,62,183,215,2,86,254,245,254,160,41,40,154, +235,83,236,138,1,3,1,10,1,98,51,46,137,221,84,226,129,254,253,85,146,52,1,3, +149,40,44,255,0,200,75,134,50,1,252,113,34,34,255,203,0,0,0,2,0,163,0,0,4,96, +5,176,0,12,0,21,0,0,1,17,33,50,4,21,20,4,35,33,17,35,17,19,17,33,50,54,53,52, +38,35,1,104,1,13,232,1,3,254,253,232,254,243,197,197,1,13,147,147,147,147,5, +176,254,219,236,189,190,235,254,199,5,176,254,65,253,226,156,113,114,159,0,0, +0,1,0,137,255,235,4,92,6,19,0,39,0,0,33,35,17,52,54,51,50,22,21,14,1,21,20,18, +21,20,6,35,34,38,39,55,30,1,51,50,54,53,52,2,53,52,54,55,52,38,35,34,6,21,1, +77,196,221,198,186,247,51,48,226,198,169,89,184,40,78,40,119,56,99,91,226,58, +53,152,86,105,128,4,77,218,236,201,180,87,152,75,82,254,166,115,168,170,51,38, +141,28,48,105,88,76,1,94,110,99,164,91,72,113,156,144,0,0,3,0,88,255,235,6, +154,4,78,0,46,0,57,0,66,0,0,5,34,38,39,14,1,35,34,38,53,52,54,59,1,53,52,38, +35,34,6,21,47,1,38,54,51,50,22,23,62,1,51,50,18,29,1,33,7,30,1,51,50,54,55,23, +14,1,37,50,54,55,53,35,34,6,21,20,22,1,34,6,7,23,33,53,52,38,5,12,136,208,66, +56,223,160,170,185,230,220,229,104,97,103,122,188,2,5,230,190,114,175,50,64, +175,101,214,231,253,59,2,1,157,155,103,133,78,67,53,188,252,74,76,166,43,227, +120,135,100,3,92,113,138,11,2,1,252,120,21,97,90,79,108,174,151,157,172,87, +106,121,110,78,18,6,138,181,81,77,75,83,254,252,228,119,5,159,198,55,51,138, +44,78,154,87,57,214,111,80,74,93,3,46,169,133,5,31,122,154,0,0,2,0,72,255,235, +4,48,5,237,0,32,0,45,0,0,1,22,18,29,1,20,0,35,34,0,53,52,0,51,50,22,23,55,46, +1,39,5,39,37,46,1,39,55,30,1,23,55,23,1,50,54,61,1,46,1,35,34,6,21,20,22,3, +105,95,104,254,224,215,218,254,233,1,20,213,90,159,52,4,9,85,68,254,222,77,1, +0,39,83,44,60,79,144,63,218,77,254,17,133,169,35,161,118,131,161,164,5,17,104, +254,237,163,220,245,254,201,1,24,207,228,1,28,74,60,5,109,176,66,165,102,146, +22,34,14,164,19,66,46,125,102,251,4,228,174,148,59,81,208,149,132,201,0,0,3,0, +71,0,180,4,45,4,178,0,3,0,7,0,11,0,0,1,33,53,33,37,35,53,51,17,35,53,51,4,45, +252,26,3,230,254,113,198,198,198,198,2,85,188,214,203,252,2,203,0,0,0,3,0,97, +255,121,4,42,4,185,0,25,0,37,0,49,0,0,19,52,0,51,50,22,23,55,51,7,30,1,29,1, +20,0,35,34,38,39,7,35,55,46,1,53,51,20,22,23,51,1,46,1,35,34,6,21,33,52,38,39, +35,1,30,1,51,50,54,53,97,1,4,223,56,104,46,74,129,105,88,94,254,252,224,50,92, +42,72,129,100,97,103,197,40,41,6,1,77,30,67,37,141,145,2,63,34,33,6,254,185, +25,56,32,141,146,2,39,240,1,55,22,20,149,212,74,231,141,22,242,254,204,17,16, +147,203,72,240,149,91,152,48,2,162,17,18,226,170,80,140,47,253,106,12,11,224, +172,0,0,2,0,153,254,96,4,51,6,24,0,17,0,31,0,0,1,20,2,35,34,38,39,17,35,17,51, +17,62,1,51,50,18,17,35,52,38,35,34,6,7,17,30,1,51,50,54,53,4,51,224,197,100, +151,53,197,197,53,150,98,201,223,197,145,141,85,120,37,37,120,87,140,144,1, +244,234,254,225,67,67,253,239,7,184,253,170,68,72,254,193,254,250,184,237,77, +67,253,245,67,75,205,162,0,0,0,2,0,30,0,0,5,139,5,176,0,19,0,23,0,0,1,35,17, +35,17,33,17,35,17,35,53,51,17,51,17,33,17,51,17,51,1,33,53,33,5,139,140,197, +253,61,197,148,148,197,2,195,197,140,251,236,2,195,253,61,4,4,251,252,2,131, +253,125,4,4,146,1,26,254,230,1,26,254,230,254,136,230,0,0,0,1,0,153,0,0,1,94, +4,58,0,3,0,0,33,35,17,51,1,94,197,197,4,58,0,1,0,153,0,0,4,64,4,58,0,14,0,0,1, +35,17,35,17,51,17,51,1,51,23,9,1,7,35,1,195,101,197,197,84,1,132,231,2,254,62, +1,227,2,241,1,203,254,53,4,58,254,55,1,201,5,253,254,253,210,5,0,0,0,0,1,0,40, +0,0,4,46,5,176,0,13,0,0,1,37,21,5,17,33,21,33,17,7,53,55,17,51,1,104,1,13,254, +243,2,198,252,117,123,123,197,3,75,86,166,86,253,245,154,2,103,39,166,39,2, +163,0,1,0,37,0,0,2,14,6,24,0,11,0,0,1,55,21,7,17,35,17,7,53,55,17,51,1,120, +150,150,197,142,142,197,3,104,58,165,58,253,61,2,120,54,165,54,2,251,0,1,0, +160,254,75,4,237,5,176,0,24,0,0,1,17,20,6,35,34,38,39,55,30,1,51,50,54,61,1,1, +7,17,35,17,51,1,55,17,4,237,172,154,31,52,29,14,13,68,17,61,68,253,67,6,197, +197,2,189,6,5,176,249,247,167,181,9,9,150,5,8,103,90,89,4,88,2,251,170,5,176, +251,168,2,4,86,0,0,0,1,0,143,254,75,3,245,4,78,0,31,0,0,1,23,62,1,51,50,22,21, +17,20,6,35,34,38,39,55,30,1,51,50,54,53,17,52,38,35,34,6,7,17,35,17,1,63,13, +54,160,101,174,192,172,154,31,53,28,14,13,67,18,61,68,114,116,85,123,38,197,4, +58,150,81,89,205,214,252,252,167,181,9,9,160,5,7,94,88,3,0,143,120,66,59,252, +207,4,58,0,0,2,0,104,255,235,7,10,5,197,0,23,0,37,0,0,41,1,14,1,35,34,0,25,1, +16,0,51,50,22,23,33,21,33,17,33,21,33,17,33,5,50,54,55,17,46,1,35,34,6,21,17, +20,22,7,10,252,175,92,130,67,249,254,201,1,53,249,69,143,79,3,70,253,79,2,86, +253,170,2,188,251,142,61,122,58,61,122,60,169,192,194,10,11,1,76,1,9,1,48,1,9, +1,76,12,9,155,254,41,155,253,247,20,9,9,4,127,8,11,227,213,254,206,214,228,0, +3,0,97,255,235,6,219,4,78,0,36,0,56,0,65,0,0,5,34,38,39,14,1,35,34,0,61,1,52, +0,51,50,22,23,62,1,51,50,18,29,1,33,20,6,7,30,1,51,50,54,55,23,14,1,1,20,22, +51,50,54,55,46,1,61,1,52,54,55,46,1,35,34,6,21,1,34,6,7,23,33,53,52,38,5,93, +136,209,66,64,193,123,224,254,251,1,4,223,124,194,64,64,187,108,217,217,253, +78,2,2,16,155,141,98,116,79,49,54,155,251,68,145,143,120,141,20,3,2,2,3,20, +143,120,141,145,4,3,103,135,15,2,1,232,116,21,98,90,90,98,1,53,241,22,240,1, +55,100,90,89,101,254,242,224,104,15,28,21,140,167,41,42,139,39,59,2,38,172, +224,165,136,22,42,22,44,19,41,21,135,167,226,170,1,140,159,124,5,16,118,154,0, +0,1,0,19,255,235,2,117,5,63,0,31,0,0,1,17,51,21,35,21,51,21,35,17,20,22,51,50, +54,55,23,14,1,35,34,38,53,17,35,53,51,53,35,53,51,17,1,131,205,205,242,242,63, +52,17,41,16,27,23,86,42,119,143,162,162,171,171,5,63,254,251,146,149,146,254, +150,76,62,8,6,135,18,23,145,155,1,106,146,149,146,1,5,0,1,0,159,0,0,2,135,6, +45,0,15,0,0,51,17,52,54,51,50,22,23,7,46,1,35,34,6,21,17,159,182,162,33,69,42, +24,20,44,25,87,91,4,195,173,189,11,10,145,5,6,109,98,251,61,0,0,1,255,233,254, +75,2,192,6,45,0,37,0,0,33,21,20,6,35,34,38,39,55,30,1,51,50,54,53,17,35,53,51, +53,52,54,51,50,22,23,7,46,1,35,34,6,29,1,51,21,35,17,1,157,172,153,31,52,28, +14,13,66,18,59,69,169,170,180,162,34,69,42,24,18,51,27,87,83,196,196,89,167, +181,9,9,150,5,8,103,90,4,1,146,137,173,189,11,10,150,4,6,103,98,137,146,252, +88,0,0,2,0,108,255,235,6,49,5,197,0,23,0,37,0,0,1,16,0,33,34,0,25,1,16,0,51, +50,4,23,62,1,53,51,20,6,7,30,1,21,39,52,2,35,34,2,21,17,20,18,51,50,54,53,4, +253,254,181,254,248,255,254,193,1,63,255,183,1,23,72,84,88,197,166,154,5,7, +197,216,182,172,205,205,172,183,215,2,86,254,245,254,160,1,96,1,11,1,3,1,10,1, +98,179,152,31,160,121,187,240,40,33,67,34,2,200,1,0,255,0,200,254,251,202,255, +0,255,203,0,0,2,0,97,255,235,4,242,4,78,0,23,0,37,0,0,19,52,0,51,50,22,23,62, +1,53,51,20,6,7,30,1,29,1,20,0,35,34,0,53,51,20,22,51,50,54,61,1,52,38,35,34,6, +21,97,1,4,223,136,208,62,51,51,178,112,108,9,11,254,252,224,224,254,251,197, +145,143,141,146,147,142,141,145,2,39,240,1,55,120,107,27,110,76,137,189,41,41, +85,44,22,242,254,204,1,53,241,172,224,224,172,22,170,226,226,170,0,0,1,0,147, +255,235,6,88,5,177,0,27,0,0,1,17,23,62,1,53,51,23,22,6,7,17,20,0,35,34,0,53, +17,51,17,20,22,51,50,54,53,17,4,220,6,86,93,190,3,2,196,184,254,200,246,237, +254,210,197,191,151,160,201,5,176,254,217,1,25,154,118,5,193,243,33,254,18, +240,254,242,1,15,239,3,199,252,57,167,189,189,167,3,199,0,0,0,0,1,0,139,255, +235,5,106,4,59,0,29,0,0,1,23,22,6,7,17,35,39,14,1,35,34,38,53,17,51,17,20,22, +51,50,54,55,17,51,21,23,62,1,53,5,100,3,3,177,189,177,13,51,161,104,177,198, +197,102,108,105,137,35,197,6,100,85,4,59,6,177,192,14,253,74,161,87,95,226, +239,2,126,253,128,173,130,86,79,3,10,241,2,7,120,117,0,0,1,255,188,254,75,1, +112,4,58,0,15,0,0,1,17,20,6,35,34,38,39,55,30,1,51,50,54,53,17,1,112,172,153, +31,51,29,14,14,65,18,59,69,4,58,251,109,167,181,9,9,150,5,8,103,90,4,147,0,0, +0,1,0,110,4,228,3,77,5,235,0,8,0,0,1,7,35,39,7,35,39,1,51,3,77,2,170,196,196, +169,2,1,12,198,4,234,6,176,176,6,1,1,0,0,0,1,0,85,4,228,3,54,5,235,0,8,0,0,1, +55,51,23,1,35,1,55,51,1,197,196,171,2,254,242,198,254,243,2,170,5,59,176,6, +254,255,1,1,6,0,1,0,129,4,164,2,216,5,176,0,15,0,0,1,23,22,6,35,34,38,63,1,51, +20,22,51,50,54,53,2,210,2,4,162,137,138,162,5,2,151,68,74,72,70,5,176,6,116, +146,146,116,6,66,82,83,65,0,0,0,0,1,0,160,4,231,1,122,5,176,0,3,0,0,1,35,53, +51,1,122,218,218,4,231,201,0,0,0,0,2,0,165,4,118,2,2,5,197,0,11,0,23,0,0,19, +52,54,51,50,22,21,20,6,35,34,38,55,20,22,51,50,54,53,52,38,35,34,6,165,103,73, +72,101,101,72,73,103,100,44,32,30,43,43,30,32,44,5,27,72,98,98,72,73,92,93,72, +32,43,42,33,33,45,45,0,0,1,0,18,254,98,1,224,0,0,0,15,0,0,33,23,14,1,7,21,33, +21,33,46,1,53,52,54,55,53,1,156,2,75,115,1,1,1,254,56,3,3,122,83,109,3,79,67, +23,133,19,41,17,122,168,23,24,0,0,0,0,1,0,135,4,225,3,61,5,243,0,19,0,0,1,20, +6,35,34,38,35,34,6,21,39,52,54,51,50,22,51,50,54,53,3,61,119,90,71,154,51,43, +58,108,118,91,56,168,52,41,60,5,211,94,130,93,65,46,26,93,137,94,65,47,0,2,0, +100,4,228,3,74,5,238,0,5,0,10,0,0,1,51,23,1,35,39,3,51,23,3,35,2,98,229,3,254, +212,171,2,85,211,2,240,157,5,238,6,254,252,5,1,5,5,254,251,0,255,255,0,182, +254,131,1,236,255,173,0,15,0,156,0,36,250,142,56,209,255,255,0,36,4,240,1,64, +6,79,0,71,0,64,255,235,254,123,44,156,84,128,0,0,255,255,0,210,4,239,1,239,6, +80,0,71,0,113,0,121,254,118,43,177,84,192,0,0,255,255,0,135,4,225,3,61,5,243, +0,6,0,158,0,0,255,255,255,187,4,228,2,161,5,238,0,71,0,159,3,5,0,0,192,1,64,0, +0,0,0,1,0,148,4,246,1,100,5,252,0,3,0,0,19,51,3,35,148,208,67,83,5,252,254, +250,0,0,0,3,0,161,4,232,3,101,6,165,0,3,0,7,0,11,0,0,1,35,55,51,5,35,53,51,55, +51,7,35,3,101,219,20,199,254,22,218,198,48,219,38,142,4,232,200,200,200,245, +233,0,0,255,255,0,161,2,112,1,103,3,68,0,6,0,116,0,0,0,1,0,163,0,0,4,32,5,176, +0,5,0,0,1,33,17,35,17,33,4,32,253,72,197,3,125,5,21,250,235,5,176,0,0,0,0,2,0, +30,0,0,5,112,5,176,0,3,0,7,0,0,1,51,1,33,37,33,1,35,2,135,169,2,64,250,174,1, +8,3,70,254,112,6,5,176,250,80,154,4,26,0,0,0,0,3,0,113,255,235,5,2,5,197,0,3, +0,17,0,31,0,0,1,33,53,33,5,16,0,33,34,0,25,1,16,0,51,32,0,17,39,52,2,35,34,2, +21,17,20,18,51,50,54,53,3,191,254,3,1,253,1,67,254,181,254,248,255,254,193,1, +63,255,1,8,1,75,197,216,182,172,205,205,172,183,215,2,147,154,215,254,245,254, +160,1,96,1,11,1,3,1,10,1,98,254,159,254,245,2,200,1,0,255,0,200,254,251,202, +255,0,255,203,0,0,0,0,1,0,49,0,0,5,7,5,176,0,7,0,0,1,35,1,35,1,51,1,35,2,159, +6,254,97,201,2,22,170,2,22,201,4,147,251,109,5,176,250,80,0,0,0,3,0,123,0,0,4, +36,5,176,0,3,0,7,0,11,0,0,55,33,21,33,19,33,21,33,3,33,21,33,123,3,169,252,87, +83,2,249,253,7,82,3,156,252,100,154,154,3,65,155,3,10,155,0,0,0,0,1,0,168,0,0, +4,247,5,176,0,7,0,0,33,35,17,33,17,35,17,33,4,247,197,253,59,197,4,79,5,21, +250,235,5,176,0,1,0,70,0,0,4,72,5,176,0,14,0,0,9,1,23,33,21,33,53,9,1,53,33, +21,33,7,1,2,246,254,67,3,3,12,251,254,1,224,254,32,3,208,253,38,3,1,189,2,203, +253,213,5,155,147,2,69,2,69,147,155,5,253,211,0,0,0,0,3,0,84,0,0,5,77,5,176,0, +17,0,26,0,35,0,0,1,22,0,21,20,0,7,21,35,53,38,0,53,52,0,55,53,51,1,20,22,63,1, +17,39,38,6,5,52,38,35,7,17,23,22,54,3,52,230,1,51,254,205,230,197,232,254,205, +1,51,232,197,253,227,177,161,6,6,160,178,3,114,178,157,6,6,157,178,4,205,5, +254,229,218,221,254,227,4,213,213,3,1,28,221,219,1,30,4,226,253,33,161,187,1, +2,2,179,2,1,189,158,159,187,2,253,77,2,1,189,0,0,1,0,87,0,0,5,27,5,176,0,25,0, +0,1,23,62,1,53,17,51,17,20,0,7,17,35,17,38,0,53,17,51,17,20,22,23,55,17,51,3, +19,6,144,173,197,254,226,234,198,227,254,237,196,164,136,6,198,1,229,2,19,211, +172,2,59,253,197,245,254,215,24,254,193,1,64,24,1,40,245,2,59,253,197,170,210, +20,1,3,202,0,0,0,1,0,112,0,0,4,208,5,197,0,35,0,0,37,54,18,61,1,52,38,35,34,6, +29,1,20,18,23,21,33,53,51,38,2,61,1,16,0,51,50,0,17,21,20,2,7,33,21,33,2,223, +141,157,193,170,169,192,161,143,254,17,253,120,139,1,53,249,249,1,55,139,118, +1,3,254,15,159,25,1,31,251,118,233,249,249,233,118,251,254,224,24,159,154,92, +1,53,167,116,1,28,1,99,254,157,254,228,116,167,254,204,93,154,0,0,0,0,2,0,98, +255,235,4,128,4,78,0,28,0,43,0,0,1,17,20,22,51,50,54,55,23,14,1,35,34,38,39, +14,1,35,34,2,61,1,16,18,51,50,22,23,55,1,20,22,51,50,54,55,53,17,46,1,35,34,6, +21,3,233,41,35,15,26,11,23,29,60,37,75,100,24,55,153,99,198,224,223,201,101, +155,55,51,253,179,135,140,81,114,39,39,115,78,141,136,4,57,252,219,72,56,3,4, +142,20,14,64,69,66,67,1,31,234,21,1,5,1,64,72,68,119,253,187,164,203,71,64,8, +2,29,60,70,239,187,0,2,0,157,254,31,4,79,5,197,0,20,0,42,0,0,1,50,22,21,20,6, +7,30,1,21,20,6,35,34,38,39,17,35,17,52,36,19,50,54,53,52,38,35,34,6,21,17,30, +1,51,50,54,53,52,38,43,1,53,2,95,195,236,100,87,119,133,253,202,83,154,57,197, +1,10,180,122,116,125,109,107,146,44,141,89,129,149,131,111,143,5,197,220,174, +91,153,45,44,196,129,209,237,51,51,253,206,6,18,165,239,253,151,121,106,95, +140,143,106,252,194,52,58,160,128,112,172,155,0,0,1,0,46,254,95,3,228,4,58,0, +11,0,0,1,51,1,17,35,17,1,51,1,23,51,55,3,27,201,254,137,197,254,134,202,1,0, +17,6,19,4,58,252,4,254,33,1,228,3,247,253,5,76,76,0,0,0,2,0,97,255,235,4,42,5, +176,0,20,0,34,0,0,1,21,33,7,1,30,1,29,1,20,0,35,34,0,61,1,52,18,55,37,53,1,34, +6,29,1,20,22,51,50,54,61,1,52,38,3,170,254,57,1,1,97,110,121,254,252,224,224, +254,251,220,192,254,208,1,119,141,145,145,143,141,146,147,5,176,151,6,254,246, +69,253,160,22,242,254,204,1,53,241,22,219,1,45,26,241,118,254,3,226,170,22, +172,224,224,172,22,170,226,0,0,0,1,0,98,255,237,3,233,4,76,0,42,0,0,1,34,6,21, +20,22,51,50,54,53,51,23,22,4,35,34,38,53,52,54,55,46,1,53,52,54,51,50,22,15,1, +35,52,38,35,34,6,21,20,22,59,1,21,2,26,121,121,137,118,112,145,186,2,5,254, +246,184,202,251,103,99,87,96,233,201,183,249,5,2,186,139,100,116,121,109,115, +209,1,221,85,87,73,100,112,76,6,162,171,173,151,91,128,32,35,122,73,150,164, +175,139,6,70,98,95,67,74,85,150,0,0,0,1,0,115,254,88,3,202,5,176,0,33,0,0,1, +21,1,14,1,21,20,22,59,1,50,22,21,14,1,7,39,62,1,53,52,38,43,1,34,38,53,52,18, +55,1,39,33,53,3,202,254,170,129,113,105,102,32,159,180,2,155,109,81,66,94,82, +90,52,179,185,139,144,1,12,2,253,145,5,176,112,254,80,153,227,145,116,117,127, +128,111,165,47,127,31,86,70,52,58,214,168,120,1,65,169,1,48,5,155,0,1,0,143, +254,97,3,245,4,78,0,19,0,0,1,23,62,1,51,50,22,21,17,35,17,52,38,35,34,6,7,17, +35,17,1,63,13,54,160,101,177,189,197,114,116,85,123,38,197,4,58,150,81,89,195, +224,251,182,4,70,143,125,67,60,252,204,4,58,0,3,0,119,255,235,4,22,5,197,0,13, +0,22,0,31,0,0,1,20,2,35,34,2,53,17,52,18,51,50,18,21,5,33,17,52,38,35,34,6,21, +1,33,21,20,22,51,50,54,53,4,22,251,212,211,253,251,211,212,253,253,38,2,21, +140,128,127,138,2,21,253,235,141,126,128,138,2,2,247,254,224,1,32,247,1,172, +245,1,34,254,222,245,229,1,14,157,182,182,157,254,88,85,157,184,183,158,0,0,0, +1,0,197,255,235,2,115,4,57,0,15,0,0,1,17,20,22,51,50,54,55,23,14,1,35,34,38, +53,17,1,138,53,45,25,48,18,44,45,89,53,119,124,4,57,252,211,73,56,15,11,133, +31,22,142,158,3,34,0,0,0,1,0,56,255,239,4,94,5,238,0,33,0,0,33,35,1,39,46,1, +35,34,6,35,53,62,1,51,50,22,23,1,30,1,51,50,54,55,7,14,1,35,34,38,39,3,15,1,1, +19,219,1,135,55,32,87,60,10,54,4,20,63,24,129,153,40,1,104,22,71,44,14,9,24,3, +11,37,11,118,143,53,202,6,29,4,4,145,84,106,5,145,5,10,162,108,252,78,71,84,1, +4,154,5,10,130,140,2,19,1,113,0,0,0,1,0,45,254,68,3,235,5,176,0,46,0,0,1,21, +33,14,1,21,20,22,59,1,21,35,34,6,21,20,22,59,1,50,22,21,14,1,7,39,62,1,53,52, +38,43,1,34,36,53,52,54,55,46,1,53,52,54,55,35,53,3,235,254,95,123,125,145,155, +142,142,159,164,150,130,61,161,178,2,155,109,79,65,94,70,75,69,213,254,248, +134,129,113,127,64,61,221,5,176,155,8,142,105,105,116,155,135,133,119,149,127, +129,111,164,47,127,31,85,70,52,60,226,199,127,174,42,42,155,96,86,131,42,155, +0,0,0,0,1,0,79,255,235,4,204,4,58,0,23,0,0,1,35,17,20,22,51,50,54,55,23,14,1, +35,34,38,53,17,33,17,35,17,35,53,33,4,94,123,53,45,25,48,18,44,45,89,53,119, +124,254,145,197,155,4,15,3,158,253,110,73,56,15,11,133,31,22,142,158,2,135, +252,98,3,158,156,0,0,0,2,0,143,254,96,4,36,4,78,0,16,0,30,0,0,1,20,2,35,34,38, +39,17,35,17,53,52,0,51,50,18,17,35,52,38,35,34,6,21,17,30,1,51,50,54,53,4,36, +219,197,97,152,55,197,1,1,192,227,241,197,132,139,123,129,37,120,87,139,140,1, +244,235,254,226,60,58,253,255,3,224,1,247,1,22,254,195,254,248,189,237,231, +140,254,211,67,75,204,163,0,0,1,0,98,254,87,3,225,4,78,0,34,0,0,1,50,22,15,1, +35,52,38,35,34,6,29,1,20,22,51,50,22,21,14,1,7,39,62,1,53,52,38,35,34,0,61,1, +52,18,2,61,187,233,4,2,178,122,114,138,140,155,163,170,190,2,155,109,81,66,94, +83,90,246,254,243,255,4,78,209,178,6,103,135,230,155,42,152,215,127,129,111, +164,47,127,31,85,70,53,58,1,42,223,42,227,1,57,0,0,0,2,0,97,255,235,4,124,4, +58,0,16,0,30,0,0,1,33,30,1,29,1,20,0,35,34,0,61,1,52,0,51,33,1,20,22,51,50,54, +61,1,52,38,35,34,6,21,4,124,254,187,108,135,254,248,220,224,254,251,1,4,223,2, +56,252,170,145,143,141,146,147,142,141,145,3,158,74,222,118,22,210,254,211,1, +53,241,22,232,1,43,253,215,172,224,224,172,22,161,214,214,161,0,0,0,0,1,0,81, +0,0,3,220,4,58,0,7,0,0,1,33,17,35,17,33,53,33,3,220,254,154,197,254,160,3,139, +3,161,252,95,3,161,153,0,0,0,1,0,141,255,235,4,38,4,58,0,21,0,0,1,17,20,22,51, +50,54,53,38,2,39,51,22,18,21,20,2,35,34,38,53,17,1,82,138,117,137,135,5,86,73, +206,69,86,222,237,221,241,4,58,253,156,175,162,253,176,127,1,1,136,106,254, +253,155,255,254,184,242,251,2,98,0,0,2,0,83,254,34,5,87,4,58,0,24,0,33,0,0,1, +50,0,21,20,0,5,17,35,17,36,0,53,52,18,55,51,6,2,7,20,22,23,55,17,1,46,1,15,1, +17,23,62,1,3,46,228,1,69,254,241,254,230,197,254,238,254,252,64,52,206,57,66, +2,163,168,6,2,41,4,186,160,6,6,177,173,4,58,254,191,237,218,254,213,23,254,50, +1,206,25,1,65,234,153,1,1,108,134,254,254,126,155,238,23,2,3,164,253,210,163, +237,4,2,252,253,2,21,217,0,1,0,91,254,38,5,77,4,58,0,29,0,0,1,17,23,62,1,53, +38,2,39,51,22,18,21,20,0,5,17,35,17,38,0,25,1,51,17,20,22,23,55,17,3,37,6,177, +172,3,66,56,207,51,64,254,246,254,226,198,247,254,243,197,169,144,6,4,57,252, +92,2,23,241,156,125,1,1,133,106,255,0,153,240,254,190,22,254,55,1,203,25,1,46, +1,28,1,230,254,24,207,219,19,2,3,162,0,0,0,1,0,108,255,235,6,96,4,58,0,40,0,0, +1,6,2,7,20,22,51,50,54,53,17,51,17,20,22,51,50,54,53,38,2,39,51,22,18,21,20,2, +35,34,38,39,14,1,35,34,2,53,52,18,55,1,213,74,86,4,112,120,107,127,198,126, +108,120,112,5,86,73,207,68,86,202,216,127,175,42,43,175,125,217,202,85,70,4, +58,134,254,253,127,190,239,162,175,1,44,254,212,175,162,237,192,127,1,3,134, +106,254,252,154,255,254,184,122,119,119,122,1,72,255,155,1,4,105,0,0,1,0,57, +255,206,5,150,5,176,0,23,0,0,1,33,17,51,50,0,21,6,2,7,39,62,1,53,46,1,43,1,17, +35,17,33,53,33,4,184,254,32,171,235,1,40,2,195,190,51,128,112,1,182,150,171, +197,254,38,4,127,5,21,254,91,255,0,220,138,254,230,34,148,34,157,115,147,164, +253,53,5,21,155,0,0,1,0,135,255,236,4,208,5,198,0,33,0,0,1,33,7,30,1,51,50,54, +53,51,23,22,0,35,34,0,25,1,16,0,51,50,0,15,1,35,52,38,35,34,2,29,1,33,3,126, +253,214,3,4,194,158,164,180,189,2,4,254,216,243,247,254,201,1,55,247,247,1,36, +4,2,189,180,164,165,196,2,50,2,57,5,185,245,177,156,6,205,254,236,1,94,1,13,1, +3,1,13,1,95,254,249,217,6,153,178,254,246,197,137,0,0,0,0,2,0,69,0,0,8,73,5, +176,0,22,0,31,0,0,1,17,33,50,4,21,20,4,35,33,17,33,3,16,2,43,1,53,51,50,18,27, +1,1,17,33,50,54,53,52,38,35,4,247,1,103,232,1,3,254,253,232,253,212,254,27,1, +215,251,53,41,149,132,1,1,3,110,1,103,147,147,147,147,5,176,253,201,247,198, +198,246,5,21,253,237,254,111,254,143,154,1,30,1,74,2,174,253,47,253,187,169, +123,121,168,0,0,0,2,0,168,0,0,8,73,5,176,0,18,0,27,0,0,1,33,17,51,17,33,50,4, +21,20,4,35,33,17,33,17,35,17,51,1,17,33,50,54,53,52,38,35,1,109,2,197,197,1, +103,233,1,2,254,253,232,253,212,253,59,197,197,3,138,1,103,148,146,146,148,3, +59,2,117,253,152,228,188,189,235,2,161,253,95,5,176,252,253,253,248,148,113, +112,147,0,0,1,0,73,0,0,5,120,5,176,0,19,0,0,1,33,17,51,50,22,21,17,35,17,52, +38,43,1,17,35,17,33,53,33,4,200,254,32,167,238,251,197,140,152,167,197,254,38, +4,127,5,21,254,91,220,238,254,90,1,166,166,137,253,43,5,21,155,0,0,1,0,169, +254,218,4,247,5,176,0,11,0,0,19,51,17,33,17,51,17,33,17,35,17,33,169,197,2, +196,197,254,65,197,254,54,5,176,250,235,5,21,250,80,254,218,1,38,0,2,0,163,0, +0,4,187,5,176,0,12,0,21,0,0,1,33,17,33,50,4,21,20,4,35,33,17,33,1,17,33,50,54, +53,52,38,35,4,32,253,72,1,103,233,1,3,254,252,232,253,212,3,125,253,72,1,103, +147,148,147,148,5,21,254,91,239,197,198,246,5,176,253,37,253,197,169,123,119, +160,0,2,0,54,255,69,5,238,5,176,0,14,0,21,0,0,37,51,17,35,53,33,21,35,17,51, +50,18,27,1,33,1,6,2,7,33,17,33,5,39,199,197,251,210,197,104,141,158,44,73,2, +233,253,149,31,102,83,2,126,254,142,154,254,171,187,187,1,85,1,104,1,97,2,77, +253,179,251,254,156,106,4,123,0,0,0,1,0,26,0,0,6,124,5,176,0,21,0,0,1,35,17, +35,17,35,1,35,9,1,51,1,51,17,51,17,51,1,51,9,1,35,3,231,54,196,63,254,97,245, +1,239,254,57,230,1,132,65,196,57,1,132,230,254,57,1,239,245,2,156,253,100,2, +156,253,100,3,2,2,174,253,135,2,121,253,135,2,121,253,83,252,253,0,0,0,1,0, +120,255,235,4,223,5,197,0,42,0,0,1,20,6,7,30,1,21,20,4,33,34,36,63,1,51,20,22, +51,50,54,53,52,38,43,1,53,51,50,54,53,52,38,35,34,6,21,35,39,38,36,51,32,4,4, +201,136,120,135,143,254,193,254,254,226,254,188,5,2,188,198,157,178,202,184, +180,183,183,174,168,181,177,141,193,188,1,6,1,49,224,1,1,1,42,4,38,101,167,47, +42,174,125,201,226,214,205,6,114,157,149,120,133,129,156,132,114,112,144,142, +105,6,176,220,216,0,0,1,0,173,0,0,4,250,5,176,0,11,0,0,1,51,17,35,17,39,1,35, +17,51,17,23,4,53,197,197,6,253,67,197,197,6,5,176,250,80,4,86,2,251,168,5,176, +251,171,2,0,0,0,1,0,69,0,0,4,247,5,176,0,15,0,0,1,17,35,17,33,3,16,2,43,1,53, +51,50,18,27,1,4,247,197,254,27,1,215,251,53,41,149,132,1,1,5,176,250,80,5,21, +253,237,254,111,254,143,154,1,30,1,74,2,174,0,0,1,0,66,255,235,4,200,5,176,0, +21,0,0,1,23,51,1,51,1,14,1,35,34,38,39,55,30,1,51,50,54,63,1,1,51,2,56,74,6,1, +92,228,253,239,56,160,154,65,113,33,25,33,96,36,82,98,30,39,254,25,221,3,7, +191,3,104,251,63,124,136,22,15,144,10,17,85,67,83,4,64,0,0,0,0,1,0,161,254, +213,5,174,5,176,0,11,0,0,19,51,17,33,17,51,17,51,17,35,17,33,161,197,2,197, +197,190,197,251,184,5,176,250,235,5,21,250,240,254,53,1,43,0,0,1,0,147,0,0,4, +204,5,176,0,15,0,0,1,17,35,17,33,34,38,53,17,51,17,20,22,51,33,17,4,204,197, +254,117,241,248,198,138,153,1,139,5,176,250,80,2,74,211,237,1,166,254,90,165, +127,2,202,0,0,0,1,0,164,0,0,7,143,5,176,0,11,0,0,1,17,33,17,51,17,33,17,51,17, +33,17,1,105,2,80,196,2,77,197,249,21,5,176,250,234,5,22,250,234,5,22,250,80,5, +176,0,0,0,1,0,164,254,210,8,60,5,176,0,15,0,0,1,35,17,33,17,51,17,33,17,51,17, +33,17,51,17,51,8,60,197,249,45,197,2,80,196,2,77,197,173,254,210,1,46,5,176, +250,234,5,22,250,234,5,22,250,237,0,0,2,0,1,0,0,5,94,5,176,0,12,0,21,0,0,19, +33,17,33,50,4,21,20,4,35,33,17,33,1,17,33,50,54,53,52,38,35,1,2,10,1,103,233, +1,3,254,252,232,253,212,254,187,2,10,1,103,147,148,147,148,5,176,253,192,239, +197,198,246,5,22,253,191,253,197,169,123,119,160,0,0,3,0,163,0,0,6,50,5,176,0, +10,0,19,0,23,0,0,1,33,50,4,21,20,4,35,33,17,51,25,1,33,50,54,53,52,38,35,1,35, +17,51,1,104,1,103,233,1,3,254,252,232,253,212,197,1,103,147,148,147,148,3,99, +198,198,3,112,239,197,198,246,5,176,253,37,253,197,169,123,119,160,253,43,5, +176,0,0,0,0,2,0,163,0,0,4,187,5,176,0,10,0,19,0,0,1,33,50,4,21,20,4,35,33,17, +51,25,1,33,50,54,53,52,38,35,1,104,1,103,233,1,3,254,252,232,253,212,197,1, +103,147,148,147,148,3,112,239,197,198,246,5,176,253,37,253,197,169,123,119, +160,0,0,1,0,181,255,236,4,255,5,198,0,33,0,0,19,39,38,0,51,50,0,25,1,16,0,35, +34,0,63,1,51,20,22,51,50,18,61,1,33,53,33,53,52,2,35,34,6,21,188,2,5,1,41,242, +247,1,56,254,200,247,247,254,220,5,2,189,178,165,164,197,253,194,2,62,197,164, +165,178,3,222,6,203,1,23,254,161,254,243,254,253,254,242,254,163,1,5,218,6, +154,177,1,9,198,81,155,25,198,1,11,178,155,0,0,2,0,190,255,235,6,226,5,197,0, +20,0,34,0,0,1,16,0,33,34,0,39,35,17,35,17,51,17,51,53,16,0,51,32,0,17,39,52,2, +35,34,2,21,17,20,18,51,50,54,53,6,226,254,181,254,248,244,254,197,14,206,198, +198,205,1,63,255,1,8,1,75,197,216,182,172,205,205,172,183,215,2,86,254,245, +254,160,1,67,250,253,216,5,176,253,18,151,1,10,1,98,254,159,254,245,2,200,1,0, +255,0,200,254,251,202,255,0,255,203,0,0,2,0,44,0,0,4,54,5,176,0,13,0,22,0,0, +51,35,1,46,1,53,52,36,51,33,17,35,17,33,1,33,34,6,21,20,22,51,33,253,209,1,86, +142,147,1,18,241,1,210,197,254,189,1,67,254,243,156,162,163,153,1,15,2,149,51, +190,136,199,219,250,80,2,97,2,180,139,122,123,152,0,2,0,97,255,235,4,42,6,17, +0,32,0,46,0,0,1,50,0,29,1,20,0,35,34,0,61,1,60,1,55,53,16,18,55,62,1,53,51,23, +22,6,7,14,1,7,23,62,1,23,34,6,29,1,20,22,51,50,54,61,1,52,38,2,68,225,1,5,254, +252,224,224,254,251,1,254,233,119,99,151,2,4,162,196,128,186,14,4,53,163,86, +141,144,144,143,141,146,147,4,78,254,202,241,22,242,254,204,1,53,241,22,8,11, +7,143,1,60,1,102,30,15,48,66,6,156,107,26,18,168,128,4,70,92,155,226,170,22, +172,224,224,172,22,170,226,0,3,0,144,0,0,4,35,4,58,0,14,0,23,0,32,0,0,51,17, +33,50,22,21,20,6,7,30,1,21,20,6,35,1,17,33,50,54,53,52,38,35,37,51,50,54,53, +52,38,43,1,144,1,171,214,236,92,84,101,113,221,198,254,213,1,43,109,112,112, +109,254,213,231,125,127,128,125,230,4,58,149,149,76,119,31,25,137,88,152,156, +1,218,254,190,83,78,77,84,151,74,75,77,78,0,0,1,0,143,0,0,2,190,4,58,0,5,0,0, +1,33,17,35,17,33,2,190,254,150,197,2,47,3,158,252,98,4,58,0,0,0,0,2,0,69,255, +69,4,203,4,58,0,14,0,21,0,0,55,50,54,27,1,33,17,51,17,35,53,33,21,35,17,1,14, +1,7,33,17,33,174,99,81,25,37,2,156,143,197,253,4,197,1,251,17,54,48,1,174,254, +222,154,247,1,18,1,151,252,96,254,171,187,187,1,85,2,9,184,255,82,2,241,0,1,0, +26,0,0,5,166,4,58,0,21,0,0,1,35,17,35,17,35,1,35,9,1,51,1,51,17,51,17,51,1,51, +9,1,35,3,124,58,197,58,254,207,248,1,148,254,142,238,1,30,53,197,54,1,31,237, +254,142,1,148,248,1,213,254,43,1,213,254,43,2,60,1,254,254,66,1,190,254,66,1, +190,254,2,253,196,0,0,0,1,0,100,255,237,3,236,4,76,0,42,0,0,1,50,54,53,52,38, +35,34,6,21,35,39,38,54,51,50,22,21,20,6,7,30,1,21,20,6,35,34,36,63,1,51,20,22, +51,50,54,53,52,38,43,1,53,2,51,115,109,121,115,102,138,186,2,6,250,184,200, +233,97,86,98,105,252,201,185,254,246,6,2,186,144,113,117,138,122,121,208,2, +120,80,74,67,95,98,70,6,139,175,163,151,73,122,35,32,128,91,151,173,171,162,6, +76,112,100,73,86,81,160,0,0,0,1,0,143,0,0,3,252,4,58,0,11,0,0,1,51,17,35,17, +39,1,35,17,51,17,23,3,55,197,197,6,254,34,196,196,6,4,58,251,198,3,0,2,252, +254,4,58,253,0,2,0,0,0,1,0,153,0,0,4,64,4,58,0,14,0,0,1,35,17,35,17,51,17,51, +1,51,23,9,1,7,35,1,195,101,197,197,84,1,131,231,2,254,63,1,227,2,242,1,203, +254,53,4,58,254,55,1,201,5,253,254,253,210,5,0,0,0,0,1,0,65,0,0,3,252,4,58,0, +15,0,0,1,17,35,17,33,17,16,2,43,1,63,1,50,54,53,17,3,252,197,254,196,178,207, +57,4,41,108,91,4,58,251,198,3,158,254,206,254,194,254,210,168,1,209,242,1,206, +0,1,0,153,0,0,5,85,4,58,0,15,0,0,1,51,1,51,17,35,17,39,1,35,1,7,17,35,17,51,2, +247,6,1,98,246,197,6,254,180,136,254,174,6,197,254,1,2,3,56,251,198,2,239,2, +253,15,3,2,2,253,0,4,58,0,1,0,143,0,0,3,251,4,58,0,11,0,0,33,35,17,33,17,35, +17,51,17,33,17,51,3,251,197,254,30,197,197,1,226,197,1,204,254,52,4,58,254,44, +1,212,0,0,0,1,0,143,0,0,3,252,4,58,0,7,0,0,33,35,17,33,17,35,17,33,3,252,197, +254,29,197,3,109,3,158,252,98,4,58,0,1,0,71,0,0,3,209,4,58,0,7,0,0,1,33,17,35, +17,33,53,33,3,209,254,155,197,254,160,3,138,3,161,252,95,3,161,153,0,0,0,3,0, +98,254,96,6,191,6,24,0,31,0,45,0,59,0,0,19,16,18,51,50,22,23,17,51,17,62,1,51, +50,18,17,21,20,2,35,34,38,39,17,35,17,14,1,35,34,2,53,37,52,38,35,34,6,7,17, +30,1,51,50,54,53,33,20,22,51,50,54,55,17,46,1,35,34,6,21,98,223,201,88,142,53, +197,55,151,96,200,223,224,197,97,152,55,197,54,141,90,198,224,5,152,145,141, +85,120,37,37,120,87,140,144,251,45,135,140,81,115,39,39,115,79,141,136,2,9,1, +5,1,64,55,53,2,54,253,186,61,63,254,193,254,250,21,234,254,225,60,58,253,255, +1,247,54,54,1,31,234,21,185,241,79,68,253,243,67,75,204,163,164,203,72,65,2, +34,61,70,239,187,0,0,1,0,143,255,69,4,128,4,58,0,11,0,0,19,51,17,33,17,51,17, +51,17,35,53,33,143,197,1,227,197,132,197,252,212,4,58,252,96,3,160,252,96,254, +171,187,0,0,0,1,0,115,0,0,3,220,4,58,0,15,0,0,33,35,17,35,34,38,53,17,51,17, +20,22,59,1,17,51,3,220,197,208,236,232,197,124,147,208,197,1,165,174,222,1,9, +254,247,145,96,1,250,0,0,0,0,1,0,143,0,0,5,216,4,58,0,11,0,0,1,17,33,17,51,17, +33,17,51,17,33,17,1,84,1,125,197,1,125,197,250,183,4,58,252,96,3,160,252,96,3, +160,251,198,4,58,0,0,0,1,0,143,255,84,6,136,4,58,0,15,0,0,1,17,33,17,51,17,33, +17,51,17,51,17,35,53,33,17,1,84,1,125,197,1,125,197,176,195,250,202,4,58,252, +96,3,160,252,96,3,160,252,88,254,194,172,4,58,0,0,2,255,244,0,0,4,82,4,58,0, +14,0,23,0,0,1,33,50,22,21,20,6,35,33,17,35,53,51,53,51,25,1,33,50,54,53,52,38, +35,1,176,1,13,192,213,215,190,254,46,247,247,197,1,13,106,101,102,105,2,158, +184,147,148,191,3,47,154,113,253,202,254,150,102,76,74,110,0,0,0,0,3,0,153,0, +0,5,172,4,58,0,10,0,14,0,23,0,0,1,33,50,22,21,20,6,35,33,17,51,1,35,17,51,1, +17,33,50,54,53,52,38,35,1,94,1,13,192,213,215,190,254,46,197,4,78,197,197,251, +178,1,13,106,101,102,105,2,158,184,147,148,191,4,58,251,198,4,58,253,202,254, +150,102,76,74,110,0,0,0,0,2,0,153,0,0,4,0,4,58,0,10,0,19,0,0,1,33,50,22,21,20, +6,35,33,17,51,25,1,33,50,54,53,52,38,35,1,94,1,13,192,213,215,190,254,46,197, +1,13,106,101,102,105,2,158,184,147,148,191,4,58,253,202,254,150,102,76,74,110, +0,0,0,0,1,0,99,255,235,3,227,4,78,0,33,0,0,1,34,6,21,35,39,38,54,51,50,18,29, +1,20,0,35,34,38,63,1,51,20,22,51,50,54,55,39,33,53,33,55,46,1,2,8,92,143,178, +2,6,255,166,220,255,255,0,219,183,238,5,2,179,135,100,126,138,8,3,254,62,1, +192,2,10,137,3,179,122,87,6,139,219,254,199,227,42,228,254,199,223,163,6,99, +139,196,140,5,154,5,131,183,0,0,0,2,0,153,255,235,6,36,4,78,0,21,0,35,0,0,1, +52,0,51,50,0,29,1,20,0,35,34,38,39,33,17,35,17,51,17,51,53,51,20,22,51,50,54, +61,1,52,38,35,34,6,21,2,91,1,4,223,225,1,5,254,252,224,185,246,38,254,243,197, +197,253,197,145,143,141,146,147,142,141,145,2,39,240,1,55,254,202,241,22,242, +254,204,214,179,254,140,4,58,253,212,3,172,224,224,172,22,170,226,226,170,0,0, +0,2,0,117,0,0,3,242,4,58,0,13,0,22,0,0,1,17,35,17,33,3,35,19,46,1,53,52,54,51, +3,20,22,51,33,17,33,34,6,3,242,197,254,252,224,212,238,114,123,222,193,217, +109,107,1,25,254,232,107,110,4,58,251,198,1,164,254,92,1,189,36,162,108,146, +185,254,179,72,102,1,98,107,0,0,0,1,255,242,254,75,4,3,6,24,0,43,0,0,1,35,21, +62,1,51,50,22,29,1,51,17,20,6,35,34,38,39,55,30,1,51,50,54,61,1,35,17,52,38, +35,34,6,7,17,35,17,35,53,51,17,51,17,51,2,64,236,56,163,99,173,193,3,172,154, +33,52,28,15,13,68,17,60,68,2,115,114,88,130,40,197,157,157,197,236,4,104,191, +78,87,208,216,222,253,223,167,181,8,9,151,5,8,103,90,89,2,168,134,128,69,62, +252,213,4,104,124,1,52,254,204,0,1,0,97,255,235,3,217,4,78,0,34,0,0,1,33,7,30, +1,51,50,54,53,51,23,22,6,35,34,2,61,1,52,18,51,50,22,15,1,35,52,38,35,34,6,29, +2,33,2,215,254,108,2,21,125,106,91,136,178,3,4,248,164,228,248,249,227,181, +231,4,2,179,129,98,145,133,1,176,1,100,6,97,120,121,88,6,140,217,1,54,231,42, +229,1,55,224,163,6,99,139,225,160,42,10,0,2,0,65,0,0,6,158,4,58,0,22,0,31,0,0, +1,17,33,50,22,21,20,6,35,33,17,33,17,16,2,43,1,63,1,50,54,53,17,1,17,33,50,54, +53,52,38,35,3,252,1,13,191,214,215,190,254,46,254,196,178,207,57,4,41,107,92, +2,199,1,13,105,102,101,106,4,58,254,101,185,147,148,191,3,158,254,206,254,194, +254,210,158,1,217,244,1,206,253,203,254,147,112,77,73,103,0,0,0,0,2,0,143,0,0, +6,157,4,58,0,18,0,27,0,0,1,33,17,51,17,33,50,22,21,20,6,35,33,17,33,17,35,17, +51,1,17,33,50,54,53,52,38,35,1,84,1,226,197,1,13,192,213,215,190,254,46,254, +30,197,197,2,167,1,13,105,102,101,106,2,162,1,152,254,100,184,147,148,191,2,9, +253,247,4,58,253,203,254,147,112,77,73,103,0,0,0,0,1,255,242,0,0,4,0,6,24,0, +27,0,0,1,35,21,62,1,51,50,22,21,17,35,17,52,38,35,34,6,7,17,35,17,35,53,51,17, +51,17,51,2,64,236,56,163,99,173,193,197,115,114,88,130,40,197,157,157,197,236, +4,154,241,78,87,208,216,253,90,2,168,134,128,69,62,252,213,4,154,124,1,2,254, +254,0,0,0,0,1,0,143,255,29,3,252,4,58,0,11,0,0,1,17,33,17,51,17,33,21,35,53, +33,17,1,84,1,227,197,254,175,197,254,169,4,58,252,96,3,160,251,198,227,227,4, +58,0,1,0,108,255,235,6,98,5,176,0,42,0,0,1,6,2,7,20,18,55,51,22,54,53,17,51, +17,20,22,55,51,22,18,53,38,2,39,51,22,18,21,16,2,35,34,38,39,14,1,35,34,2,17, +52,18,55,1,213,65,95,4,112,116,6,101,132,198,131,101,6,115,114,5,95,64,206,61, +94,205,214,125,176,43,44,176,124,215,204,93,62,5,176,131,254,51,162,234,254, +179,5,6,255,221,2,22,253,234,221,255,6,5,1,76,235,162,1,205,131,105,254,54, +191,254,213,254,88,173,155,155,173,1,168,1,43,192,1,201,105,0,0,1,0,127,255, +235,5,210,4,58,0,40,0,0,1,6,2,7,20,22,51,50,54,53,17,51,17,20,22,51,50,54,53, +38,2,39,51,22,18,21,20,2,35,34,38,39,14,1,35,34,2,53,52,18,55,1,212,65,76,3, +83,89,98,116,198,115,99,87,84,4,76,65,207,60,75,174,184,119,165,40,41,164,118, +185,173,74,61,4,58,136,254,254,126,190,239,162,175,1,44,254,212,175,162,238, +191,127,1,3,134,106,254,252,154,254,254,183,121,116,117,120,1,73,254,154,1,4, +106,0,0,3,0,113,255,235,5,2,5,197,0,13,0,30,0,47,0,0,1,16,0,33,34,0,25,1,16,0, +51,32,0,17,5,50,54,55,53,52,2,35,34,2,29,1,62,1,51,50,4,5,14,1,35,34,38,35,34, +6,7,21,20,18,51,50,54,53,5,2,254,181,254,248,255,254,193,1,63,255,1,8,1,75, +254,138,55,95,27,216,182,172,205,36,87,49,87,1,2,1,2,37,90,50,109,237,80,55, +92,25,205,172,183,215,2,86,254,245,254,160,1,96,1,11,1,3,1,10,1,98,254,159, +254,245,140,41,33,68,200,1,0,255,0,200,68,28,32,134,99,27,29,133,47,35,15,202, +255,0,255,203,0,0,0,3,0,97,255,235,4,42,4,78,0,13,0,29,0,45,0,0,19,52,0,51,50, +0,29,1,20,0,35,34,0,53,37,50,54,55,46,1,35,34,6,7,23,62,1,51,50,22,5,34,6,7, +30,1,51,50,54,55,39,14,1,35,34,38,97,1,4,223,225,1,5,254,252,224,224,254,251, +2,128,43,74,9,19,143,121,134,142,2,4,20,70,41,62,182,254,249,38,67,14,16,143, +124,131,142,4,3,21,75,43,76,167,2,39,240,1,55,254,202,241,22,242,254,204,1,53, +241,27,50,38,135,168,201,149,5,23,31,90,44,40,30,139,170,193,148,4,26,31,91,0, +1,0,212,4,164,3,163,5,252,0,7,0,0,1,21,39,55,33,39,23,21,1,131,175,1,2,32,1, +175,5,34,126,1,235,108,1,217,0,0,0,1,0,251,5,23,3,243,6,21,0,17,0,0,1,50,36, +51,50,22,29,1,35,53,52,38,35,34,4,43,1,53,1,39,113,1,36,73,113,125,134,59,49, +43,254,213,130,46,5,153,124,110,108,36,18,52,54,124,130,0,0,1,1,231,5,11,2, +241,6,116,0,5,0,0,1,53,51,7,23,7,1,231,188,1,79,81,5,220,152,170,125,66,0,1,1, +231,5,11,2,241,6,116,0,5,0,0,1,39,55,39,51,21,2,56,81,79,1,188,5,11,66,125, +170,152,0,1,0,105,255,235,4,45,5,176,0,28,0,0,1,39,33,53,33,23,1,30,1,21,20,4, +35,34,36,63,1,51,20,22,51,50,54,53,52,38,43,1,53,3,13,2,253,137,3,101,1,254, +103,219,241,254,238,221,192,254,235,5,2,189,152,121,139,159,161,160,146,5,16, +5,155,120,254,21,13,227,199,200,227,214,205,6,114,157,149,120,153,143,154,0,0, +0,0,1,0,105,254,117,4,45,4,58,0,28,0,0,1,39,33,53,33,23,1,30,1,21,20,4,35,34, +36,63,1,51,20,22,51,50,54,53,52,38,43,1,53,2,248,3,253,159,3,101,1,254,116, +214,233,254,237,220,191,254,234,5,2,189,152,121,139,159,162,160,147,3,153,5, +156,120,254,19,16,226,196,198,228,215,203,6,112,157,149,118,154,142,154,0,0,0, +255,255,0,179,2,136,4,240,3,35,0,70,1,33,217,0,83,51,64,0,255,255,0,187,2,136, +5,243,3,35,0,70,1,33,175,0,102,102,64,0,0,1,0,145,3,149,1,87,5,176,0,5,0,0,19, +55,51,3,17,35,145,101,97,1,197,4,181,251,255,0,254,229,0,1,0,160,3,149,1,102, +5,176,0,5,0,0,1,7,35,55,17,51,1,102,101,97,1,197,4,144,251,248,1,35,0,1,0,168, +255,1,1,110,0,249,0,5,0,0,37,3,35,19,53,51,1,110,101,97,1,197,26,254,231,1,7, +241,255,255,0,85,3,149,1,27,5,176,0,71,1,8,1,187,0,0,192,1,64,0,0,0,255,255,0, +145,3,149,2,170,5,176,0,38,1,7,0,0,0,7,1,7,1,83,0,0,255,255,0,160,3,149,2,193, +5,176,0,38,1,8,0,0,0,7,1,8,1,91,0,0,0,2,0,176,255,17,2,170,1,24,0,5,0,11,0,0, +37,7,35,55,17,51,1,7,35,55,17,51,1,118,101,97,1,197,1,52,100,98,1,197,10,249, +240,1,23,254,242,249,247,1,16,0,0,1,0,70,0,0,4,36,5,176,0,11,0,0,1,33,17,35, +17,33,53,33,17,51,17,33,4,36,254,113,197,254,118,1,138,197,1,143,3,158,252,98, +3,158,156,1,118,254,138,0,0,0,0,1,0,87,254,96,4,52,5,176,0,19,0,0,41,1,17,35, +17,33,53,33,17,33,53,33,17,51,17,33,21,33,17,33,4,52,254,113,197,254,119,1, +137,254,119,1,137,197,1,143,254,113,1,143,254,96,1,160,154,3,4,156,1,118,254, +138,156,252,252,0,0,0,0,1,0,137,2,23,2,39,3,225,0,13,0,0,19,52,54,51,50,22,29, +1,20,6,35,34,38,53,137,112,94,95,113,112,95,95,112,3,25,88,112,112,88,60,89, +109,110,88,255,255,0,161,0,0,4,197,0,202,0,38,0,14,0,0,0,39,0,14,1,187,0,0,0, +7,0,14,3,95,0,0,0,6,0,64,255,235,7,85,5,197,0,25,0,39,0,53,0,67,0,81,0,85,0,0, +1,52,54,51,50,22,23,62,1,51,50,22,29,1,20,6,35,34,38,39,14,1,35,34,38,53,1,52, +54,51,50,22,29,1,20,6,35,34,38,53,1,20,22,51,50,54,61,1,52,38,35,34,6,21,5,20, +22,51,50,54,61,1,52,38,35,34,6,21,1,20,22,51,50,54,61,1,52,38,35,34,6,21,19, +39,1,23,3,51,164,136,74,117,37,37,117,74,137,165,164,136,75,118,37,37,116,73, +138,164,253,13,164,136,138,164,164,136,137,165,3,133,81,75,74,80,82,74,74,80, +1,200,81,75,73,80,81,74,74,80,251,69,81,75,73,81,82,74,74,80,248,109,2,199, +109,1,101,126,174,63,54,54,63,173,127,78,128,172,61,55,55,61,172,128,3,129, +127,174,173,128,77,127,172,172,127,252,204,75,103,103,75,78,74,104,104,74,78, +75,103,103,75,78,74,104,104,74,2,230,74,103,102,75,77,74,105,105,74,251,214, +67,4,114,67,0,0,0,0,1,0,88,0,72,1,218,3,160,0,10,0,0,19,7,31,1,21,7,1,53,1,23, +21,245,61,61,229,5,254,131,1,125,5,2,21,34,36,204,184,3,1,97,150,1,97,3,184,0, +0,0,0,1,0,144,0,71,2,19,3,159,0,10,0,0,19,53,55,1,21,1,39,53,63,1,39,144,5,1, +126,254,130,5,230,61,61,2,228,185,2,254,159,150,254,159,2,185,208,34,36,0,0,0, +0,1,0,59,0,110,3,111,5,35,0,3,0,0,55,39,1,23,168,109,2,199,109,110,67,4,114, +67,0,2,0,71,2,48,3,83,5,197,0,10,0,15,0,0,1,51,21,35,21,35,53,33,39,1,51,1,33, +17,39,7,2,190,149,149,172,254,57,4,1,198,177,254,71,1,13,6,13,3,105,129,184, +184,96,2,125,253,164,1,121,1,26,0,0,1,0,70,0,0,4,87,5,197,0,40,0,0,1,14,1,7, +33,7,33,53,51,62,1,55,35,53,51,39,35,53,51,39,52,54,51,50,22,15,1,35,52,38,35, +34,6,21,23,33,21,33,23,33,21,1,179,2,30,27,2,223,1,252,48,10,45,47,4,170,165, +6,158,152,5,224,188,200,220,4,2,190,126,98,99,116,5,1,166,254,96,5,1,155,1, +185,83,150,54,154,154,12,173,102,155,143,155,146,204,233,209,172,6,118,114, +149,133,146,155,143,155,0,0,0,0,1,0,79,255,235,3,213,5,197,0,42,0,0,1,33,7,6, +22,51,50,54,55,23,14,1,35,34,0,53,35,53,51,53,35,53,51,53,52,0,51,50,22,23,7, +46,1,35,34,6,29,1,33,21,33,21,33,3,146,254,27,2,4,171,147,57,112,52,19,56,123, +61,231,254,227,146,146,146,146,1,27,231,59,117,66,19,54,113,56,146,171,1,236, +254,20,1,236,2,0,5,169,205,17,17,157,15,16,1,33,244,124,166,125,15,244,1,35, +16,15,159,16,19,206,172,17,125,166,0,0,2,0,103,3,151,4,96,5,176,0,15,0,23,0,0, +1,39,3,35,3,7,17,35,17,51,19,51,19,51,17,35,1,35,17,35,17,35,53,33,4,3,6,150, +51,156,6,93,116,161,6,162,110,93,253,228,145,94,145,1,128,4,238,2,254,167,1, +103,2,254,155,2,25,254,122,1,134,253,231,1,199,254,57,1,199,82,0,0,255,255,0, +107,255,245,6,82,5,178,0,39,1,101,0,12,2,134,0,39,1,21,1,6,0,0,0,7,1,108,3,75, +0,0,0,0,255,255,0,110,255,245,6,233,5,192,0,39,1,103,0,4,2,148,0,39,1,21,1, +191,0,0,0,7,1,108,3,226,0,0,0,0,255,255,0,111,255,245,7,25,5,175,0,39,1,105, +255,253,2,142,0,39,1,21,1,247,0,0,0,7,1,108,4,18,0,0,0,0,255,255,0,107,255, +245,6,114,5,175,0,39,1,107,0,12,2,142,0,39,1,21,1,54,0,0,0,7,1,108,3,107,0,0, +0,0,0,2,0,72,255,235,4,48,5,237,0,20,0,33,0,0,1,4,0,17,21,20,0,35,34,0,53,52, +18,51,50,22,23,55,46,1,39,19,50,54,61,1,46,1,35,34,6,21,20,22,1,231,1,7,1,66, +254,224,215,218,254,233,250,218,95,168,54,3,22,235,176,146,133,169,36,172,127, +136,135,164,5,237,63,254,108,254,217,220,245,254,201,1,24,207,233,1,23,59,52, +5,193,236,52,251,60,228,174,129,67,92,201,156,132,201,0,0,0,1,0,168,255,45,4, +244,5,176,0,7,0,0,5,35,17,33,17,35,17,33,4,244,197,253,62,197,4,76,211,5,232, +250,24,6,131,0,0,0,0,1,0,70,254,243,4,174,5,176,0,14,0,0,9,1,23,33,21,33,53,9, +1,53,33,21,33,7,1,3,101,253,210,2,3,117,251,152,2,98,253,158,4,25,252,216,2,2, +48,2,36,253,111,5,155,146,2,201,2,207,147,155,5,253,103,0,0,0,0,1,0,168,2,136, +3,235,3,35,0,3,0,0,1,33,53,33,3,235,252,189,3,67,2,136,155,0,0,1,0,63,0,0,4, +173,5,176,0,11,0,0,1,23,51,55,1,51,1,35,3,35,53,33,2,42,18,6,19,1,143,201,253, +219,149,248,188,1,72,1,84,83,83,4,92,250,80,2,116,156,0,3,0,104,255,235,7,187, +4,78,0,25,0,39,0,53,0,0,1,20,2,35,34,38,39,14,1,35,34,2,61,1,52,18,51,50,22, +23,62,1,51,50,18,21,5,20,22,51,50,18,55,53,38,2,35,34,6,21,33,52,38,35,34,2,7, +21,22,18,51,50,54,53,7,187,247,208,165,238,80,80,239,163,209,246,245,208,164, +240,81,79,240,165,206,247,249,114,132,126,137,213,27,28,213,138,125,131,5,201, +133,123,138,212,30,29,212,137,125,133,1,220,221,254,236,215,156,155,216,1,20, +221,128,220,1,22,216,155,154,217,254,234,220,128,151,192,1,23,108,42,106,1,23, +195,148,148,195,254,235,108,42,110,254,235,193,150,0,1,255,188,254,75,2,147,6, +45,0,27,0,0,19,50,54,53,17,52,54,51,50,22,23,7,46,1,35,34,6,21,17,20,6,35,34, +38,39,55,30,1,43,59,69,182,162,33,69,42,24,20,44,25,87,91,172,153,31,51,29,14, +14,65,254,230,103,90,5,28,173,189,11,10,145,5,6,109,98,250,228,167,181,9,9, +150,5,8,0,1,0,152,0,167,3,218,4,227,0,19,0,0,1,51,21,33,7,33,21,33,7,39,55,35, +53,33,55,33,53,33,19,23,3,25,193,254,228,140,1,168,253,253,133,87,100,199,1, +34,140,254,82,2,9,147,87,3,219,164,252,164,240,60,180,164,252,164,1,8,60,0, +255,255,0,158,0,6,3,230,4,75,0,103,0,28,0,87,0,188,64,0,57,154,0,7,1,33,255, +251,253,126,0,0,255,255,0,154,0,4,3,242,4,76,0,103,0,30,0,18,0,207,64,0,57, +154,0,7,1,33,255,251,253,124,0,0,255,255,0,169,254,176,1,131,255,121,0,7,0, +155,0,9,249,201,0,0,0,1,0,93,4,23,1,148,5,179,0,15,0,0,19,39,62,1,53,52,38,35, +55,50,22,21,20,6,15,1,112,1,76,65,88,71,7,146,158,87,64,1,4,23,154,4,31,38,39, +38,108,103,86,70,73,9,71,0,0,0,0,2,0,125,4,228,4,113,6,152,0,8,0,12,0,0,1,51, +5,7,35,39,7,47,1,1,51,3,35,1,149,156,1,31,2,195,157,165,202,2,3,33,211,204, +147,5,224,235,6,137,148,9,5,1,166,254,252,0,0,0,0,2,255,85,4,228,3,71,6,152,0, +8,0,12,0,0,1,15,1,39,7,35,39,37,51,5,35,3,51,3,71,2,201,165,158,194,2,1,31, +155,254,132,147,203,210,4,242,5,9,148,137,6,235,76,1,4,0,2,0,110,4,228,4,49,6, +209,0,8,0,24,0,0,1,35,1,23,51,55,23,51,55,47,1,62,1,53,52,38,35,55,50,22,21, +20,6,15,1,2,64,198,254,244,2,169,196,196,170,2,25,1,66,55,75,62,6,127,137,75, +57,1,5,235,254,255,6,186,186,6,132,133,4,26,32,34,32,94,87,75,61,64,7,61,0,0, +0,2,0,110,4,228,3,77,6,252,0,8,0,28,0,0,1,7,35,39,7,35,39,1,51,55,20,6,35,34, +38,35,34,6,21,39,52,54,51,50,22,51,50,54,53,3,77,2,170,196,196,169,2,1,33,157, +182,97,66,53,113,38,31,51,80,96,66,42,123,39,30,54,4,234,6,176,176,6,1,1,250, +69,107,71,59,34,19,69,111,69,56,35,0,2,0,129,4,223,2,224,6,139,0,15,0,20,0,0, +1,23,22,6,35,34,38,63,1,51,20,22,51,50,54,53,39,51,23,7,35,2,216,2,6,164,139, +140,164,7,2,151,69,75,73,70,93,155,2,159,106,5,176,6,89,114,114,89,6,51,63,63, +51,219,5,192,0,2,0,129,4,224,2,202,7,42,0,15,0,32,0,0,1,20,6,35,34,38,53,35,7, +6,22,51,50,54,47,1,37,39,62,1,39,53,54,38,35,55,50,22,21,20,6,15,1,2,49,68,71, +72,68,144,2,7,158,135,134,158,6,2,254,179,1,73,60,5,5,81,70,7,142,152,83,63,1, +5,176,51,63,64,50,6,89,113,113,89,6,56,126,3,23,26,6,28,27,83,78,66,53,55,7, +63,0,0,0,2,0,129,4,219,2,211,6,212,0,15,0,35,0,0,1,23,22,6,35,34,38,63,1,51, +20,22,51,50,54,53,19,20,6,35,34,38,35,34,6,21,39,52,54,51,50,22,51,50,54,53,2, +203,2,6,160,136,137,161,7,2,148,67,74,71,69,148,95,71,58,124,41,34,45,88,94, +73,45,135,43,32,48,5,176,6,91,116,116,91,6,52,65,65,52,1,12,75,107,76,52,37, +21,74,111,76,51,38,0,1,0,96,254,210,1,37,0,157,0,3,0,0,1,35,17,51,1,37,197, +197,254,210,1,203,0,0,0,1,0,161,254,75,2,87,0,178,0,15,0,0,37,17,20,22,51,50, +54,55,23,14,1,35,34,38,53,17,1,92,75,63,18,66,14,15,29,53,31,154,171,178,254, +245,87,95,7,5,160,9,9,181,167,1,11,0,0,0,0,1,255,190,254,75,1,114,0,154,0,15, +0,0,37,21,20,6,35,34,38,39,55,30,1,51,50,54,61,1,1,114,172,153,31,51,29,14,14, +64,19,60,68,154,243,167,181,9,9,160,5,7,94,88,243,0,0,1,255,160,255,206,2,202, +3,112,0,15,0,0,3,33,50,0,21,6,2,7,39,62,1,53,46,1,35,33,96,1,23,235,1,40,2, +195,190,51,128,112,1,182,150,254,233,3,112,255,0,220,138,254,230,34,148,34, +157,115,147,164,0,0,0,1,0,113,0,0,2,85,5,197,0,5,0,0,33,35,17,5,53,37,2,85, +197,254,225,1,228,4,250,3,162,44,0,1,0,83,0,0,3,231,5,197,0,26,0,0,41,1,53,1, +62,1,53,52,38,35,34,6,21,35,39,38,54,51,50,22,21,20,6,7,1,23,33,3,231,252,143, +1,175,125,92,122,112,120,133,189,2,5,245,204,198,233,159,159,254,224,2,2,128, +154,1,245,138,169,82,121,157,159,117,6,178,247,227,208,125,233,179,254,166,5, +0,1,0,105,255,235,4,45,5,197,0,42,0,0,1,50,54,53,52,38,35,34,6,21,35,39,38,36, +51,50,22,21,20,6,7,30,1,21,20,4,35,34,36,63,1,51,20,22,51,50,54,53,52,38,43,1, +53,2,78,132,128,140,136,107,146,189,2,5,1,4,189,219,253,115,100,115,123,254, +238,221,192,254,235,5,2,189,152,121,139,159,143,139,182,3,51,132,115,112,144, +142,105,6,176,220,215,200,101,166,48,42,174,125,200,227,214,205,6,114,157,149, +120,133,129,155,0,2,0,73,0,0,4,111,5,176,0,10,0,15,0,0,1,51,21,35,17,35,17,33, +53,1,51,1,33,17,39,7,3,156,211,211,197,253,114,2,131,208,253,141,1,174,6,18,1, +212,154,254,198,1,58,111,4,7,252,36,2,208,1,45,0,1,0,132,255,235,4,61,5,176,0, +31,0,0,27,1,33,21,33,3,62,1,55,54,22,21,20,2,35,34,36,63,2,20,22,51,50,54,53, +52,38,35,34,6,7,176,84,3,2,253,164,47,49,125,80,213,239,246,234,202,254,241,5, +2,180,162,124,134,149,150,133,125,113,28,2,125,3,51,175,254,84,34,45,2,2,249, +223,219,254,246,202,197,6,18,120,149,176,153,138,163,70,72,0,0,0,2,0,142,255, +235,4,86,5,197,0,26,0,39,0,0,1,50,22,23,7,46,1,35,34,6,29,1,62,1,51,50,22,21, +20,0,35,34,0,53,17,52,0,19,34,6,7,21,20,22,51,50,54,53,52,38,2,165,86,168,54, +42,65,118,83,148,190,58,164,97,211,241,255,0,218,211,254,229,1,56,165,103,141, +36,171,126,134,143,143,5,197,33,26,151,26,29,224,170,148,67,77,244,220,223, +254,254,1,20,239,1,176,239,1,56,253,48,68,62,133,168,193,178,149,151,146,0,0, +0,0,1,0,37,0,0,3,213,5,176,0,12,0,0,1,10,1,17,21,35,53,16,0,55,33,53,33,3,213, +222,196,197,1,13,153,253,17,3,176,5,21,254,244,254,77,254,145,231,231,1,98,2, +41,163,155,0,0,3,0,130,255,235,4,55,5,197,0,23,0,35,0,47,0,0,1,20,6,7,30,1,21, +20,4,35,34,36,53,52,54,55,46,1,53,52,54,51,50,22,3,52,38,35,34,6,21,20,22,51, +50,54,3,52,38,35,34,6,21,20,22,51,50,54,4,14,129,109,126,153,254,250,201,214, +254,240,156,133,115,133,247,196,185,239,156,155,113,124,163,163,126,114,152, +41,131,96,109,137,140,108,96,129,4,52,114,168,40,41,181,124,202,227,226,203, +124,181,41,39,169,114,192,209,209,252,160,119,154,154,119,122,149,149,3,31, +105,136,131,110,111,138,138,0,0,2,0,92,255,235,4,32,5,197,0,26,0,39,0,0,37,50, +54,61,1,14,1,35,34,38,53,52,0,51,50,0,21,17,20,0,35,34,38,39,55,30,1,19,50,54, +55,53,52,38,35,34,6,21,20,22,2,28,142,176,53,163,95,223,232,1,9,203,220,1,20, +254,224,228,82,172,74,31,69,138,97,114,162,35,159,133,125,152,125,133,186,169, +169,73,76,231,239,223,1,20,254,236,248,254,49,242,254,243,32,31,150,32,27,2, +18,92,69,138,170,190,187,157,160,155,0,2,0,123,255,235,4,47,5,197,0,13,0,27,0, +0,1,20,2,35,34,2,53,17,52,18,51,50,0,21,39,52,38,35,34,6,21,17,20,22,51,50,54, +53,4,47,254,219,220,255,254,219,219,1,0,198,142,135,135,141,143,135,135,140,2, +2,248,254,225,1,31,248,1,172,246,1,33,254,223,246,2,176,202,203,175,254,82, +177,204,203,178,0,0,2,0,39,0,0,4,138,4,141,0,7,0,11,0,0,1,33,3,35,1,51,1,35,1, +33,3,35,3,87,254,3,103,204,1,213,186,1,212,203,253,214,1,135,193,6,1,12,254, +244,4,141,251,115,1,166,1,242,0,0,0,2,0,109,4,165,2,237,6,168,0,15,0,20,0,0,1, +23,22,6,35,34,38,63,1,51,20,22,51,50,54,53,39,35,39,55,51,2,230,2,5,174,146, +147,173,6,2,149,79,84,83,79,76,157,208,2,220,5,176,6,115,146,146,115,6,65,82, +82,65,43,199,6,0,3,0,153,0,0,4,13,4,141,0,14,0,24,0,33,0,0,51,17,33,50,22,21, +20,6,7,30,1,21,20,6,35,1,17,33,50,54,53,52,38,39,35,37,51,50,54,53,52,38,43,1, +153,1,141,213,237,94,87,102,116,221,197,254,243,1,13,109,111,106,103,11,254, +243,200,124,129,123,130,200,4,141,159,159,84,130,33,25,150,96,162,167,2,9,254, +143,94,88,84,100,3,141,89,85,86,70,0,0,0,1,0,112,255,239,4,38,4,157,0,29,0,0, +1,23,22,4,35,34,0,61,1,52,0,51,50,22,15,1,35,52,38,35,34,6,29,1,20,22,51,50, +54,53,4,30,2,5,254,253,206,207,254,235,1,21,207,212,254,5,2,189,142,128,123, +164,164,123,127,142,1,125,6,189,203,1,12,210,243,209,1,12,203,187,6,121,122, +186,137,244,139,187,122,124,0,0,0,2,0,153,0,0,4,49,4,141,0,9,0,19,0,0,51,17, +33,50,0,29,1,20,0,35,3,17,51,50,54,61,1,52,38,35,153,1,165,211,1,32,254,224, +211,224,224,126,176,176,126,4,141,254,243,209,210,210,254,245,3,244,252,164, +186,139,211,137,187,0,0,0,0,1,0,153,0,0,3,200,4,141,0,11,0,0,1,33,17,33,21,33, +17,33,21,33,17,33,3,113,253,237,2,106,252,209,3,47,253,150,2,19,2,18,254,134, +152,4,141,153,254,184,0,0,0,1,0,153,0,0,3,202,4,141,0,9,0,0,1,33,17,35,17,33, +21,33,17,33,3,115,253,235,197,3,49,253,148,2,21,1,245,254,11,4,141,153,254, +155,0,1,0,112,255,239,4,75,4,157,0,32,0,0,37,14,1,35,34,0,61,1,52,0,51,50,22, +15,1,35,52,38,35,34,6,29,1,20,22,51,50,54,55,53,33,53,33,4,75,45,242,181,231, +254,224,1,34,225,222,243,4,2,188,145,126,140,178,176,146,105,137,31,254,254,1, +197,157,65,109,1,9,213,243,211,1,10,201,157,6,101,110,184,139,244,142,184,42, +27,250,154,0,1,0,153,0,0,4,90,4,141,0,11,0,0,33,35,17,33,17,35,17,51,17,33,17, +51,4,90,198,253,202,197,197,2,54,198,1,235,254,21,4,141,253,247,2,9,0,0,0,1,0, +153,0,0,1,93,4,141,0,3,0,0,33,35,17,51,1,93,196,196,4,141,0,1,0,64,255,239,3, +119,4,141,0,16,0,0,1,51,17,20,6,35,34,38,63,1,51,20,22,51,50,54,53,2,179,196, +227,175,195,226,6,2,188,118,107,88,118,4,141,252,213,170,201,178,170,6,101, +101,121,98,0,0,0,1,0,153,0,0,4,65,4,141,0,14,0,0,1,35,17,35,17,51,17,51,1,51, +23,9,1,7,35,1,193,99,197,197,84,1,132,231,3,254,57,1,232,3,241,1,244,254,12,4, +141,254,4,1,252,5,253,214,253,167,5,0,0,0,0,1,0,153,0,0,3,107,4,141,0,5,0,0, +37,33,21,33,17,51,1,94,2,13,253,46,197,152,152,4,141,0,0,1,0,153,0,0,5,85,4, +141,0,15,0,0,1,51,1,51,17,35,17,39,1,35,1,7,17,35,17,51,2,247,6,1,98,246,197, +6,254,180,136,254,174,6,197,254,1,3,3,138,251,115,3,41,2,252,213,3,61,2,252, +197,4,141,0,1,0,153,0,0,4,118,4,141,0,11,0,0,33,35,1,7,17,35,17,51,1,55,17,51, +4,118,196,253,178,6,197,197,2,78,6,196,3,91,2,252,167,4,141,252,165,2,3,89,0, +0,0,2,0,112,255,239,4,91,4,157,0,13,0,27,0,0,1,20,0,35,34,0,61,1,52,0,51,50,0, +21,39,52,38,35,34,6,29,1,20,22,51,50,54,53,4,91,254,235,224,223,254,233,1,21, +223,224,1,23,197,164,142,141,162,163,142,142,162,1,205,214,254,248,1,9,213, +243,212,1,9,254,247,212,1,151,172,172,151,244,154,172,172,154,0,2,0,153,0,0,4, +31,4,141,0,10,0,19,0,0,1,17,35,17,33,50,22,21,20,6,35,37,33,50,54,53,52,38,35, +33,1,94,197,1,210,203,233,233,203,254,243,1,13,117,121,121,117,254,243,1,164, +254,92,4,141,208,165,166,206,154,126,90,92,130,0,0,0,2,0,112,255,138,4,154,4, +157,0,19,0,33,0,0,1,20,6,7,23,7,39,14,1,35,34,0,61,1,52,0,51,50,0,21,39,52,38, +35,34,6,29,1,20,22,51,50,54,53,4,91,52,48,163,135,167,56,133,73,223,254,233,1, +21,223,224,1,23,197,164,142,141,162,163,142,142,162,1,205,89,155,60,159,116, +161,30,30,1,9,213,243,212,1,9,254,247,212,1,151,172,172,151,244,154,172,172, +154,0,2,0,153,0,0,4,44,4,141,0,26,0,35,0,0,1,17,35,17,33,50,22,21,20,6,7,30,1, +29,1,20,22,23,21,35,46,1,61,1,52,38,35,37,33,50,54,53,52,38,35,33,1,94,197,1, +205,205,225,99,96,104,91,11,13,203,12,6,104,98,254,217,1,8,120,112,113,119, +254,248,1,223,254,33,4,141,180,162,89,126,39,30,144,105,118,45,86,22,19,23,98, +52,116,90,100,154,94,88,92,105,0,0,0,1,0,93,255,239,4,17,4,157,0,39,0,0,1,52, +38,39,46,1,53,52,54,51,50,22,15,1,35,52,38,35,34,6,21,20,22,23,30,1,21,20,6, +35,34,36,63,1,51,20,22,51,50,54,3,76,124,162,223,203,243,206,210,235,5,2,187, +132,119,125,127,115,178,215,204,254,218,202,254,238,6,1,188,163,118,131,144,1, +48,71,88,40,58,149,150,147,174,186,168,6,92,115,93,74,73,81,43,58,156,145,154, +168,170,184,6,108,100,94,0,0,0,1,0,71,0,0,3,209,4,141,0,7,0,0,1,33,17,35,17, +33,53,33,3,209,254,155,197,254,160,3,138,3,244,252,12,3,244,153,0,0,0,1,0,137, +255,239,4,116,4,141,0,17,0,0,1,17,20,4,35,34,36,53,17,51,17,20,22,51,50,54,53, +17,4,116,254,233,223,221,254,232,196,169,136,137,169,4,141,253,1,195,220,220, +195,2,255,253,1,123,140,139,124,2,255,0,0,1,0,39,0,0,4,131,4,141,0,9,0,0,1,23, +51,55,1,51,1,35,1,51,2,59,23,6,23,1,65,211,254,46,185,254,47,211,1,41,82,80,3, +102,251,115,4,141,0,1,0,63,0,0,5,192,4,141,0,17,0,0,1,21,55,19,51,19,21,55,19, +51,1,35,3,35,3,35,1,51,1,199,1,221,183,221,1,179,211,254,218,182,225,6,227, +181,254,218,211,1,8,3,5,3,131,252,123,3,5,3,131,251,115,3,87,252,169,4,141,0, +0,1,0,55,0,0,4,66,4,141,0,11,0,0,9,1,51,9,1,35,9,1,35,9,1,51,2,58,1,22,233, +254,120,1,145,230,254,225,254,227,233,1,146,254,119,232,2,220,1,177,253,191, +253,180,1,186,254,70,2,76,2,65,0,0,0,1,0,30,0,0,4,53,4,141,0,8,0,0,9,1,51,1, +17,35,17,1,51,2,41,1,47,221,254,84,197,254,90,221,2,77,2,64,253,13,254,102,1, +163,2,234,0,0,0,1,0,78,0,0,3,216,4,141,0,9,0,0,37,33,21,33,53,1,33,53,33,21,1, +61,2,155,252,118,2,129,253,161,3,80,152,152,118,3,126,153,114,0,0,2,0,120,255, +239,3,250,4,157,0,13,0,27,0,0,1,20,6,35,34,38,53,17,52,54,51,50,22,21,39,52, +38,35,34,6,21,17,20,22,51,50,54,53,3,250,247,201,202,248,247,201,202,248,197, +136,117,115,136,137,116,116,135,1,155,197,231,232,196,1,87,195,232,232,195,1, +124,149,150,123,254,168,125,151,150,126,0,0,0,1,0,78,0,0,1,195,4,157,0,5,0,0, +33,35,17,7,53,37,1,195,197,176,1,117,3,222,2,160,33,0,0,1,0,89,0,0,3,115,4, +157,0,26,0,0,41,1,53,1,62,1,53,52,38,35,34,6,21,35,39,38,54,51,50,22,21,20,6, +15,1,23,33,3,115,252,243,1,150,102,69,92,87,101,114,188,2,6,224,187,175,201, +117,158,248,3,2,15,152,1,150,97,114,62,84,113,115,83,6,143,202,184,168,109, +153,160,249,6,0,0,0,1,0,90,255,239,3,163,4,157,0,42,0,0,1,50,54,53,52,38,35, +34,6,21,35,39,38,54,51,50,22,21,20,6,7,30,1,21,20,6,35,34,38,63,1,51,20,22,51, +50,54,53,52,38,43,1,53,2,0,104,99,110,106,84,114,187,2,6,226,167,192,221,96, +84,96,103,240,192,168,241,5,2,186,121,95,108,126,111,110,168,2,157,95,84,76, +104,96,71,6,140,174,172,160,80,133,38,35,138,99,161,182,171,162,6,77,110,109, +82,98,95,150,0,0,0,0,2,0,71,0,0,4,21,4,141,0,10,0,14,0,0,1,51,21,35,21,35,53, +33,39,1,51,3,17,39,1,3,82,195,195,197,253,190,4,2,63,204,197,6,254,153,1,133, +154,235,235,122,3,40,252,248,1,251,2,254,3,0,0,0,0,1,0,90,255,239,3,168,4,141, +0,31,0,0,27,1,33,21,33,3,62,1,55,54,22,21,20,6,35,34,38,63,2,20,22,51,50,54, +53,52,38,35,34,6,7,135,71,2,166,254,5,33,37,114,56,181,204,210,219,178,239,5, +1,189,123,99,118,114,111,101,102,99,24,1,248,2,149,164,254,202,25,37,2,3,202, +185,178,210,161,157,6,14,83,103,124,110,107,125,57,53,0,2,0,120,255,239,3,215, +4,157,0,26,0,39,0,0,1,50,22,23,7,46,1,35,34,6,29,1,62,1,51,50,22,21,20,6,35, +34,38,53,17,52,36,19,34,6,7,21,20,22,51,50,54,53,52,38,2,79,66,147,67,33,58, +114,73,121,155,50,143,88,185,200,239,191,186,247,1,17,161,88,122,27,134,102, +105,128,114,4,157,28,23,148,24,22,163,125,106,52,58,198,179,171,213,248,196,1, +55,195,248,253,177,64,54,45,125,167,134,98,104,119,0,1,0,71,0,0,3,103,4,141,0, +12,0,0,1,6,2,17,21,35,53,16,18,55,33,53,33,3,103,189,163,197,231,142,253,144, +3,32,3,244,232,254,192,254,237,185,185,1,12,1,150,153,153,0,0,0,0,3,0,88,255, +239,3,201,4,157,0,23,0,35,0,47,0,0,1,20,6,7,30,1,21,20,6,35,34,38,53,52,54,55, +46,1,53,52,54,51,50,22,3,52,38,35,34,6,21,20,22,51,50,54,3,52,38,35,34,6,21, +20,22,51,50,54,3,166,102,86,102,121,247,185,194,255,123,106,91,104,233,180, +172,227,163,139,97,105,145,145,107,98,136,35,119,82,93,123,125,93,83,116,3,92, +87,132,37,39,144,94,162,182,182,162,94,145,38,37,132,87,153,168,168,253,86,84, +111,111,84,87,109,109,2,100,74,98,94,78,77,99,99,0,0,0,0,2,0,71,255,239,3,160, +4,157,0,26,0,39,0,0,37,50,54,61,1,14,1,35,34,38,53,52,54,51,50,22,21,17,20,4, +35,34,38,39,55,30,1,19,50,54,55,53,52,38,35,34,6,21,20,22,1,222,108,145,45, +127,72,195,221,240,190,185,242,255,0,194,68,148,67,31,60,117,91,88,124,25,133, +99,102,128,116,135,148,110,117,50,52,207,175,166,225,249,195,254,169,181,230, +26,24,149,26,21,1,163,74,54,55,124,167,146,92,102,134,0,0,2,0,120,255,245,3, +30,3,44,0,13,0,27,0,0,1,20,6,35,34,38,61,1,52,54,51,50,22,21,39,52,38,35,34,6, +29,1,20,22,51,50,54,53,3,30,187,151,153,187,186,152,152,188,173,89,78,78,88, +89,79,77,88,1,27,136,158,158,136,235,134,160,160,134,1,76,86,86,76,236,78,86, +86,78,0,1,0,95,0,0,1,140,3,44,0,5,0,0,33,35,17,35,53,37,1,140,174,127,1,45,2, +143,134,23,0,0,0,1,0,113,0,0,2,202,3,44,0,26,0,0,41,1,53,1,62,1,53,52,38,35, +34,6,21,35,39,38,54,51,50,22,21,20,6,15,1,23,33,2,202,253,176,1,46,69,44,57, +58,67,73,161,2,6,168,141,135,152,89,116,153,2,1,105,130,1,6,60,75,42,50,62,64, +50,6,99,140,128,116,80,112,105,135,6,0,0,0,1,0,106,255,245,2,228,3,44,0,42,0, +0,1,50,54,53,52,38,35,34,6,21,35,39,38,54,51,50,22,21,20,6,7,30,1,21,20,6,35, +34,38,63,1,51,20,22,51,50,54,53,52,38,43,1,53,1,168,67,65,73,69,56,69,162,2,6, +169,126,145,168,71,62,70,76,180,146,127,181,6,1,163,75,63,72,84,73,73,132,1, +215,57,52,43,58,48,40,6,94,119,119,110,55,91,26,23,96,68,111,124,116,111,6,46, +57,59,48,62,57,126,0,0,0,0,2,0,87,0,0,3,40,3,33,0,10,0,15,0,0,1,51,21,35,21, +35,53,33,39,1,51,1,51,17,39,7,2,170,126,126,170,254,95,8,1,166,173,254,99,243, +6,13,1,26,130,152,152,102,2,35,253,249,1,54,1,22,0,0,0,1,0,114,255,245,2,246, +3,33,0,31,0,0,27,1,33,21,33,7,62,1,55,54,22,21,20,6,35,34,38,63,2,20,22,51,50, +54,53,52,38,35,34,6,7,146,52,2,4,254,149,26,30,79,42,132,150,159,166,137,182, +6,1,162,82,68,78,76,77,67,65,67,15,1,90,1,199,133,185,17,25,1,2,145,128,122, +144,110,106,6,10,48,54,69,66,66,81,34,30,0,0,2,0,120,255,245,3,4,3,44,0,26,0, +39,0,0,1,50,22,23,7,46,1,35,34,6,29,1,62,1,51,50,22,21,20,6,35,34,38,61,1,52, +54,19,34,6,7,21,20,22,51,50,54,53,52,38,1,222,53,108,43,30,39,82,51,83,105,36, +101,63,132,148,182,144,141,185,205,128,64,83,14,86,68,71,84,74,3,44,19,16,127, +16,15,94,78,66,34,38,140,122,118,146,170,135,214,135,169,254,86,44,38,10,78, +97,75,59,63,70,0,0,0,1,0,95,0,0,2,172,3,33,0,12,0,0,1,14,1,29,1,35,53,52,18, +55,33,53,33,2,172,134,111,172,155,89,254,96,2,77,2,158,158,203,182,127,127, +181,1,23,83,131,0,0,0,3,0,112,255,245,3,7,3,44,0,23,0,35,0,47,0,0,1,20,6,7,30, +1,21,20,6,35,34,38,53,52,54,55,46,1,53,52,54,51,50,22,3,52,38,35,34,6,21,20, +22,51,50,54,3,52,38,35,34,6,21,20,22,51,50,54,2,239,73,62,73,86,185,140,146, +192,89,76,66,74,177,135,130,172,146,92,64,70,96,95,72,65,90,26,75,55,61,79,81, +60,53,76,2,80,59,91,27,28,99,63,112,124,124,112,63,100,28,27,90,59,105,115, +115,254,47,51,67,66,52,52,61,61,1,147,45,53,52,46,46,57,57,0,0,0,0,2,0,104, +255,245,2,236,3,44,0,26,0,39,0,0,37,50,54,61,1,14,1,35,34,38,53,52,54,51,50, +22,29,1,20,6,35,34,38,39,55,30,1,19,50,54,55,53,52,38,35,34,6,21,20,22,1,151, +72,96,31,84,47,145,164,180,143,138,183,195,146,51,110,50,28,43,84,72,60,79,13, +88,66,66,80,75,119,84,67,73,33,34,145,122,114,155,172,134,235,125,157,18,16, +127,17,14,1,23,49,35,24,76,99,83,55,66,79,0,0,0,0,1,0,120,255,45,1,103,0,243, +0,5,0,0,37,3,35,19,53,51,1,103,132,107,42,197,46,254,255,1,10,188,0,1,0,22,0, +0,5,23,5,196,0,21,0,0,1,23,51,55,19,62,1,51,50,22,23,7,46,1,35,34,6,7,1,35,1, +51,2,89,32,6,33,224,47,156,95,33,51,25,22,6,21,13,52,70,26,254,139,168,253, +238,214,1,126,120,120,3,37,148,141,11,15,151,2,5,65,78,251,117,5,176,0,1,0,46, +0,0,4,14,4,77,0,21,0,0,1,23,51,55,19,62,1,51,50,22,23,7,46,1,35,34,6,7,1,35,1, +51,1,227,17,6,19,149,41,132,82,34,51,24,22,5,22,13,32,59,13,254,216,149,254, +131,202,1,63,76,76,2,23,127,120,10,15,151,3,5,52,42,252,185,4,58,0,1,0,118, +254,128,4,191,5,197,0,25,0,0,1,35,17,38,0,53,17,16,0,51,50,0,15,1,35,52,38,35, +34,2,21,17,20,18,59,1,3,23,196,215,254,250,1,55,247,247,1,36,4,2,189,180,164, +165,196,196,165,115,254,128,1,113,29,1,82,246,1,3,1,13,1,95,254,249,217,6,153, +178,254,246,197,254,251,199,254,246,0,0,0,1,0,98,254,128,3,225,4,78,0,25,0,0, +1,35,17,38,2,61,1,52,18,51,50,22,15,1,35,52,38,35,34,6,29,1,20,22,59,1,2,167, +197,181,203,255,220,182,238,4,2,178,137,99,138,140,139,139,106,254,128,1,115, +32,1,42,203,42,227,1,57,224,163,6,98,140,230,155,42,159,228,0,0,0,0,1,0,163, +255,104,4,209,5,176,0,23,0,0,1,22,4,21,6,2,7,39,62,1,53,46,1,35,33,17,35,17, +51,17,51,1,51,23,2,195,232,1,25,2,225,221,51,160,142,2,178,154,254,183,197, +197,128,2,8,222,3,3,43,5,250,232,144,254,217,37,150,34,170,122,165,159,253, +120,5,176,253,124,2,132,5,0,0,0,0,1,0,153,254,254,4,30,4,58,0,23,0,0,1,30,1, +21,6,2,7,39,62,1,53,46,1,43,1,17,35,17,51,17,51,1,51,23,2,137,184,215,2,194, +190,51,128,113,2,178,154,168,197,197,84,1,131,231,2,2,101,30,222,185,133,254, +245,34,150,32,145,107,144,139,254,53,4,58,254,55,1,201,5,0,0,1,0,163,255,201, +4,116,5,176,0,21,0,0,1,33,17,51,50,0,21,6,2,7,39,62,1,53,46,1,43,1,17,35,17, +33,4,32,253,72,249,235,1,40,2,195,190,51,128,112,1,182,150,249,197,3,125,5,21, +254,86,255,0,220,138,254,230,34,148,34,157,115,147,164,253,58,5,176,0,0,0,1,0, +143,254,255,3,196,4,58,0,21,0,0,1,33,21,51,50,0,21,6,2,7,39,62,1,53,46,1,43,1, +17,35,17,33,2,190,254,150,93,235,1,40,2,195,190,51,128,112,1,182,150,93,197,2, +47,3,158,253,255,0,220,138,254,230,34,148,35,156,115,147,164,254,4,4,58,0,0,0, +0,1,0,168,255,206,7,227,5,176,0,23,0,0,1,51,50,0,21,6,2,7,39,62,1,53,46,1,43, +1,17,35,17,33,17,35,17,33,4,247,217,235,1,40,2,195,190,51,128,112,1,182,150, +217,197,253,59,197,4,79,3,112,255,0,220,138,254,230,34,148,34,157,115,147,164, +253,53,5,21,250,235,5,176,0,0,1,0,143,255,2,6,184,4,58,0,23,0,0,1,51,50,0,21, +6,2,7,39,62,1,53,46,1,43,1,17,35,17,33,17,35,17,33,3,252,169,235,1,40,2,195, +190,51,128,112,1,182,150,169,197,254,29,197,3,109,2,164,255,0,220,138,254,230, +34,148,35,156,115,147,164,254,1,3,158,252,98,4,58,0,0,2,0,89,255,235,5,33,5, +197,0,22,0,31,0,0,1,32,0,17,21,16,0,35,32,0,17,53,33,55,54,2,35,34,6,7,39,62, +1,19,50,18,55,39,33,21,20,22,2,102,1,74,1,113,254,162,252,254,208,254,194,3, +252,2,4,249,252,108,153,74,49,50,191,240,170,210,17,3,252,205,199,5,197,254, +113,254,186,49,254,196,254,104,1,97,1,56,108,5,248,1,61,47,37,139,35,65,250, +192,1,13,210,5,31,207,246,0,255,255,0,94,255,236,3,223,4,78,0,15,0,69,4,64,4, +58,192,1,0,1,0,169,0,0,7,111,5,176,0,13,0,0,1,33,17,33,21,33,17,35,17,33,17, +35,17,51,1,110,2,195,3,62,253,135,197,253,61,197,197,3,30,2,146,155,250,235,2, +131,253,125,5,176,0,0,0,1,0,143,0,0,5,101,4,58,0,13,0,0,1,33,17,33,21,33,17, +35,17,33,17,35,17,51,1,84,1,226,2,47,254,150,197,254,30,197,197,2,102,1,212, +156,252,98,1,204,254,52,4,58,0,0,0,1,0,63,255,48,6,156,5,176,0,19,0,0,1,33,17, +33,17,51,17,51,17,35,53,33,17,33,53,33,53,51,21,33,3,239,254,122,2,197,197, +169,197,251,205,254,155,1,101,197,1,134,4,165,251,246,5,21,251,75,254,53,208, +4,165,154,113,113,0,1,0,73,255,69,5,29,4,58,0,19,0,0,1,33,17,33,17,51,17,51, +17,35,53,33,17,35,53,51,53,51,21,33,3,13,254,228,1,227,197,132,197,252,212, +227,227,197,1,28,3,46,253,108,3,160,252,96,254,171,187,3,46,154,114,114,0,0,0, +2,0,77,255,233,6,44,5,195,0,30,0,39,0,0,5,32,0,17,53,46,1,63,1,51,20,22,23,18, +0,51,32,0,17,21,33,7,6,18,51,50,54,55,23,14,1,3,34,2,7,23,33,53,52,38,4,71, +254,182,254,145,158,163,4,2,151,83,85,27,1,81,233,1,27,1,42,252,46,2,5,247, +253,107,154,75,48,50,192,238,171,210,15,3,3,9,181,23,1,141,1,71,6,20,196,154, +5,93,125,18,1,23,1,94,254,157,254,201,108,5,249,254,196,46,38,139,36,63,5,63, +254,242,209,5,31,206,247,0,0,0,0,2,255,223,255,235,4,94,4,78,0,29,0,38,0,0,5, +34,0,61,1,46,1,53,51,20,22,23,62,1,51,50,18,29,1,33,7,6,22,51,50,54,55,23,14, +1,3,34,6,7,23,33,53,52,38,2,224,242,254,239,125,129,157,51,54,30,255,170,217, +217,253,76,2,1,155,158,98,116,79,49,54,155,185,103,135,15,2,1,232,116,21,1,43, +242,6,26,177,138,73,101,23,193,239,254,242,224,104,5,162,204,41,42,139,39,59, +3,200,159,124,5,16,118,154,0,0,1,0,138,0,0,4,195,5,176,0,15,0,0,51,17,51,17, +33,50,22,21,17,35,17,52,38,35,33,17,138,197,1,139,240,249,198,139,152,254,117, +5,176,253,182,212,236,254,90,1,166,164,128,253,54,0,0,1,0,116,2,136,3,58,3,35, +0,3,0,0,1,33,53,33,3,58,253,58,2,198,2,136,155,0,0,1,0,74,0,0,6,185,5,176,0, +16,0,0,1,35,17,35,17,33,53,33,17,51,1,51,23,9,1,7,35,3,185,147,197,253,233,2, +220,128,2,8,222,2,253,196,2,103,3,239,2,146,253,110,5,21,155,253,124,2,132,5, +253,80,253,10,5,0,0,1,0,49,0,0,5,188,4,58,0,16,0,0,1,35,17,35,17,33,53,33,17, +51,1,51,23,9,1,7,35,3,63,101,197,254,28,2,169,84,1,131,231,2,254,63,1,227,2, +242,1,203,254,53,3,158,156,254,55,1,201,5,253,254,253,210,5,0,0,1,0,191,255, +236,6,146,5,198,0,40,0,0,1,33,7,30,1,51,50,54,53,51,23,22,0,35,34,0,3,35,17, +35,17,51,17,51,53,16,0,51,50,0,15,1,35,52,38,35,34,2,29,1,33,4,237,254,41,3,4, +194,158,164,180,189,2,4,254,216,243,240,254,203,9,196,198,198,196,1,55,247, +247,1,36,4,2,189,180,164,165,196,1,223,2,57,5,185,245,177,156,6,205,254,236,1, +74,1,3,253,199,5,176,253,35,135,1,13,1,95,254,249,217,6,153,178,254,246,197, +137,0,0,0,1,0,151,255,235,5,131,4,78,0,39,0,0,1,33,7,30,1,51,50,54,53,51,23, +22,6,35,34,2,39,35,17,35,17,51,17,51,54,18,51,50,22,15,1,35,52,38,35,34,6,7, +23,33,4,72,254,146,2,6,132,133,91,136,178,3,4,248,164,213,246,15,177,197,197, +177,15,246,213,181,231,4,2,179,129,98,133,133,5,2,1,110,1,205,5,139,184,121, +88,6,140,217,1,16,210,254,51,4,58,254,46,210,1,20,224,163,6,99,139,189,137,5, +0,0,0,2,0,43,0,0,4,227,5,176,0,11,0,15,0,0,1,35,17,35,17,35,3,35,1,51,1,35,1, +33,3,35,3,133,161,196,148,152,201,2,13,169,2,2,201,253,171,1,136,191,6,1,182, +254,74,1,182,254,74,5,176,250,80,2,90,2,51,0,0,2,0,13,0,0,4,41,4,58,0,11,0,17, +0,0,1,35,17,35,17,35,3,35,1,51,1,35,1,33,3,39,35,7,2,233,106,196,113,116,201, +1,184,169,1,187,201,254,39,1,36,126,18,6,18,1,38,254,218,1,38,254,218,4,58, +251,198,1,193,1,56,68,68,0,0,0,0,1,0,169,255,232,7,126,5,176,0,29,0,0,1,17,6, +22,51,62,1,55,54,38,39,55,30,1,7,2,0,35,6,38,39,17,33,17,35,17,51,17,33,17,4, +242,1,90,77,135,148,4,1,32,30,190,34,36,2,5,254,236,203,169,186,8,253,65,197, +197,2,191,5,176,251,169,95,117,1,210,185,97,202,103,1,124,187,92,254,246,254, +228,3,177,192,1,42,253,125,5,176,253,110,2,146,0,0,0,0,1,0,143,255,232,6,85,4, +58,0,29,0,0,1,33,17,35,17,51,17,33,17,51,17,6,22,51,62,1,55,54,38,39,51,30,1, +7,6,2,35,6,38,39,3,64,254,20,197,197,1,236,197,1,91,76,106,117,4,1,31,30,189, +34,36,2,4,242,178,169,186,8,1,204,254,52,4,58,254,43,1,213,253,31,95,117,1, +187,164,91,193,97,123,172,86,244,254,250,3,177,192,0,0,0,0,1,0,65,255,232,6, +65,4,58,0,33,0,0,1,33,17,16,2,43,1,63,1,50,54,53,17,33,17,6,22,51,62,1,55,54, +38,39,51,30,1,7,6,2,35,6,38,39,3,45,254,205,178,206,57,4,41,107,92,2,189,1,90, +76,107,116,4,1,32,30,191,33,36,2,4,243,177,168,186,8,3,158,254,208,254,195, +254,207,168,1,212,241,1,204,253,31,95,117,1,187,164,92,192,97,120,175,86,244, +254,250,3,177,192,0,0,0,0,1,0,69,255,232,7,117,5,176,0,33,0,0,1,33,17,16,2,43, +1,53,51,50,18,25,1,33,17,6,22,51,62,1,55,54,38,39,55,30,1,7,2,0,35,6,38,39,4, +36,254,40,216,250,53,41,149,133,3,97,1,91,77,135,147,4,1,31,30,190,33,36,2,4, +254,236,203,170,186,8,5,21,253,235,254,114,254,142,154,1,32,1,70,2,176,251, +169,95,117,1,210,185,97,203,102,1,122,189,92,254,246,254,228,3,177,192,0,1,0, +118,255,235,4,159,5,197,0,33,0,0,5,32,0,25,1,16,0,33,50,22,23,7,46,1,35,34,2, +21,17,20,18,51,62,1,55,54,38,39,51,30,1,7,6,4,2,185,255,0,254,189,1,67,1,0, +113,178,68,63,67,144,85,175,207,207,175,136,148,4,1,27,24,190,42,16,1,4,254, +235,21,1,94,1,12,1,6,1,11,1,95,45,43,135,33,35,254,246,195,254,248,198,254, +246,1,154,137,83,181,97,197,86,78,216,230,0,0,0,0,1,0,98,255,235,3,198,4,78,0, +33,0,0,37,62,1,55,52,38,39,51,30,1,21,14,1,35,34,0,61,1,52,18,51,50,22,23,7, +46,1,35,34,6,29,1,20,22,2,81,95,78,3,10,9,189,13,14,4,204,165,230,254,247,255, +219,94,142,47,46,47,122,68,137,140,149,133,1,83,84,58,122,56,68,115,53,158, +164,1,58,227,42,226,1,58,35,31,147,27,31,231,154,42,158,229,0,0,0,0,1,0,36, +255,232,5,77,5,176,0,25,0,0,1,33,53,33,21,33,17,6,22,51,62,1,55,54,38,39,55, +30,1,7,2,0,35,6,38,39,1,252,254,40,4,128,254,29,1,91,76,135,149,4,1,32,31,191, +34,35,2,4,254,236,204,169,186,8,5,21,155,155,252,68,95,117,1,210,185,96,202, +104,1,124,187,92,254,246,254,228,3,177,192,0,0,0,0,1,0,70,255,232,4,189,4,58, +0,25,0,0,1,33,53,33,21,33,17,6,22,51,62,1,55,54,38,39,51,30,1,7,14,1,35,6,38, +39,1,168,254,158,3,139,254,156,1,90,77,106,117,4,1,32,29,189,34,36,2,4,243, +177,169,186,8,3,161,153,153,253,184,95,117,1,155,137,76,167,80,103,148,72,216, +231,3,177,192,0,0,0,0,2,0,91,0,0,6,110,5,176,0,24,0,33,0,0,33,34,36,53,52,36, +51,33,17,51,17,55,62,1,55,54,38,39,51,30,1,7,14,1,35,37,17,33,34,6,21,20,22, +51,2,70,233,254,254,1,1,234,1,103,197,83,106,116,4,1,31,30,190,33,36,2,4,243, +176,254,232,254,153,148,146,146,148,246,198,197,239,2,64,250,233,1,1,141,126, +77,167,79,100,151,72,204,218,154,2,59,160,119,123,169,0,0,0,2,0,98,255,233,6, +116,6,24,0,34,0,51,0,0,19,16,18,51,50,22,23,17,51,17,6,22,51,62,1,55,54,38,39, +55,30,1,7,2,0,35,6,38,39,14,1,35,34,2,53,1,46,1,35,34,6,29,1,20,22,51,50,54, +55,46,1,53,98,223,201,89,140,52,197,2,92,77,134,148,4,1,31,30,190,33,36,2,4, +254,236,203,120,163,41,53,161,109,198,224,2,193,39,114,78,142,135,134,141,84, +116,39,3,3,2,9,1,5,1,64,62,59,2,67,251,65,95,117,1,210,185,97,203,102,1,122, +189,92,254,246,254,228,2,85,93,87,89,1,31,234,1,61,58,67,234,187,21,164,197, +73,66,15,34,18,0,1,0,54,255,232,5,211,5,176,0,44,0,0,1,52,38,43,1,53,51,50,54, +53,52,38,35,33,53,33,50,22,21,20,6,7,30,1,29,1,6,22,51,62,1,55,54,38,39,51,30, +1,7,10,1,35,6,38,39,2,191,137,116,191,136,166,147,143,152,254,153,1,103,239, +253,117,111,118,105,1,79,67,116,128,4,1,31,30,190,34,34,1,4,254,187,160,174,8, +1,114,118,145,155,126,131,121,135,155,212,201,113,165,49,40,176,128,68,76,95, +1,212,183,97,204,102,134,179,90,254,247,254,227,3,157,171,0,0,1,0,49,255,227, +4,235,4,58,0,45,0,0,37,6,22,51,62,1,55,54,38,39,51,30,1,7,14,1,35,6,38,39,53, +52,38,43,1,39,51,50,54,53,52,38,35,33,39,33,50,22,21,20,6,7,30,1,29,1,2,236,1, +39,47,106,117,4,1,32,30,190,34,36,2,5,242,177,138,138,6,106,98,211,2,184,119, +113,114,119,254,250,6,1,12,206,226,96,93,99,89,213,42,44,2,153,137,76,164,79, +102,146,71,215,230,3,114,129,75,71,79,154,83,77,81,95,153,170,152,81,114,36, +28,122,89,77,0,2,0,80,254,219,3,253,5,176,0,33,0,39,0,0,19,53,51,50,54,53,52, +38,35,33,53,33,50,22,21,20,6,7,30,1,29,1,20,22,23,21,35,46,1,61,1,52,38,35,1, +3,35,19,53,51,112,221,167,149,143,152,254,238,1,18,239,252,117,111,119,105,31, +37,203,41,21,137,116,2,118,132,107,42,197,2,120,154,127,130,122,136,155,212, +203,112,166,48,40,176,128,136,68,108,34,25,35,131,71,132,118,145,253,100,254, +255,1,10,188,0,0,2,0,123,254,219,3,187,4,58,0,33,0,39,0,0,19,53,33,50,54,53, +52,38,35,33,53,33,50,22,21,20,6,7,30,1,29,1,20,22,23,21,35,46,1,61,1,52,38,35, +1,3,35,19,53,51,125,1,22,120,112,113,119,254,232,1,24,205,225,97,94,102,89,29, +34,203,37,20,106,98,2,11,132,107,42,197,1,183,154,83,78,81,94,153,169,153,81, +116,36,29,132,97,97,45,86,22,19,23,99,51,95,80,91,254,37,254,255,1,10,188,0,2, +0,91,0,0,4,114,5,176,0,10,0,19,0,0,1,17,51,17,33,34,36,53,52,36,51,1,17,33,34, +6,21,20,22,51,3,173,197,253,212,233,254,254,1,1,234,1,103,254,153,148,146,146, +148,3,112,2,64,250,80,246,198,197,239,253,42,2,59,160,119,123,169,0,0,0,0,1,0, +156,255,235,5,2,5,197,0,42,0,0,1,34,6,21,20,22,51,50,54,53,51,23,22,4,35,32, +36,53,52,54,55,46,1,53,52,36,33,50,4,15,1,35,52,38,35,34,6,21,20,22,59,1,21,2, +205,181,183,202,178,156,199,188,2,4,254,188,225,254,254,254,193,142,135,120, +135,1,42,1,1,223,1,50,5,1,188,195,140,178,180,167,175,184,2,152,129,133,120, +149,157,114,6,205,214,227,200,126,173,42,48,166,101,199,216,220,176,6,105,142, +144,112,114,132,156,0,0,1,0,163,0,0,4,34,6,218,0,9,0,0,1,35,53,33,17,35,17,33, +17,51,4,34,197,254,11,197,2,186,197,5,15,6,250,235,5,176,1,42,0,0,0,1,0,143,0, +0,3,16,5,100,0,9,0,0,1,35,53,35,17,35,17,33,17,51,3,16,197,247,197,1,188,197, +3,153,5,252,98,4,58,1,42,0,0,0,0,2,0,41,0,0,3,223,5,176,0,5,0,15,0,0,1,51,9,1, +35,1,33,1,39,35,7,3,1,23,51,55,1,183,150,1,146,254,113,149,254,110,2,237,254, +255,17,6,18,250,1,1,17,6,18,5,176,253,39,253,41,2,215,2,0,50,50,254,0,254,1, +50,50,0,0,0,0,1,0,163,0,0,4,255,5,176,0,20,0,0,9,2,35,1,35,21,35,53,35,17,35, +17,51,17,51,53,51,21,51,1,4,213,254,114,1,184,246,254,172,78,157,98,197,197, +98,157,76,1,61,5,176,253,79,253,1,2,146,243,243,253,110,5,176,253,124,255,255, +2,132,0,0,0,0,1,0,153,0,0,4,99,4,58,0,20,0,0,9,2,35,1,35,21,35,53,35,17,35,17, +51,17,51,53,51,21,51,19,4,64,254,173,1,118,249,254,243,23,157,75,197,197,75, +157,15,255,4,58,254,0,253,198,1,203,191,191,254,53,4,58,254,55,211,211,1,201, +0,2,0,147,0,0,4,204,5,176,0,3,0,19,0,0,1,35,17,51,1,17,35,17,33,34,38,53,17, +51,17,20,22,51,33,17,3,30,158,158,1,174,197,254,117,241,248,198,138,153,1,139, +1,60,2,189,1,183,250,80,2,74,211,237,1,166,254,90,165,127,2,202,0,2,0,115,0,0, +3,220,4,58,0,3,0,19,0,0,37,35,17,51,1,35,17,35,34,38,53,17,51,17,20,22,59,1, +17,51,2,135,158,158,1,85,197,208,236,232,197,124,147,208,197,229,2,54,252,229, +1,165,174,222,1,9,254,247,145,96,1,250,0,1,0,143,254,75,3,251,4,58,0,23,0,0,1, +17,33,17,51,17,20,6,35,34,38,39,55,30,1,51,50,54,53,17,33,17,35,17,1,84,1,226, +197,173,153,31,53,28,15,13,67,17,60,69,254,30,197,4,58,254,44,1,212,251,109, +167,181,9,9,150,5,8,103,90,2,37,254,52,4,58,0,1,0,169,254,75,4,246,5,176,0,23, +0,0,1,17,33,17,51,17,20,6,35,34,38,39,55,30,1,51,50,54,53,17,33,17,35,17,1, +110,2,195,197,173,153,31,53,28,14,14,67,17,60,69,253,61,197,5,176,253,110,2, +146,249,247,167,181,9,9,150,5,8,103,90,2,220,253,125,5,176,0,2,0,74,254,68,3, +164,7,114,0,44,0,53,0,0,1,50,54,53,52,38,35,33,53,33,50,4,21,20,6,7,30,1,21, +20,4,43,1,34,6,21,20,22,23,7,46,1,39,52,54,59,1,50,54,53,52,38,43,1,53,1,55, +51,23,1,35,1,55,51,1,156,154,146,143,137,254,208,1,48,211,1,11,130,115,129, +138,254,247,211,50,76,69,93,66,79,111,155,1,179,161,42,129,149,164,158,143,1, +10,196,171,2,254,242,198,254,243,2,170,3,57,127,114,102,133,155,213,181,103, +164,44,41,176,127,200,227,59,53,70,85,30,127,47,164,111,129,128,149,119,133, +134,155,3,137,176,6,254,255,1,1,6,0,0,0,0,2,0,73,254,68,3,121,6,26,0,44,0,53, +0,0,1,50,54,53,52,38,35,33,53,33,50,22,21,20,6,7,30,1,21,20,6,43,1,34,6,21,20, +22,23,7,46,1,39,52,54,59,1,50,54,53,52,38,43,1,53,19,55,51,23,1,35,1,55,51,1, +154,133,126,123,116,254,209,1,47,192,245,103,91,105,111,243,192,49,76,69,94, +66,80,111,155,1,179,161,41,110,127,143,138,143,196,196,171,2,254,242,198,254, +243,2,170,2,106,83,75,65,85,156,168,142,73,119,35,33,122,86,151,173,59,53,70, +86,29,127,47,164,111,129,128,91,74,82,81,155,3,0,176,6,254,255,1,1,6,0,0,0,2, +0,209,0,0,6,244,5,176,0,19,0,23,0,0,1,33,1,51,1,35,3,35,17,35,17,35,3,35,19, +33,17,35,17,51,1,33,3,35,1,151,1,126,1,52,169,2,2,201,149,161,196,148,152,201, +158,254,189,198,198,2,63,1,136,191,6,2,91,3,85,250,80,1,182,254,74,1,182,254, +74,1,183,254,73,5,176,252,170,2,51,0,0,2,0,186,0,0,5,232,4,58,0,19,0,25,0,0,1, +33,1,51,1,35,3,35,17,35,17,35,3,35,19,35,17,35,17,51,1,33,3,39,35,7,1,127,1,3, +1,2,169,1,187,201,119,106,196,113,116,201,119,196,197,197,1,199,1,36,126,18,6, +18,1,193,2,121,251,198,1,38,254,218,1,38,254,218,1,37,254,219,4,58,253,135,1, +56,68,68,255,255,0,163,0,0,4,188,5,176,0,99,1,49,1,217,2,204,51,51,76,205,0,2, +0,48,0,0,0,3,0,143,254,96,4,41,4,78,0,3,0,21,0,35,0,0,5,7,3,55,37,20,2,35,34, +38,39,17,35,17,51,23,62,1,51,50,18,17,35,52,38,35,34,6,7,17,30,1,51,50,54,53, +3,125,147,175,148,1,90,224,197,100,151,53,197,151,31,53,158,105,201,223,197, +145,141,85,120,37,37,120,87,140,144,136,55,1,217,55,163,234,254,225,67,67,253, +239,5,218,140,78,82,254,193,254,250,184,237,77,67,253,245,67,75,205,162,0,0,0, +0,1,0,95,254,75,4,75,4,73,0,37,0,0,19,50,22,31,1,51,19,51,1,19,30,1,51,50,54, +55,7,14,1,35,34,38,39,3,35,1,35,1,3,46,1,35,34,6,35,53,62,1,202,129,151,42,92, +6,233,198,254,171,204,33,62,42,14,10,22,3,10,36,13,116,139,53,127,6,254,247, +209,1,127,163,33,86,60,10,54,4,20,63,4,73,160,108,222,1,219,253,61,254,20,75, +79,2,3,156,6,9,130,142,1,44,253,218,3,14,1,130,83,106,5,145,5,10,0,0,0,1,0, +160,4,140,1,122,6,23,0,5,0,0,19,55,51,3,21,35,160,121,97,21,197,5,32,247,254, +255,138,0,0,2,0,78,255,235,6,25,4,58,0,22,0,44,0,0,1,35,30,1,21,20,2,35,34,38, +39,14,1,35,34,2,53,52,54,55,35,53,33,1,46,1,39,33,14,1,7,20,22,51,50,54,61,1, +51,21,20,22,51,50,54,6,25,133,29,33,174,184,119,165,40,41,164,118,185,173,32, +30,111,5,203,254,244,3,40,34,252,209,35,40,2,83,89,98,116,198,115,99,87,84,3, +158,81,182,101,254,254,183,121,116,117,120,1,73,254,101,182,81,156,253,248,89, +182,93,94,182,88,190,239,162,175,250,250,175,162,238,0,1,255,234,0,0,4,83,5, +187,0,35,0,0,1,62,1,51,50,22,23,7,46,1,35,34,6,7,1,17,35,17,1,46,1,35,34,6,7, +39,62,1,51,50,22,23,19,23,51,55,2,230,51,123,81,34,50,26,23,5,22,13,33,55,16, +254,212,196,254,212,17,55,32,14,21,5,22,24,50,35,80,123,52,178,19,6,19,4,215, +124,104,10,14,152,3,5,35,39,253,121,253,190,2,66,2,135,39,35,5,3,152,14,10, +104,124,254,106,70,70,0,255,255,0,113,255,85,5,2,6,68,2,38,0,47,0,0,0,39,1,49, +1,248,0,131,0,7,1,49,1,248,5,167,255,255,0,97,255,99,4,42,4,217,2,38,0,79,0,0, +0,39,1,49,1,132,0,145,0,7,1,49,1,132,4,60,0,2,0,108,255,235,6,98,7,7,0,11,0, +54,0,0,1,21,39,55,33,21,35,53,35,21,35,53,5,6,2,21,16,18,51,50,54,55,30,1,51, +50,18,17,52,2,39,35,22,18,23,20,2,39,35,6,38,53,17,35,17,20,6,39,35,6,2,53,54, +18,55,2,138,175,1,3,53,177,153,178,253,242,62,93,204,215,124,176,44,43,176, +125,214,205,94,61,206,64,95,5,114,115,6,101,131,198,132,101,6,116,112,4,95,65, +6,154,130,1,238,239,130,130,130,234,105,254,55,192,254,213,254,88,173,155,155, +173,1,168,1,43,191,1,202,105,131,254,51,162,235,254,180,5,6,255,221,2,22,253, +234,221,255,6,5,1,77,234,162,1,205,131,0,0,0,2,0,127,255,235,5,210,5,182,0,11, +0,52,0,0,1,21,39,55,33,21,35,53,35,21,35,53,1,6,2,21,20,18,51,50,54,55,30,1, +51,50,18,53,52,2,39,35,22,18,23,20,6,35,34,38,53,17,35,17,20,6,35,34,38,53,54, +18,55,2,92,175,1,3,53,176,154,178,254,31,61,74,173,185,118,164,41,40,165,119, +184,174,75,60,207,65,76,4,84,87,99,115,198,116,98,89,83,3,76,65,5,73,130,1, +238,239,130,130,130,254,241,106,254,252,154,254,254,183,120,117,116,121,1,73, +254,154,1,4,106,134,254,253,127,191,238,162,175,1,44,254,212,175,162,239,190, +126,1,2,136,0,0,2,0,149,0,0,6,75,5,176,0,33,0,37,0,0,1,51,50,22,21,17,35,17, +52,38,43,1,7,17,35,17,39,35,34,6,21,17,35,17,52,54,59,1,1,51,23,55,53,33,1,51, +1,33,4,76,22,239,250,197,139,153,116,25,197,17,131,153,137,197,247,240,37,254, +121,226,5,6,3,204,253,159,10,1,28,253,190,3,46,209,234,254,141,1,115,162,126, +42,253,151,2,120,27,126,162,254,141,1,115,234,209,2,130,9,2,7,253,126,1,231,0, +2,0,149,0,0,5,87,4,59,0,31,0,34,0,0,1,51,1,30,1,29,1,35,53,52,38,43,1,7,17,35, +17,39,35,34,6,29,1,35,53,52,54,55,1,51,53,33,1,19,33,4,99,123,254,227,198,208, +198,119,132,47,11,197,6,60,133,118,197,212,205,254,228,158,2,171,254,153,176, +254,160,4,58,254,33,10,210,221,162,162,163,125,19,254,81,1,184,10,125,163,162, +162,226,208,7,1,223,1,254,36,1,64,0,4,0,190,0,0,8,130,5,176,0,3,0,7,0,41,0,45, +0,0,1,33,53,33,1,35,17,51,1,51,50,22,21,17,35,17,52,38,43,1,7,17,35,17,39,35, +34,6,21,17,35,17,52,54,59,1,1,51,23,55,53,33,1,51,1,33,4,252,252,109,3,147, +252,136,198,198,4,255,22,239,250,197,139,153,116,25,197,17,131,153,137,197, +247,240,37,254,121,226,5,6,3,204,253,159,10,1,28,253,190,2,148,154,252,210,5, +176,253,126,209,234,254,141,1,115,162,126,42,253,151,2,120,27,126,162,254,141, +1,115,234,209,2,130,9,2,7,253,126,1,231,0,0,0,0,4,0,153,0,0,7,81,4,59,0,3,0,7, +0,39,0,42,0,0,1,33,53,33,1,35,17,51,33,51,1,30,1,29,1,35,53,52,38,43,1,7,17, +35,17,39,35,34,6,29,1,35,53,52,54,55,1,51,53,33,1,19,33,4,248,252,11,3,245, +252,102,197,197,4,255,123,254,227,198,208,198,119,132,47,11,197,6,60,133,118, +197,212,205,254,228,158,2,171,254,153,176,254,160,1,194,155,253,163,4,58,254, +33,10,210,221,162,162,163,125,19,254,81,1,184,10,125,163,162,162,226,208,7,1, +223,1,254,36,1,64,0,0,22,0,91,254,114,7,238,5,174,0,13,0,28,0,42,0,59,0,65,0, +71,0,77,0,83,0,93,0,97,0,101,0,105,0,109,0,113,0,117,0,126,0,130,0,134,0,138, +0,142,0,146,0,150,0,0,1,52,38,35,34,6,29,1,20,22,51,50,54,53,5,50,54,53,52,38, +39,62,1,53,52,38,43,1,17,39,20,6,35,34,38,61,1,52,54,51,50,22,21,5,20,6,35,34, +38,53,35,7,6,22,51,50,54,53,17,35,1,17,51,21,51,21,33,53,51,53,51,17,1,17,33, +21,35,21,37,53,33,17,35,53,1,51,30,1,21,20,6,43,1,53,1,53,33,21,33,53,33,21, +33,53,33,21,1,53,33,21,33,53,33,21,33,53,33,21,19,51,50,22,21,20,6,43,1,5,35, +53,51,53,35,53,51,17,35,53,51,37,35,53,51,53,35,53,51,17,35,53,51,3,57,129, +102,102,128,128,104,101,128,1,32,92,105,54,48,40,44,111,101,188,159,74,63,66, +74,74,64,64,75,3,186,55,40,50,54,84,2,6,105,91,81,106,92,249,196,113,196,5,40, +199,111,248,109,1,53,196,5,236,1,54,111,252,218,5,47,51,53,50,126,1,78,1,22, +253,91,1,21,253,92,1,20,2,10,1,22,253,91,1,21,253,92,1,20,188,93,61,57,60,58, +93,252,241,113,113,113,113,113,113,7,34,111,111,111,111,111,111,2,68,96,123, +123,96,112,98,121,121,98,216,79,76,45,70,13,15,62,39,75,75,253,219,216,69,78, +78,69,112,68,79,79,68,155,44,54,45,46,6,77,81,92,79,1,122,251,79,1,59,202,113, +113,202,254,197,6,31,1,29,116,169,169,116,254,227,169,252,182,2,46,38,40,43, +169,3,74,116,116,116,116,116,116,249,56,113,113,113,113,113,113,4,91,32,39,40, +40,150,252,126,250,252,21,249,126,252,126,250,252,21,249,0,0,5,0,92,253,213,7, +215,8,98,0,3,0,30,0,34,0,38,0,42,0,0,9,3,5,52,54,55,62,1,53,52,38,35,34,6,31, +1,51,62,1,51,50,22,21,20,6,7,14,1,21,23,35,21,51,3,51,21,35,3,51,21,35,4,24,3, +191,252,65,252,68,4,15,26,40,72,94,169,147,136,167,3,3,194,1,59,43,54,59,51, +42,79,59,202,202,202,75,4,4,2,4,4,6,82,252,49,252,49,3,207,241,53,61,26,39, +131,78,128,151,130,130,6,51,52,63,53,50,77,28,55,90,88,91,170,253,76,4,10,141, +4,255,255,0,5,254,103,3,160,0,0,0,39,0,63,0,1,255,1,0,6,0,63,1,0,0,2,0,113, +255,235,5,2,5,195,0,33,0,48,0,0,1,53,52,54,51,50,22,29,1,16,0,33,34,0,25,1,16, +0,31,1,21,34,2,21,17,20,18,51,50,54,55,46,1,53,5,53,52,38,35,34,6,29,1,20,22, +23,62,1,53,2,29,206,165,165,205,254,181,254,248,254,254,192,1,62,250,6,172, +205,205,172,63,109,45,168,195,2,32,93,80,80,94,151,134,30,32,2,145,59,176,231, +229,178,80,254,229,254,138,1,96,1,10,1,6,1,9,1,95,4,2,154,254,255,197,254,248, +201,255,0,34,34,42,241,166,21,83,107,136,138,105,64,122,167,14,59,145,80,0,2, +0,97,255,235,4,42,4,76,0,33,0,48,0,0,1,53,52,54,51,50,22,29,1,20,0,35,34,0,61, +1,52,0,31,1,21,34,6,29,1,20,22,51,50,54,55,46,1,53,5,53,52,38,35,34,6,29,1,20, +22,51,62,1,53,1,210,169,130,129,172,254,240,203,219,254,237,1,17,215,6,136, +161,160,137,29,55,25,109,125,1,147,62,42,44,58,91,80,16,19,1,233,37,132,174, +187,140,33,211,254,230,1,36,222,54,239,1,58,4,2,153,219,173,56,155,198,12,12, +35,174,116,17,36,67,96,82,61,41,82,101,36,86,46,0,0,2,0,113,255,235,4,176,5, +197,0,26,0,38,0,0,1,53,52,54,51,50,22,21,17,16,0,35,34,0,25,1,55,17,20,22,51, +50,54,55,38,36,53,37,52,38,35,34,6,29,1,20,22,23,55,2,9,189,151,157,182,254, +207,248,238,254,216,197,182,155,165,190,2,218,254,247,1,227,73,70,66,77,150, +130,6,4,12,62,172,207,202,177,254,6,254,234,254,177,1,92,1,9,2,148,2,253,106, +200,252,237,208,8,251,192,62,108,109,109,108,64,120,158,4,2,0,1,0,112,0,0,4, +148,5,62,0,19,0,0,1,5,7,37,3,35,19,37,55,5,19,37,55,5,19,51,3,5,7,37,2,92,1, +33,71,254,221,181,174,225,254,223,71,1,37,202,254,222,73,1,35,185,171,229,1, +37,75,254,224,1,191,172,125,170,254,192,1,142,171,124,171,1,108,171,126,171,1, +74,254,105,171,124,170,0,0,8,0,59,254,196,7,212,5,175,0,15,0,31,0,47,0,63,0, +79,0,95,0,111,0,127,0,0,1,39,38,54,51,50,22,15,1,35,52,38,35,34,6,21,1,39,38, +54,51,50,22,15,1,35,52,38,35,34,6,21,19,39,38,54,51,50,22,15,1,35,52,38,35,34, +6,21,1,39,38,54,51,50,22,15,1,35,52,38,35,34,6,21,1,39,38,54,51,50,22,15,1,35, +52,38,35,34,6,21,1,39,38,54,51,50,22,15,1,35,52,38,35,34,6,21,1,39,38,54,51, +50,22,15,1,35,52,38,35,34,6,21,19,39,38,54,51,50,22,15,1,35,52,38,35,34,6,21, +3,47,2,5,112,97,96,113,4,2,104,49,50,50,47,1,230,2,5,113,96,96,114,4,2,105,48, +51,50,46,81,2,5,113,96,96,113,4,2,104,48,51,50,47,254,210,2,5,113,96,96,113,4, +2,104,48,51,50,47,253,87,2,5,112,97,96,113,4,2,104,49,50,50,47,253,85,2,5,113, +97,96,113,4,2,104,49,50,50,47,254,230,2,5,113,96,96,113,4,2,104,48,51,50,47, +61,2,5,113,96,96,114,4,2,105,48,51,50,46,4,243,6,79,103,103,79,6,43,58,58,43, +254,235,6,78,104,103,79,6,44,57,58,43,254,9,6,78,104,103,79,6,44,57,58,43,253, +249,6,78,104,103,79,6,44,57,58,43,254,228,6,80,102,102,80,6,44,57,57,44,5,26, +6,79,103,103,79,6,43,58,58,43,254,9,6,78,104,103,79,6,44,57,58,43,253,249,6, +78,104,103,79,6,44,57,58,43,0,0,0,8,0,77,254,99,7,141,5,198,0,4,0,9,0,14,0,19, +0,25,0,30,0,35,0,40,0,0,5,23,3,35,19,3,39,19,51,3,1,55,5,21,37,5,7,37,53,5,1, +55,37,23,6,5,1,7,5,39,37,3,39,3,55,19,1,23,19,7,3,4,80,11,122,96,70,58,12,122, +96,70,2,30,13,1,77,254,166,251,116,13,254,179,1,90,3,156,2,1,65,68,37,254,255, +252,243,2,254,192,69,1,38,43,17,148,65,198,3,96,17,149,66,197,60,14,254,173,1, +97,4,162,14,1,82,254,160,254,17,12,124,98,71,59,12,124,98,71,1,174,16,153,68, +23,177,252,142,17,153,69,200,2,228,2,1,70,69,254,213,252,227,2,254,187,71,1, +43,0,0,1,0,122,2,139,2,250,5,186,0,19,0,0,1,23,62,1,51,50,22,21,17,35,17,52, +38,35,34,6,7,17,35,17,1,2,31,36,110,70,122,135,180,71,65,53,72,19,180,5,171, +120,64,71,151,156,254,4,1,219,102,91,54,47,253,201,3,32,0,2,0,152,255,236,4, +147,4,78,0,21,0,30,0,0,37,14,1,35,34,0,53,52,0,51,50,0,29,1,33,17,30,1,51,50, +54,55,1,34,6,7,17,33,17,46,1,4,22,87,188,95,218,254,206,1,67,201,207,1,32,253, +0,55,141,77,95,186,87,254,144,74,141,58,2,28,54,139,94,55,59,1,73,232,226,1, +79,254,202,231,47,254,184,53,57,60,62,3,42,65,57,254,235,1,30,52,61,0,0,2,0, +105,4,111,2,206,5,197,0,5,0,11,0,0,1,19,51,21,3,35,5,51,53,55,35,7,1,150,102, +210,229,83,254,211,189,81,108,162,4,140,1,57,21,254,193,2,137,204,198,0,0,4,0, +124,255,235,5,131,5,197,0,29,0,43,0,57,0,61,0,0,1,23,22,6,35,34,38,61,1,52,54, +51,50,22,15,1,35,52,38,35,34,6,29,1,20,22,51,50,54,53,1,20,22,51,50,54,61,1, +52,38,35,34,6,21,51,52,54,51,50,22,29,1,20,6,35,34,38,53,19,39,1,23,2,165,2,4, +150,126,129,154,153,128,126,152,4,2,138,70,64,65,70,71,66,63,69,1,14,165,138, +135,164,165,136,137,164,146,81,74,73,82,80,73,76,81,203,109,253,57,109,4,32,6, +105,145,172,127,77,127,174,148,103,6,57,78,105,74,77,74,103,80,54,252,247,128, +172,172,128,78,127,173,173,127,74,104,104,74,78,75,103,103,75,3,201,67,251, +142,67,0,0,0,255,255,0,169,0,0,8,78,5,193,0,34,0,46,0,0,0,35,0,119,5,35,255, +252,0,3,0,13,5,32,255,21,0,2,0,106,255,237,3,115,5,197,0,27,0,40,0,0,5,7,6,38, +61,1,14,1,35,53,50,54,55,17,52,54,51,50,22,29,1,20,2,7,21,20,22,51,3,53,52,38, +35,34,6,21,17,23,62,1,53,2,206,6,199,205,49,101,52,55,101,46,159,139,122,155, +203,175,96,117,32,44,36,51,50,6,85,90,13,2,4,239,211,12,12,12,180,13,13,1,217, +177,202,172,144,42,158,254,174,100,92,145,146,3,209,44,76,78,109,108,254,155, +1,64,204,109,0,0,0,3,0,164,255,235,6,17,5,176,0,10,0,19,0,43,0,0,1,17,35,17, +33,50,4,21,20,4,35,39,51,50,54,53,52,38,43,1,37,17,51,21,35,17,20,22,51,50,54, +55,23,14,1,35,34,38,53,17,35,53,51,17,1,105,197,1,98,232,1,4,254,252,232,157, +157,147,147,147,147,157,3,208,205,205,63,52,17,41,16,27,23,86,42,119,143,171, +171,2,52,253,204,5,176,249,197,199,247,155,167,122,123,170,42,254,251,146,253, +111,76,62,8,6,135,18,23,145,155,2,145,146,1,5,0,2,0,98,255,235,4,126,6,24,0, +25,0,39,0,0,1,35,17,35,39,14,1,35,34,2,61,1,16,18,51,50,22,23,53,33,53,33,17, +51,17,51,1,20,22,51,50,54,55,17,46,1,35,34,6,21,4,126,137,151,30,53,156,103, +198,224,223,201,95,147,52,255,0,1,0,197,137,252,169,134,141,88,120,38,38,121, +85,142,135,4,112,251,144,137,78,80,1,31,234,21,1,5,1,64,70,67,171,154,1,14, +254,242,252,234,164,197,80,72,1,249,67,79,234,187,255,255,0,161,0,0,3,33,0, +202,0,38,0,14,0,0,0,7,0,14,1,187,0,0,255,255,0,129,4,164,2,216,5,176,2,6,0, +154,0,0,255,255,127,255,127,255,128,1,128,1,2,6,0,3,0,0,0,2,0,34,0,0,4,235,5, +176,0,13,0,27,0,0,51,17,35,53,51,17,33,32,0,17,21,16,0,33,19,33,17,33,50,18, +61,1,52,2,35,33,17,33,169,135,135,1,202,1,29,1,91,254,165,254,227,117,254,134, +1,5,202,233,233,202,254,251,1,122,2,151,155,2,126,254,161,254,234,199,254,233, +254,163,2,151,254,3,1,10,208,201,206,1,10,254,29,0,0,0,0,2,0,34,0,0,4,235,5, +176,0,13,0,27,0,0,51,17,35,53,51,17,33,32,0,17,21,16,0,33,19,33,17,33,50,18, +61,1,52,2,35,33,17,33,169,135,135,1,202,1,29,1,91,254,165,254,227,117,254,134, +1,5,202,233,233,202,254,251,1,122,2,151,155,2,126,254,161,254,234,199,254,233, +254,163,2,151,254,3,1,10,208,201,206,1,10,254,29,0,0,0,0,1,0,18,0,0,4,0,6,24, +0,27,0,0,1,33,17,62,1,51,50,22,21,17,35,17,52,38,35,34,6,7,17,35,17,35,53,51, +53,51,21,33,2,216,254,124,56,163,99,173,193,197,115,114,88,130,40,197,125,125, +197,1,132,4,207,254,218,78,87,208,216,253,90,2,168,134,128,69,62,252,213,4, +207,155,174,174,0,0,0,1,0,37,0,0,4,164,5,176,0,15,0,0,1,33,17,35,17,35,53,51, +53,33,53,33,21,33,21,33,3,199,254,253,197,254,254,254,38,4,127,254,32,1,3,3, +156,252,100,3,156,155,222,155,155,222,255,255,0,167,2,26,2,245,2,180,2,6,0,13, +0,0,255,255,0,43,0,0,4,227,7,75,2,38,0,33,0,0,0,7,0,64,0,241,1,93,255,255,0, +43,0,0,4,227,7,71,2,38,0,33,0,0,0,7,0,113,1,171,1,89,255,255,0,43,0,0,4,227,7, +72,2,38,0,33,0,0,0,7,0,152,0,171,1,93,255,255,0,43,0,0,4,227,7,84,2,38,0,33,0, +0,0,7,0,158,0,166,1,97,255,255,0,43,0,0,4,227,7,13,2,38,0,33,0,0,0,7,0,102,0, +134,1,93,255,255,0,43,0,0,4,227,7,113,2,38,0,33,0,0,0,7,0,156,1,50,1,172,255, +255,0,43,0,0,4,227,7,113,2,38,0,33,0,0,0,39,0,156,1,50,1,172,0,7,0,113,1,171, +1,89,255,255,0,118,254,68,4,191,5,197,2,38,0,35,0,0,0,7,0,117,1,206,255,247, +255,255,0,163,0,0,4,36,7,75,2,38,0,37,0,0,0,7,0,64,0,205,1,93,255,255,0,163,0, +0,4,36,7,71,2,38,0,37,0,0,0,7,0,113,1,135,1,89,255,255,0,163,0,0,4,36,7,72,2, +38,0,37,0,0,0,7,0,152,0,135,1,93,255,255,0,163,0,0,4,36,7,13,2,38,0,37,0,0,0, +7,0,102,0,98,1,93,255,255,255,221,0,0,1,132,7,75,2,38,0,41,0,0,0,7,0,64,255, +139,1,93,255,255,0,190,0,0,2,104,7,71,2,38,0,41,0,0,0,7,0,113,0,68,1,89,255, +255,255,179,0,0,2,146,7,72,2,38,0,41,0,0,0,7,0,152,255,69,1,93,255,255,255, +192,0,0,2,133,7,13,2,38,0,41,0,0,0,7,0,102,255,32,1,93,255,255,0,169,0,0,4, +246,7,84,2,38,0,46,0,0,0,7,0,158,0,236,1,97,255,255,0,113,255,235,5,2,7,96,2, +38,0,47,0,0,0,7,0,64,1,36,1,114,255,255,0,113,255,235,5,2,7,92,2,38,0,47,0,0, +0,7,0,113,1,222,1,110,255,255,0,113,255,235,5,2,7,93,2,38,0,47,0,0,0,7,0,152, +0,222,1,114,255,255,0,113,255,235,5,2,7,105,2,38,0,47,0,0,0,7,0,158,0,217,1, +118,255,255,0,113,255,235,5,2,7,34,2,38,0,47,0,0,0,7,0,102,0,185,1,114,255, +255,0,147,255,235,4,220,7,75,2,38,0,53,0,0,0,7,0,64,1,34,1,93,255,255,0,147, +255,235,4,220,7,71,2,38,0,53,0,0,0,7,0,113,1,220,1,89,255,255,0,147,255,235,4, +220,7,72,2,38,0,53,0,0,0,7,0,152,0,220,1,93,255,255,0,147,255,235,4,220,7,13, +2,38,0,53,0,0,0,7,0,102,0,183,1,93,255,255,0,40,0,0,4,226,7,70,2,38,0,57,0,0, +0,7,0,113,1,169,1,88,255,255,0,106,255,235,3,243,6,9,2,38,0,65,0,0,0,7,0,64,0, +148,0,27,255,255,0,106,255,235,3,243,6,5,2,38,0,65,0,0,0,7,0,113,1,78,0,23, +255,255,0,106,255,235,3,243,6,6,2,38,0,65,0,0,0,6,0,152,78,27,0,0,255,255,0, +106,255,235,3,243,6,18,2,38,0,65,0,0,0,6,0,158,73,31,0,0,255,255,0,106,255, +235,3,243,5,203,2,38,0,65,0,0,0,6,0,102,41,27,0,0,255,255,0,106,255,235,3,243, +6,47,2,38,0,65,0,0,0,7,0,156,0,213,0,106,255,255,0,106,255,235,3,243,6,47,2, +38,0,65,0,0,0,39,0,156,0,213,0,106,0,7,0,113,1,78,0,23,255,255,0,97,254,68,3, +217,4,78,2,38,0,67,0,0,0,7,0,117,1,75,255,247,255,255,0,97,255,235,3,226,6,10, +2,38,0,69,0,0,0,7,0,64,0,150,0,28,255,255,0,97,255,235,3,226,6,6,2,38,0,69,0, +0,0,7,0,113,1,80,0,24,255,255,0,97,255,235,3,226,6,7,2,38,0,69,0,0,0,6,0,152, +80,28,0,0,255,255,0,97,255,235,3,226,5,204,2,38,0,69,0,0,0,6,0,102,43,28,0,0, +255,255,255,184,0,0,1,94,5,244,2,38,0,136,0,0,0,7,0,64,255,102,0,6,255,255,0, +153,0,0,2,67,5,240,2,38,0,136,0,0,0,6,0,113,31,2,0,0,255,255,255,142,0,0,2, +109,5,241,2,38,0,136,0,0,0,7,0,152,255,32,0,6,255,255,255,155,0,0,2,96,5,182, +2,38,0,136,0,0,0,7,0,102,254,251,0,6,255,255,0,143,0,0,3,253,6,18,2,38,0,78,0, +0,0,6,0,158,96,31,0,0,255,255,0,97,255,235,4,42,6,9,2,38,0,79,0,0,0,7,0,64,0, +175,0,27,255,255,0,97,255,235,4,42,6,5,2,38,0,79,0,0,0,7,0,113,1,105,0,23,255, +255,0,97,255,235,4,42,6,6,2,38,0,79,0,0,0,6,0,152,105,27,0,0,255,255,0,97,255, +235,4,42,6,18,2,38,0,79,0,0,0,6,0,158,100,31,0,0,255,255,0,97,255,235,4,42,5, +203,2,38,0,79,0,0,0,6,0,102,68,27,0,0,255,255,0,139,255,235,3,252,5,244,2,38, +0,85,0,0,0,7,0,64,0,173,0,6,255,255,0,139,255,235,3,252,5,240,2,38,0,85,0,0,0, +7,0,113,1,103,0,2,255,255,0,139,255,235,3,252,5,241,2,38,0,85,0,0,0,6,0,152, +103,6,0,0,255,255,0,139,255,235,3,252,5,182,2,38,0,85,0,0,0,6,0,102,66,6,0,0, +255,255,0,26,254,75,3,232,5,240,2,38,0,89,0,0,0,7,0,113,1,37,0,2,255,255,0,26, +254,75,3,232,5,182,2,38,0,89,0,0,0,6,0,102,0,6,0,0,255,255,0,43,0,0,4,227,6, +250,2,38,0,33,0,0,0,7,0,108,0,170,1,74,255,255,0,106,255,235,3,243,5,184,2,38, +0,65,0,0,0,6,0,108,77,8,0,0,255,255,0,43,0,0,4,227,7,78,2,38,0,33,0,0,0,7,0, +154,0,220,1,158,255,255,0,106,255,235,3,243,6,12,2,38,0,65,0,0,0,6,0,154,127, +92,0,0,255,255,0,43,254,98,5,39,5,176,2,38,0,33,0,0,0,7,0,157,3,71,0,0,255, +255,0,106,254,98,4,57,4,78,2,38,0,65,0,0,0,7,0,157,2,89,0,0,255,255,0,118,255, +235,4,191,7,92,2,38,0,35,0,0,0,7,0,113,1,201,1,110,255,255,0,97,255,235,3,217, +6,5,2,38,0,67,0,0,0,7,0,113,1,70,0,23,255,255,0,118,255,235,4,191,7,93,2,38,0, +35,0,0,0,7,0,152,0,201,1,114,255,255,0,97,255,235,3,217,6,6,2,38,0,67,0,0,0,6, +0,152,70,27,0,0,255,255,0,118,255,235,4,191,7,34,2,38,0,35,0,0,0,7,0,155,1, +153,1,114,255,255,0,97,255,235,3,217,5,203,2,38,0,67,0,0,0,7,0,155,1,22,0,27, +255,255,0,118,255,235,4,191,7,94,2,38,0,35,0,0,0,7,0,153,0,224,1,115,255,255, +0,97,255,235,3,217,6,7,2,38,0,67,0,0,0,6,0,153,93,28,0,0,255,255,0,169,0,0,4, +235,7,73,2,38,0,36,0,0,0,7,0,153,0,156,1,94,255,255,0,98,255,235,3,245,6,24,2, +6,0,68,0,0,255,255,0,163,0,0,4,36,6,250,2,38,0,37,0,0,0,7,0,108,0,134,1,74, +255,255,0,97,255,235,3,226,5,185,2,38,0,69,0,0,0,6,0,108,79,9,0,0,255,255,0, +163,0,0,4,36,7,78,2,38,0,37,0,0,0,7,0,154,0,184,1,158,255,255,0,97,255,235,3, +226,6,13,2,38,0,69,0,0,0,7,0,154,0,129,0,93,255,255,0,163,0,0,4,36,7,13,2,38, +0,37,0,0,0,7,0,155,1,87,1,93,255,255,0,97,255,235,3,226,5,204,2,38,0,69,0,0,0, +7,0,155,1,32,0,28,255,255,0,163,254,98,4,36,5,176,2,38,0,37,0,0,0,7,0,157,1, +56,0,0,255,255,0,97,254,98,3,226,4,78,2,38,0,69,0,0,0,7,0,157,1,31,0,0,255, +255,0,163,0,0,4,36,7,73,2,38,0,37,0,0,0,7,0,153,0,158,1,94,255,255,0,97,255, +235,3,226,6,8,2,38,0,69,0,0,0,6,0,153,103,29,0,0,255,255,0,121,255,235,4,193, +7,93,2,38,0,39,0,0,0,7,0,152,0,192,1,114,255,255,0,108,254,75,4,0,6,6,2,38,0, +71,0,0,0,6,0,152,90,27,0,0,255,255,0,121,255,235,4,193,7,99,2,38,0,39,0,0,0,7, +0,154,0,241,1,179,255,255,0,108,254,75,4,0,6,12,2,38,0,71,0,0,0,7,0,154,0,139, +0,92,255,255,0,121,255,235,4,193,7,34,2,38,0,39,0,0,0,7,0,155,1,144,1,114,255, +255,0,108,254,75,4,0,5,203,2,38,0,71,0,0,0,7,0,155,1,42,0,27,255,255,0,121, +253,207,4,193,5,197,2,38,0,39,0,0,0,7,1,110,1,157,254,162,255,255,0,108,254, +75,4,0,6,112,2,38,0,71,0,0,0,7,1,169,1,46,0,89,255,255,0,169,0,0,4,246,7,72,2, +38,0,40,0,0,0,7,0,152,0,234,1,93,255,255,255,127,0,0,4,0,7,71,2,38,0,72,0,0,0, +7,0,152,255,17,1,92,255,255,255,199,0,0,2,125,7,84,2,38,0,41,0,0,0,7,0,158, +255,64,1,97,255,255,255,162,0,0,2,88,5,253,2,38,0,136,0,0,0,7,0,158,255,27,0, +10,255,255,255,171,0,0,2,154,6,250,2,38,0,41,0,0,0,7,0,108,255,68,1,74,255, +255,255,134,0,0,2,117,5,164,2,38,0,136,0,0,0,7,0,108,255,31,255,244,255,255, +255,247,0,0,2,78,7,78,2,38,0,41,0,0,0,7,0,154,255,118,1,158,255,255,255,210,0, +0,2,41,5,247,2,38,0,136,0,0,0,7,0,154,255,81,0,71,255,255,0,57,254,98,2,7,5, +176,2,38,0,41,0,0,0,6,0,157,39,0,0,0,255,255,0,27,254,98,1,233,6,24,2,38,0,73, +0,0,0,6,0,157,9,0,0,0,255,255,0,180,0,0,1,142,7,13,2,38,0,41,0,0,0,7,0,155,0, +20,1,93,255,255,0,190,255,235,5,253,5,176,0,38,0,41,0,0,0,7,0,42,2,65,0,0,255, +255,0,159,254,75,3,118,6,24,0,38,0,73,0,0,0,7,0,74,2,4,0,0,255,255,0,74,255, +235,4,193,7,60,2,38,0,42,0,0,0,7,0,152,1,116,1,81,255,255,255,160,254,75,2, +127,5,222,2,38,0,151,0,0,0,7,0,152,255,50,255,243,255,255,0,163,253,224,4,251, +5,176,2,38,0,43,0,0,0,7,1,110,1,106,254,179,255,255,0,144,253,226,4,11,6,24,2, +38,0,75,0,0,0,7,1,110,1,23,254,181,255,255,0,168,0,0,4,51,7,8,2,38,0,44,0,0,0, +7,0,113,0,43,1,26,255,255,0,159,0,0,2,73,7,83,2,38,0,76,0,0,0,7,0,113,0,37,1, +101,255,255,0,168,253,226,4,51,5,176,2,38,0,44,0,0,0,7,1,110,1,104,254,181, +255,255,0,121,253,226,1,104,6,24,2,38,0,76,0,0,0,7,1,110,0,1,254,181,255,255, +0,168,0,0,4,51,5,176,2,6,0,44,0,0,255,255,0,159,0,0,1,100,6,24,2,6,0,76,0,0, +255,255,0,156,0,0,4,51,6,206,2,38,0,44,0,0,0,7,0,155,255,252,1,30,255,255,0, +150,0,0,1,112,7,25,2,38,0,76,0,0,0,7,0,155,255,246,1,105,255,255,0,169,0,0,4, +246,7,71,2,38,0,46,0,0,0,7,0,113,1,241,1,89,255,255,0,143,0,0,3,253,6,5,2,38, +0,78,0,0,0,7,0,113,1,101,0,23,255,255,0,169,253,226,4,246,5,176,2,38,0,46,0,0, +0,7,1,110,1,205,254,181,255,255,0,143,253,226,3,253,4,78,2,38,0,78,0,0,0,7,1, +110,1,65,254,181,255,255,0,169,0,0,4,246,7,73,2,38,0,46,0,0,0,7,0,153,1,8,1, +94,255,255,0,143,0,0,3,253,6,7,2,38,0,78,0,0,0,6,0,153,124,28,0,0,255,255,0, +143,0,0,4,223,5,179,2,38,0,78,0,0,0,7,1,110,3,120,4,192,255,255,0,113,255,235, +5,2,7,15,2,38,0,47,0,0,0,7,0,108,0,221,1,95,255,255,0,97,255,235,4,42,5,184,2, +38,0,79,0,0,0,6,0,108,104,8,0,0,255,255,0,113,255,235,5,2,7,99,2,38,0,47,0,0, +0,7,0,154,1,15,1,179,255,255,0,97,255,235,4,42,6,12,2,38,0,79,0,0,0,7,0,154,0, +154,0,92,255,255,0,113,255,235,5,2,7,96,2,38,0,47,0,0,0,7,0,159,1,107,1,114, +255,255,0,97,255,235,4,64,6,9,2,38,0,79,0,0,0,7,0,159,0,246,0,27,255,255,0, +165,0,0,4,213,7,71,2,38,0,50,0,0,0,7,0,113,1,129,1,89,255,255,0,143,0,0,2,228, +6,5,2,38,0,82,0,0,0,7,0,113,0,192,0,23,255,255,0,165,253,226,4,213,5,175,2,38, +0,50,0,0,0,7,1,110,1,93,254,181,255,255,0,119,253,226,2,170,4,78,2,38,0,82,0, +0,0,7,1,110,255,255,254,181,255,255,0,165,0,0,4,213,7,73,2,38,0,50,0,0,0,7,0, +153,0,152,1,94,255,255,0,45,0,0,3,14,6,7,2,38,0,82,0,0,0,6,0,153,216,28,0,0, +255,255,0,121,255,235,4,131,7,92,2,38,0,51,0,0,0,7,0,113,1,161,1,110,255,255, +0,103,255,235,3,201,6,5,2,38,0,83,0,0,0,7,0,113,1,58,0,23,255,255,0,121,255, +235,4,131,7,93,2,38,0,51,0,0,0,7,0,152,0,161,1,114,255,255,0,103,255,235,3, +201,6,6,2,38,0,83,0,0,0,6,0,152,58,27,0,0,255,255,0,121,254,68,4,131,5,197,2, +38,0,51,0,0,0,7,0,117,1,166,255,247,255,255,0,103,254,69,3,201,4,78,2,38,0,83, +0,0,0,7,0,117,1,63,255,248,255,255,0,121,255,235,4,131,7,94,2,38,0,51,0,0,0,7, +0,153,0,184,1,115,255,255,0,103,255,235,3,201,6,7,2,38,0,83,0,0,0,6,0,153,81, +28,0,0,255,255,0,37,253,226,4,164,5,176,2,38,0,52,0,0,0,7,1,110,1,100,254,181, +255,255,0,26,253,216,2,98,5,63,2,38,0,84,0,0,0,7,1,110,0,191,254,171,255,255, +0,37,0,0,4,164,7,72,2,38,0,52,0,0,0,7,0,153,0,159,1,93,255,255,0,26,255,235,2, +98,5,63,2,6,0,84,0,0,255,255,0,147,255,235,4,220,7,84,2,38,0,53,0,0,0,7,0,158, +0,215,1,97,255,255,0,139,255,235,3,252,5,253,2,38,0,85,0,0,0,6,0,158,98,10,0, +0,255,255,0,147,255,235,4,220,6,250,2,38,0,53,0,0,0,7,0,108,0,219,1,74,255, +255,0,139,255,235,3,252,5,164,2,38,0,85,0,0,0,6,0,108,102,244,0,0,255,255,0, +147,255,235,4,220,7,78,2,38,0,53,0,0,0,7,0,154,1,13,1,158,255,255,0,139,255, +235,3,252,5,247,2,38,0,85,0,0,0,7,0,154,0,152,0,71,255,255,0,147,255,235,4, +220,7,113,2,38,0,53,0,0,0,7,0,156,1,99,1,172,255,255,0,139,255,235,3,252,6,26, +2,38,0,85,0,0,0,7,0,156,0,238,0,85,255,255,0,147,255,235,4,220,7,75,2,38,0,53, +0,0,0,7,0,159,1,105,1,93,255,255,0,139,255,235,4,62,5,244,2,38,0,85,0,0,0,7,0, +159,0,244,0,6,255,255,0,147,254,98,4,220,5,176,2,38,0,53,0,0,0,7,0,157,1,188, +0,0,255,255,0,139,254,98,4,65,4,58,2,38,0,85,0,0,0,7,0,157,2,97,0,0,255,255,0, +37,0,0,6,191,7,72,2,38,0,55,0,0,0,7,0,152,1,148,1,93,255,255,0,45,0,0,5,220,5, +241,2,38,0,87,0,0,0,7,0,152,1,40,0,6,255,255,0,40,0,0,4,226,7,71,2,38,0,57,0, +0,0,7,0,152,0,169,1,92,255,255,0,26,254,75,3,232,5,241,2,38,0,89,0,0,0,6,0, +152,37,6,0,0,255,255,0,40,0,0,4,226,7,12,2,38,0,57,0,0,0,7,0,102,0,132,1,92, +255,255,0,97,0,0,4,109,7,71,2,38,0,58,0,0,0,7,0,113,1,132,1,89,255,255,0,94,0, +0,3,186,5,240,2,38,0,90,0,0,0,7,0,113,1,47,0,2,255,255,0,97,0,0,4,109,7,13,2, +38,0,58,0,0,0,7,0,155,1,84,1,93,255,255,0,94,0,0,3,186,5,182,2,38,0,90,0,0,0, +7,0,155,0,255,0,6,255,255,0,97,0,0,4,109,7,73,2,38,0,58,0,0,0,7,0,153,0,155,1, +94,255,255,0,94,0,0,3,186,5,242,2,38,0,90,0,0,0,6,0,153,70,7,0,0,255,255,0,14, +0,0,7,132,7,71,2,38,0,125,0,0,0,7,0,113,2,238,1,89,255,255,0,88,255,235,6,154, +6,6,2,38,0,130,0,0,0,7,0,113,2,156,0,24,255,255,0,108,255,162,4,253,7,133,2, +38,0,127,0,0,0,7,0,113,1,216,1,151,255,255,0,97,255,121,4,42,6,111,2,38,0,133, +0,0,0,7,0,113,1,105,0,129,255,255,0,121,253,206,4,131,5,197,2,38,0,51,0,0,0,7, +1,110,1,125,254,161,255,255,0,103,253,207,3,201,4,78,2,38,0,83,0,0,0,7,1,110, +1,22,254,162,255,255,0,43,0,0,4,227,7,72,2,38,0,33,0,0,0,7,0,165,1,140,1,76, +255,255,0,163,0,0,4,36,7,72,2,38,0,37,0,0,0,7,0,165,1,104,1,76,255,255,0,169, +0,0,4,246,7,72,2,38,0,40,0,0,0,7,0,165,1,203,1,76,255,255,0,185,0,0,1,137,7, +72,2,38,0,41,0,0,0,7,0,165,0,37,1,76,255,255,0,113,255,235,5,2,7,93,2,38,0,47, +0,0,0,7,0,165,1,191,1,97,255,255,0,40,0,0,4,226,7,71,2,38,0,57,0,0,0,7,0,165, +1,138,1,75,255,255,0,112,0,0,4,208,7,114,2,38,0,177,0,0,0,7,0,165,255,221,1, +118,255,255,255,204,255,235,2,144,6,92,2,38,0,186,0,0,0,7,0,166,255,43,255, +183,255,255,0,43,0,0,4,227,5,176,2,6,0,33,0,0,255,255,0,163,0,0,4,198,5,176,2, +6,0,34,0,0,255,255,0,163,0,0,4,36,5,176,2,6,0,37,0,0,255,255,0,97,0,0,4,109,5, +176,2,6,0,58,0,0,255,255,0,169,0,0,4,246,5,176,2,6,0,40,0,0,255,255,0,190,0,0, +1,132,5,176,2,6,0,41,0,0,255,255,0,163,0,0,4,251,5,176,2,6,0,43,0,0,255,255,0, +163,0,0,6,65,5,176,2,6,0,45,0,0,255,255,0,169,0,0,4,246,5,176,2,6,0,46,0,0, +255,255,0,113,255,235,5,2,5,197,2,6,0,47,0,0,255,255,0,163,0,0,4,188,5,176,2, +6,0,48,0,0,255,255,0,37,0,0,4,164,5,176,2,6,0,52,0,0,255,255,0,40,0,0,4,226,5, +176,2,6,0,57,0,0,255,255,0,66,0,0,4,214,5,176,2,6,0,56,0,0,255,255,255,192,0, +0,2,133,7,13,2,38,0,41,0,0,0,7,0,102,255,32,1,93,255,255,0,40,0,0,4,226,7,12, +2,38,0,57,0,0,0,7,0,102,0,132,1,92,255,255,0,98,255,235,4,128,6,6,2,38,0,178, +0,0,0,7,0,165,1,117,0,10,255,255,0,98,255,237,3,233,6,5,2,38,0,182,0,0,0,7,0, +165,1,43,0,9,255,255,0,143,254,97,3,245,6,6,2,38,0,184,0,0,0,7,0,165,1,70,0, +10,255,255,0,197,255,235,2,115,5,242,2,38,0,186,0,0,0,6,0,165,50,246,0,0,255, +255,0,141,255,235,4,38,6,92,2,38,0,194,0,0,0,6,0,166,84,183,0,0,255,255,0,153, +0,0,4,64,4,58,2,6,0,137,0,0,255,255,0,97,255,235,4,42,4,78,2,6,0,79,0,0,255, +255,0,153,254,96,3,242,4,58,2,6,0,114,0,0,255,255,0,46,0,0,3,228,4,58,2,6,0, +86,0,0,255,255,255,205,255,235,2,146,5,182,2,38,0,186,0,0,0,7,0,102,255,45,0, +6,255,255,0,141,255,235,4,38,5,182,2,38,0,194,0,0,0,6,0,102,86,6,0,0,255,255, +0,97,255,235,4,42,6,6,2,38,0,79,0,0,0,7,0,165,1,74,0,10,255,255,0,141,255,235, +4,38,5,242,2,38,0,194,0,0,0,7,0,165,1,92,255,246,255,255,0,108,255,235,6,96,5, +242,2,38,0,197,0,0,0,7,0,165,2,106,255,246,255,255,0,163,0,0,4,36,7,13,2,38,0, +37,0,0,0,7,0,102,0,98,1,93,255,255,0,163,0,0,4,32,7,71,2,38,0,168,0,0,0,7,0, +113,1,133,1,89,0,1,0,121,255,235,4,131,5,197,0,39,0,0,1,52,38,39,46,1,53,52, +36,51,50,0,15,1,35,52,38,35,34,6,21,20,22,23,30,1,21,20,4,35,34,36,63,1,51,20, +22,51,50,54,3,190,144,185,220,243,1,4,212,230,1,17,4,3,188,173,135,137,138, +155,179,225,233,254,233,221,211,254,189,5,2,188,208,131,138,165,1,130,95,118, +48,54,214,163,172,227,254,251,174,6,124,162,133,108,96,127,47,59,204,160,178, +231,236,198,6,137,149,143,0,0,255,255,0,190,0,0,1,132,5,176,2,6,0,41,0,0,255, +255,255,192,0,0,2,133,7,13,2,38,0,41,0,0,0,7,0,102,255,32,1,93,255,255,0,74, +255,235,3,188,5,176,2,6,0,42,0,0,255,255,0,131,4,228,2,36,5,238,2,6,0,113,0,0, +255,255,0,66,255,235,4,200,7,78,2,38,0,210,0,0,0,7,0,154,0,218,1,158,255,255, +0,163,0,0,4,251,5,176,2,6,0,43,0,0,255,255,0,43,0,0,4,227,5,176,2,6,0,33,0,0, +255,255,0,163,0,0,4,198,5,176,2,6,0,34,0,0,255,255,0,163,0,0,4,32,5,176,2,6,0, +168,0,0,255,255,0,163,0,0,4,36,5,176,2,6,0,37,0,0,255,255,0,173,0,0,4,250,7, +78,2,38,0,208,0,0,0,7,0,154,1,42,1,158,255,255,0,163,0,0,6,65,5,176,2,6,0,45, +0,0,255,255,0,169,0,0,4,246,5,176,2,6,0,40,0,0,255,255,0,113,255,235,5,2,5, +197,2,6,0,47,0,0,255,255,0,168,0,0,4,247,5,176,2,6,0,173,0,0,255,255,0,163,0, +0,4,188,5,176,2,6,0,48,0,0,255,255,0,118,255,235,4,191,5,197,2,6,0,35,0,0,255, +255,0,37,0,0,4,164,5,176,2,6,0,52,0,0,255,255,0,84,0,0,5,77,5,176,2,6,0,175,0, +0,255,255,0,66,0,0,4,214,5,176,2,6,0,56,0,0,255,255,0,106,255,235,3,243,4,78, +2,6,0,65,0,0,255,255,0,97,255,235,3,226,4,78,2,6,0,69,0,0,255,255,0,143,0,0,3, +252,5,247,2,38,0,227,0,0,0,7,0,154,0,153,0,71,255,255,0,97,255,235,4,42,4,78, +2,6,0,79,0,0,255,255,0,143,254,96,4,41,4,78,2,6,0,80,0,0,0,1,0,97,255,235,3, +217,4,78,0,29,0,0,37,50,54,53,51,23,22,6,35,34,2,61,1,52,18,51,50,22,15,1,35, +52,38,35,34,6,29,1,20,22,2,61,91,136,178,3,4,248,164,228,248,249,227,181,231, +4,2,179,129,98,145,133,131,133,121,88,6,140,217,1,54,231,42,229,1,55,224,163, +6,99,139,225,160,42,163,224,0,0,255,255,0,26,254,75,3,232,4,58,2,6,0,89,0,0, +255,255,0,46,0,0,3,212,4,58,2,6,0,88,0,0,255,255,0,97,255,235,3,226,5,204,2, +38,0,69,0,0,0,6,0,102,43,28,0,0,255,255,0,143,0,0,2,237,5,240,2,38,0,223,0,0, +0,7,0,113,0,201,0,2,255,255,0,103,255,235,3,201,4,78,2,6,0,83,0,0,255,255,0, +159,0,0,1,100,6,24,2,6,0,73,0,0,255,255,255,155,0,0,2,96,5,182,2,38,0,136,0,0, +0,7,0,102,254,251,0,6,255,255,255,190,254,75,1,114,6,24,2,6,0,74,0,0,255,255, +0,153,0,0,4,64,5,239,2,38,0,228,0,0,0,7,0,113,1,62,0,1,255,255,0,26,254,75,3, +232,5,247,2,38,0,89,0,0,0,6,0,154,86,71,0,0,255,255,0,37,0,0,6,191,7,75,2,38, +0,55,0,0,0,7,0,64,1,218,1,93,255,255,0,45,0,0,5,220,5,244,2,38,0,87,0,0,0,7,0, +64,1,110,0,6,255,255,0,37,0,0,6,191,7,71,2,38,0,55,0,0,0,7,0,113,2,148,1,89, +255,255,0,45,0,0,5,220,5,240,2,38,0,87,0,0,0,7,0,113,2,40,0,2,255,255,0,37,0, +0,6,191,7,13,2,38,0,55,0,0,0,7,0,102,1,111,1,93,255,255,0,45,0,0,5,220,5,182, +2,38,0,87,0,0,0,7,0,102,1,3,0,6,255,255,0,40,0,0,4,226,7,74,2,38,0,57,0,0,0,7, +0,64,0,239,1,92,255,255,0,26,254,75,3,232,5,244,2,38,0,89,0,0,0,6,0,64,107,6, +0,0,255,255,0,126,3,183,1,68,5,176,2,6,0,7,0,0,255,255,0,126,3,168,2,121,5, +176,2,6,3,177,0,0,255,255,0,171,0,0,3,140,5,176,0,38,3,176,0,0,0,7,3,176,2,27, +0,0,255,255,0,28,0,0,3,212,6,45,0,38,0,70,0,0,0,7,0,73,2,112,0,0,255,255,0,28, +0,0,3,212,6,45,0,38,0,70,0,0,0,7,0,76,2,112,0,0,255,255,255,158,254,75,2,127, +5,223,2,38,0,151,0,0,0,7,0,153,255,73,255,244,255,255,0,160,3,149,1,102,5,176, +2,6,1,8,0,0,255,255,0,163,0,0,6,65,7,71,2,38,0,45,0,0,0,7,0,113,2,150,1,89, +255,255,0,143,0,0,6,111,6,5,2,38,0,77,0,0,0,7,0,113,2,183,0,23,255,255,0,43,0, +0,4,227,7,113,2,38,0,33,0,0,0,7,0,156,1,50,1,172,255,255,0,106,255,235,3,243, +6,47,2,38,0,65,0,0,0,7,0,156,0,213,0,106,255,255,0,113,255,235,5,2,7,59,2,38, +0,47,0,0,0,7,1,204,0,8,1,118,255,255,0,28,0,0,6,68,6,45,0,38,0,70,0,0,0,39,0, +70,2,112,0,0,0,7,0,73,4,224,0,0,255,255,0,28,0,0,6,68,6,45,0,38,0,70,0,0,0,39, +0,70,2,112,0,0,0,7,0,76,4,224,0,0,255,255,0,163,0,0,4,36,7,75,2,38,0,37,0,0,0, +7,0,64,0,205,1,93,255,255,0,173,0,0,4,250,7,75,2,38,0,208,0,0,0,7,0,64,1,63,1, +93,255,255,0,97,255,235,3,226,6,10,2,38,0,69,0,0,0,7,0,64,0,150,0,28,255,255, +0,143,0,0,3,252,5,244,2,38,0,227,0,0,0,7,0,64,0,174,0,6,255,255,0,87,0,0,5,27, +5,176,2,6,0,176,0,0,255,255,0,91,254,38,5,77,4,58,2,6,0,196,0,0,255,255,0,22, +0,0,5,23,7,7,2,38,1,111,0,0,0,7,0,159,1,35,1,25,255,255,0,46,0,0,4,14,5,224,2, +38,1,112,0,0,0,7,0,159,0,189,255,242,255,255,0,97,254,75,8,86,4,78,0,38,0,79, +0,0,0,7,0,89,4,110,0,0,255,255,0,113,254,75,9,99,5,197,0,38,0,47,0,0,0,7,0,89, +5,123,0,0,255,255,0,120,254,8,4,223,5,197,2,38,0,207,0,0,0,7,1,50,1,174,255, +189,255,255,0,100,254,9,3,236,4,76,2,38,0,226,0,0,0,7,1,50,1,42,255,190,255, +255,0,118,253,206,4,191,5,197,2,38,0,35,0,0,0,7,1,51,1,162,255,131,255,255,0, +97,253,206,3,217,4,78,2,38,0,67,0,0,0,7,1,51,1,31,255,131,255,255,0,40,0,0,4, +226,5,176,2,6,0,57,0,0,255,255,0,46,254,95,3,228,4,58,2,6,0,180,0,0,255,255,0, +190,0,0,1,132,5,176,2,6,0,41,0,0,255,255,0,26,0,0,6,124,7,78,2,38,0,206,0,0,0, +7,0,154,1,160,1,158,255,255,0,26,0,0,5,166,5,247,2,38,0,225,0,0,0,7,0,154,1, +52,0,71,255,255,0,190,0,0,1,132,5,176,2,6,0,41,0,0,255,255,0,43,0,0,4,227,7, +78,2,38,0,33,0,0,0,7,0,154,0,220,1,158,255,255,0,106,255,235,3,243,6,12,2,38, +0,65,0,0,0,6,0,154,127,92,0,0,255,255,0,43,0,0,4,227,7,13,2,38,0,33,0,0,0,7,0, +102,0,134,1,93,255,255,0,106,255,235,3,243,5,203,2,38,0,65,0,0,0,6,0,102,41, +27,0,0,255,255,0,14,0,0,7,132,5,176,2,6,0,125,0,0,255,255,0,88,255,235,6,154, +4,78,2,6,0,130,0,0,255,255,0,163,0,0,4,36,7,78,2,38,0,37,0,0,0,7,0,154,0,184, +1,158,255,255,0,97,255,235,3,226,6,13,2,38,0,69,0,0,0,7,0,154,0,129,0,93,255, +255,0,89,255,235,5,33,6,223,2,38,1,121,0,0,0,7,0,102,0,115,1,47,255,255,0,94, +255,236,3,223,5,204,0,47,0,69,4,64,4,58,192,1,0,6,0,102,43,28,0,0,255,255,0, +26,0,0,6,124,7,13,2,38,0,206,0,0,0,7,0,102,1,74,1,93,255,255,0,26,0,0,5,166,5, +182,2,38,0,225,0,0,0,7,0,102,0,222,0,6,255,255,0,120,255,235,4,223,7,34,2,38, +0,207,0,0,0,7,0,102,0,169,1,114,255,255,0,100,255,237,3,236,5,202,2,38,0,226, +0,0,0,6,0,102,37,26,0,0,255,255,0,173,0,0,4,250,6,250,2,38,0,208,0,0,0,7,0, +108,0,248,1,74,255,255,0,143,0,0,3,252,5,164,2,38,0,227,0,0,0,6,0,108,103,244, +0,0,255,255,0,173,0,0,4,250,7,13,2,38,0,208,0,0,0,7,0,102,0,212,1,93,255,255, +0,143,0,0,3,252,5,182,2,38,0,227,0,0,0,6,0,102,67,6,0,0,255,255,0,113,255,235, +5,2,7,34,2,38,0,47,0,0,0,7,0,102,0,185,1,114,255,255,0,97,255,235,4,42,5,203, +2,38,0,79,0,0,0,6,0,102,68,27,0,0,255,255,0,113,255,235,5,2,5,197,2,6,0,253,0, +0,255,255,0,97,255,235,4,42,4,78,2,6,0,254,0,0,255,255,0,113,255,235,5,2,7,38, +2,38,0,253,0,0,0,7,0,102,0,184,1,118,255,255,0,97,255,235,4,42,5,176,2,38,0, +254,0,0,0,6,0,102,68,0,0,0,255,255,0,181,255,236,4,255,7,35,2,38,0,218,0,0,0, +7,0,102,0,178,1,115,255,255,0,99,255,235,3,227,5,203,2,38,0,242,0,0,0,6,0,102, +33,27,0,0,255,255,0,66,255,235,4,200,6,250,2,38,0,210,0,0,0,7,0,108,0,168,1, +74,255,255,0,26,254,75,3,232,5,164,2,38,0,89,0,0,0,6,0,108,36,244,0,0,255,255, +0,66,255,235,4,200,7,13,2,38,0,210,0,0,0,7,0,102,0,132,1,93,255,255,0,26,254, +75,3,232,5,182,2,38,0,89,0,0,0,6,0,102,0,6,0,0,255,255,0,66,255,235,4,200,7, +75,2,38,0,210,0,0,0,7,0,159,1,54,1,93,255,255,0,26,254,75,3,252,5,244,2,38,0, +89,0,0,0,7,0,159,0,178,0,6,255,255,0,147,0,0,4,204,7,13,2,38,0,212,0,0,0,7,0, +102,0,174,1,93,255,255,0,115,0,0,3,220,5,182,2,38,0,236,0,0,0,6,0,102,38,6,0, +0,255,255,0,163,0,0,6,50,7,13,0,38,0,217,0,0,0,39,0,41,4,174,0,0,0,7,0,102,1, +105,1,93,255,255,0,153,0,0,5,172,5,182,0,38,0,241,0,0,0,39,0,136,4,78,0,0,0,7, +0,102,1,34,0,6,255,255,0,66,254,75,5,35,5,176,2,38,0,56,0,0,0,7,1,51,3,177,0, +0,255,255,0,46,254,75,4,62,4,58,2,38,0,88,0,0,0,7,1,51,2,204,0,0,255,255,0,98, +255,235,3,245,6,24,2,6,0,68,0,0,255,255,0,69,254,75,5,187,5,176,2,38,0,209,0, +0,0,7,1,51,4,73,0,0,255,255,0,65,254,75,4,192,4,58,2,38,0,229,0,0,0,7,1,51,3, +78,0,0,255,255,0,43,0,0,4,227,7,13,2,38,0,33,0,0,0,7,0,155,1,123,1,93,255,255, +0,106,255,235,3,243,5,203,2,38,0,65,0,0,0,7,0,155,1,30,0,27,255,255,0,43,0,0, +4,227,7,157,2,38,0,33,0,0,0,7,1,41,1,214,1,234,255,255,0,106,255,235,3,243,6, +91,2,38,0,65,0,0,0,7,1,41,1,121,0,168,255,255,0,43,0,0,5,11,7,241,2,38,0,33,0, +0,0,7,1,42,0,154,1,89,255,255,0,106,255,235,4,174,6,175,2,38,0,65,0,0,0,6,1, +42,61,23,0,0,255,255,0,0,0,0,4,227,7,224,2,38,0,33,0,0,0,7,1,43,0,171,1,72, +255,255,255,163,255,235,3,243,6,158,2,38,0,65,0,0,0,6,1,43,78,6,0,0,255,255,0, +43,0,0,4,227,8,5,2,38,0,33,0,0,0,7,1,44,0,163,1,52,255,255,0,106,255,235,4, +119,6,196,2,38,0,65,0,0,0,6,1,44,70,243,0,0,255,255,0,43,0,0,4,227,8,50,2,38, +0,33,0,0,0,7,1,45,0,167,1,54,255,255,0,106,255,235,3,243,6,241,2,38,0,65,0,0, +0,6,1,45,74,245,0,0,255,255,0,43,254,176,4,227,7,72,2,38,0,33,0,0,0,39,0,152, +0,171,1,93,0,7,0,155,1,112,249,201,255,255,0,106,254,176,3,243,6,6,2,38,0,65, +0,0,0,38,0,152,78,27,0,7,0,155,0,206,249,201,0,0,255,255,0,43,0,0,4,227,7,223, +2,38,0,33,0,0,0,7,1,46,0,210,1,84,255,255,0,106,255,235,3,243,6,157,2,38,0,65, +0,0,0,6,1,46,117,18,0,0,255,255,0,43,0,0,4,227,8,34,2,38,0,33,0,0,0,7,1,64,0, +214,1,122,255,255,0,106,255,235,3,243,6,224,2,38,0,65,0,0,0,6,1,64,121,56,0,0, +255,255,0,43,0,0,4,227,8,115,2,38,0,33,0,0,0,7,1,47,0,214,1,73,255,255,0,106, +255,235,3,243,7,49,2,38,0,65,0,0,0,6,1,47,121,7,0,0,255,255,0,43,0,0,4,227,8, +37,2,38,0,33,0,0,0,7,1,48,0,214,1,81,255,255,0,106,255,235,3,243,6,227,2,38,0, +65,0,0,0,6,1,48,121,15,0,0,255,255,0,43,254,176,4,227,7,78,2,38,0,33,0,0,0,39, +0,154,0,220,1,158,0,7,0,155,1,112,249,201,255,255,0,106,254,176,3,243,6,12,2, +38,0,65,0,0,0,38,0,154,127,92,0,7,0,155,0,206,249,201,0,0,255,255,0,163,0,0,4, +36,7,13,2,38,0,37,0,0,0,7,0,155,1,87,1,93,255,255,0,97,255,235,3,226,5,204,2, +38,0,69,0,0,0,7,0,155,1,32,0,28,255,255,0,163,0,0,4,36,7,157,2,38,0,37,0,0,0, +7,1,41,1,178,1,234,255,255,0,97,255,235,3,226,6,92,2,38,0,69,0,0,0,7,1,41,1, +123,0,169,255,255,0,163,0,0,4,36,7,84,2,38,0,37,0,0,0,7,0,158,0,130,1,97,255, +255,0,97,255,235,3,226,6,19,2,38,0,69,0,0,0,6,0,158,75,32,0,0,255,255,0,163,0, +0,4,231,7,241,2,38,0,37,0,0,0,7,1,42,0,118,1,89,255,255,0,97,255,235,4,176,6, +176,2,38,0,69,0,0,0,6,1,42,63,24,0,0,255,255,255,220,0,0,4,36,7,224,2,38,0,37, +0,0,0,7,1,43,0,135,1,72,255,255,255,165,255,235,3,226,6,159,2,38,0,69,0,0,0,6, +1,43,80,7,0,0,255,255,0,163,0,0,4,176,8,5,2,38,0,37,0,0,0,7,1,44,0,127,1,52, +255,255,0,97,255,235,4,121,6,197,2,38,0,69,0,0,0,6,1,44,72,244,0,0,255,255,0, +163,0,0,4,36,8,50,2,38,0,37,0,0,0,7,1,45,0,131,1,54,255,255,0,97,255,235,3, +226,6,242,2,38,0,69,0,0,0,6,1,45,76,246,0,0,255,255,0,163,254,186,4,36,7,72,2, +38,0,37,0,0,0,39,0,152,0,135,1,93,0,7,0,155,1,86,249,211,255,255,0,97,254,176, +3,226,6,7,2,38,0,69,0,0,0,38,0,152,80,28,0,7,0,155,1,86,249,201,0,0,255,255,0, +190,0,0,2,3,7,157,2,38,0,41,0,0,0,7,1,41,0,111,1,234,255,255,0,153,0,0,1,222, +6,70,2,38,0,136,0,0,0,7,1,41,0,74,0,147,255,255,0,180,0,0,1,142,7,13,2,38,0, +41,0,0,0,7,0,155,0,20,1,93,255,255,0,149,254,186,1,111,6,24,2,38,0,73,0,0,0,7, +0,155,255,245,249,211,255,255,0,113,255,235,5,2,7,34,2,38,0,47,0,0,0,7,0,155, +1,174,1,114,255,255,0,97,255,235,4,42,5,203,2,38,0,79,0,0,0,7,0,155,1,57,0,27, +255,255,0,113,255,235,5,2,7,178,2,38,0,47,0,0,0,7,1,41,2,9,1,255,255,255,0,97, +255,235,4,42,6,91,2,38,0,79,0,0,0,7,1,41,1,148,0,168,255,255,0,113,255,235,5, +62,8,6,2,38,0,47,0,0,0,7,1,42,0,205,1,110,255,255,0,97,255,235,4,201,6,175,2, +38,0,79,0,0,0,6,1,42,88,23,0,0,255,255,0,51,255,235,5,2,7,245,2,38,0,47,0,0,0, +7,1,43,0,222,1,93,255,255,255,190,255,235,4,42,6,158,2,38,0,79,0,0,0,6,1,43, +105,6,0,0,255,255,0,113,255,235,5,7,8,26,2,38,0,47,0,0,0,7,1,44,0,214,1,73, +255,255,0,97,255,235,4,146,6,196,2,38,0,79,0,0,0,6,1,44,97,243,0,0,255,255,0, +113,255,235,5,2,8,71,2,38,0,47,0,0,0,7,1,45,0,218,1,75,255,255,0,97,255,235,4, +42,6,241,2,38,0,79,0,0,0,6,1,45,101,245,0,0,255,255,0,113,254,167,5,2,7,93,2, +38,0,47,0,0,0,39,0,152,0,222,1,114,0,7,0,155,1,172,249,192,255,255,0,97,254, +166,4,42,6,6,2,38,0,79,0,0,0,38,0,152,105,27,0,7,0,155,1,56,249,191,0,0,255, +255,0,108,255,235,6,49,6,253,2,38,0,147,0,0,0,7,0,113,1,224,1,15,255,255,0,97, +255,235,4,242,6,30,2,38,0,148,0,0,0,7,0,113,1,107,0,48,255,255,0,108,255,235, +6,49,7,1,2,38,0,147,0,0,0,7,0,64,1,38,1,19,255,255,0,97,255,235,4,242,6,30,2, +38,0,148,0,0,0,7,0,113,1,107,0,48,255,255,0,108,255,235,6,49,7,83,2,38,0,147, +0,0,0,7,1,41,2,11,1,160,255,255,0,97,255,235,4,242,6,116,2,38,0,148,0,0,0,7,1, +41,1,150,0,193,255,255,0,108,255,235,6,49,7,10,2,38,0,147,0,0,0,7,0,158,0,219, +1,23,255,255,0,97,255,235,4,42,6,18,2,38,0,79,0,0,0,6,0,158,100,31,0,0,255, +255,0,108,255,235,6,49,6,195,2,38,0,147,0,0,0,7,0,155,1,176,1,19,255,255,0,97, +255,235,4,242,5,228,2,38,0,148,0,0,0,7,0,155,1,59,0,52,255,255,0,147,255,235, +4,220,7,13,2,38,0,53,0,0,0,7,0,155,1,172,1,93,255,255,0,139,255,235,3,252,5, +182,2,38,0,85,0,0,0,7,0,155,1,55,0,6,255,255,0,147,255,235,4,220,7,157,2,38,0, +53,0,0,0,7,1,41,2,7,1,234,255,255,0,139,255,235,3,252,6,70,2,38,0,85,0,0,0,7, +1,41,1,146,0,147,255,255,0,147,255,235,6,88,6,244,2,38,0,149,0,0,0,7,0,113,1, +202,1,6,255,255,0,139,255,235,5,106,5,253,2,38,0,150,0,0,0,7,0,113,1,88,0,15, +255,255,0,147,255,235,6,88,6,248,2,38,0,149,0,0,0,7,0,64,1,16,1,10,255,255,0, +139,255,235,5,106,6,1,2,38,0,150,0,0,0,7,0,64,0,158,0,19,255,255,0,147,255, +235,6,88,7,74,2,38,0,149,0,0,0,7,1,41,1,245,1,151,255,255,0,139,255,235,5,106, +6,83,2,38,0,150,0,0,0,7,1,41,1,131,0,160,255,255,0,147,255,235,6,88,7,1,2,38, +0,149,0,0,0,7,0,158,0,197,1,14,255,255,0,139,255,235,5,106,6,10,2,38,0,150,0, +0,0,6,0,158,83,23,0,0,255,255,0,147,255,235,6,88,6,186,2,38,0,149,0,0,0,7,0, +155,1,154,1,10,255,255,0,139,255,235,5,106,5,195,2,38,0,150,0,0,0,7,0,155,1, +40,0,19,255,255,0,40,0,0,4,226,7,12,2,38,0,57,0,0,0,7,0,155,1,121,1,92,255, +255,0,26,254,75,3,232,5,182,2,38,0,89,0,0,0,7,0,155,0,245,0,6,255,255,0,40,0, +0,4,226,7,156,2,38,0,57,0,0,0,7,1,41,1,212,1,233,255,255,0,26,254,75,3,232,6, +70,2,38,0,89,0,0,0,7,1,41,1,80,0,147,255,255,0,40,0,0,4,226,7,83,2,38,0,57,0, +0,0,7,0,158,0,164,1,96,255,255,0,26,254,75,3,232,5,253,2,38,0,89,0,0,0,6,0, +158,32,10,0,0,255,255,0,98,255,12,4,126,6,24,2,38,1,209,0,0,0,7,0,63,0,148, +255,166,255,255,0,163,254,210,5,58,5,176,2,38,0,43,0,0,0,7,1,49,4,21,0,0,255, +255,0,71,254,210,3,209,4,58,2,38,0,233,0,0,0,7,1,49,1,216,0,0,255,255,0,169, +254,210,5,135,5,176,2,38,0,40,0,0,0,7,1,49,4,98,0,0,255,255,0,143,254,210,4, +140,4,58,2,38,0,231,0,0,0,7,1,49,3,103,0,0,255,255,0,37,254,210,4,164,5,176,2, +38,0,52,0,0,0,7,1,49,2,48,0,0,255,255,0,71,254,210,3,209,4,58,2,38,0,233,0,0, +0,7,1,49,1,216,0,0,255,255,0,66,254,210,4,240,5,176,2,38,0,56,0,0,0,7,1,49,3, +203,0,0,255,255,0,46,254,210,4,11,4,58,2,38,0,88,0,0,0,7,1,49,2,230,0,0,255, +255,0,147,254,210,5,93,5,176,2,38,0,212,0,0,0,7,1,49,4,56,0,0,255,255,0,115, +254,210,4,109,4,58,2,38,0,236,0,0,0,7,1,49,3,72,0,0,255,255,0,147,254,210,4, +204,5,176,2,38,0,212,0,0,0,7,1,49,3,21,0,0,255,255,0,115,254,210,3,220,4,58,2, +38,0,236,0,0,0,7,1,49,2,36,0,0,255,255,0,163,254,210,4,32,5,176,2,38,0,168,0, +0,0,7,1,49,0,212,0,0,255,255,0,143,254,210,2,190,4,58,2,38,0,223,0,0,0,7,1,49, +0,177,0,0,255,255,0,26,254,210,6,195,5,176,2,38,0,206,0,0,0,7,1,49,5,158,0,0, +255,255,0,26,254,210,5,202,4,58,2,38,0,225,0,0,0,7,1,49,4,165,0,0,255,255,0, +77,254,98,6,44,5,195,2,38,1,127,0,0,0,7,0,157,2,108,0,0,255,255,255,223,254, +98,4,94,4,78,2,38,1,128,0,0,0,7,0,157,1,102,0,0,255,255,0,143,0,0,4,0,6,24,2, +6,0,72,0,0,0,2,255,156,0,0,4,0,4,58,0,18,0,27,0,0,1,33,21,33,50,22,21,20,6,35, +33,17,35,53,51,53,51,21,33,1,17,33,50,54,53,52,38,35,2,98,254,252,1,13,192, +213,215,190,254,46,253,253,197,1,4,254,252,1,13,106,101,102,105,3,31,129,184, +147,148,191,3,31,155,128,128,254,74,254,150,102,76,74,110,0,0,0,0,2,255,175,0, +0,4,187,5,176,0,18,0,27,0,0,1,33,21,33,50,4,21,20,4,35,33,17,35,53,51,53,51, +21,33,1,17,33,50,54,53,52,38,35,2,117,254,243,1,103,233,1,3,254,252,232,253, +212,244,244,197,1,13,254,243,1,103,147,148,147,148,4,77,221,239,197,198,246,4, +77,155,200,200,253,237,253,197,169,123,119,160,0,0,2,255,156,0,0,4,0,4,58,0, +18,0,27,0,0,1,33,21,33,50,22,21,20,6,35,33,17,35,53,51,53,51,21,33,1,17,33,50, +54,53,52,38,35,2,98,254,252,1,13,192,213,215,190,254,46,253,253,197,1,4,254, +252,1,13,106,101,102,105,3,31,129,184,147,148,191,3,31,155,128,128,254,74,254, +150,102,76,74,110,0,0,0,0,2,255,175,0,0,4,187,5,176,0,18,0,27,0,0,1,33,21,33, +50,4,21,20,4,35,33,17,35,53,51,53,51,21,33,1,17,33,50,54,53,52,38,35,2,117, +254,243,1,103,233,1,3,254,252,232,253,212,244,244,197,1,13,254,243,1,103,147, +148,147,148,4,77,221,239,197,198,246,4,77,155,200,200,253,237,253,197,169,123, +119,160,0,0,1,255,205,0,0,4,32,5,176,0,13,0,0,1,33,17,35,17,35,53,51,17,33,21, +33,17,33,2,147,254,213,197,214,214,3,125,253,72,1,43,2,169,253,87,2,169,155,2, +108,155,254,47,0,0,0,0,1,255,213,0,0,2,190,4,58,0,13,0,0,1,33,17,35,17,35,53, +51,17,33,21,33,17,33,2,155,254,185,197,186,186,2,47,254,150,1,71,1,220,254,36, +1,220,155,1,195,156,254,217,0,0,0,0,1,255,179,0,0,4,251,5,176,0,22,0,0,1,35, +17,35,17,35,53,51,53,51,21,33,21,33,17,51,1,51,23,9,1,7,35,1,251,147,197,240, +240,197,1,17,254,239,128,2,8,222,2,253,196,2,103,3,239,2,146,253,110,4,130, +155,147,147,155,254,170,2,132,5,253,80,253,10,5,0,0,1,255,157,0,0,4,11,6,24,0, +20,0,0,1,35,17,35,17,35,53,51,53,51,21,33,21,33,17,51,1,51,9,1,35,1,206,121, +197,243,243,197,1,14,254,242,119,1,49,236,254,137,1,153,233,1,243,254,13,4, +190,155,191,191,155,253,210,1,170,254,14,253,184,0,0,0,255,255,0,173,254,224, +5,133,7,78,2,38,0,208,0,0,0,39,0,154,1,42,1,158,0,7,1,110,4,30,255,179,255, +255,0,143,254,224,4,135,5,247,2,38,0,227,0,0,0,39,0,154,0,153,0,71,0,7,1,110, +3,32,255,179,255,255,0,169,254,224,5,129,5,176,2,38,0,40,0,0,0,7,1,110,4,26, +255,179,255,255,0,143,254,224,4,134,4,58,2,38,0,231,0,0,0,7,1,110,3,31,255, +179,255,255,0,163,254,224,6,204,5,176,2,38,0,45,0,0,0,7,1,110,5,101,255,179, +255,255,0,153,254,224,5,224,4,58,2,38,0,230,0,0,0,7,1,110,4,121,255,179,255, +255,0,65,254,224,4,135,4,58,2,38,0,229,0,0,0,7,1,110,3,32,255,179,255,255,0, +69,254,224,5,130,5,176,2,38,0,209,0,0,0,7,1,110,4,27,255,179,0,1,0,40,0,0,4, +226,5,176,0,15,0,0,9,1,51,1,51,21,35,7,17,35,17,33,53,51,1,51,2,133,1,124,225, +254,93,159,243,8,196,254,249,179,254,93,225,2,204,2,228,252,250,155,15,254,0, +2,15,155,3,6,0,0,0,1,0,46,254,95,3,228,4,58,0,17,0,0,5,33,17,35,17,35,53,51,1, +51,1,23,51,55,19,51,1,51,3,120,254,245,197,246,218,254,162,202,1,0,17,6,19, +249,201,254,166,238,13,254,108,1,148,155,3,172,253,5,76,76,2,251,252,84,0,1,0, +66,0,0,4,214,5,176,0,17,0,0,1,35,1,35,9,1,35,1,35,53,51,1,51,9,1,51,1,51,3, +252,211,1,173,235,254,163,254,162,238,1,173,185,171,254,107,236,1,82,1,84,238, +254,106,198,2,155,253,101,2,66,253,190,2,155,155,2,122,253,200,2,56,253,134,0, +0,0,0,1,0,46,0,0,3,212,4,58,0,17,0,0,1,35,1,35,11,1,35,1,35,53,51,1,51,27,1, +51,1,51,3,95,199,1,60,226,240,240,228,1,59,208,197,254,218,227,227,230,230, +254,217,188,1,222,254,34,1,153,254,103,1,222,155,1,193,254,113,1,143,254,63,0, +0,0,255,255,255,206,254,75,4,32,5,176,2,38,0,168,0,0,0,39,1,130,255,90,0,33,0, +7,1,51,1,153,0,0,255,255,255,214,254,75,2,190,4,58,2,38,0,223,0,0,0,39,1,130, +255,98,255,85,0,7,1,51,0,219,0,0,255,255,0,108,255,235,6,98,7,114,2,38,0,251, +0,0,0,7,0,255,1,43,1,118,255,255,0,127,255,235,5,210,5,252,2,38,0,252,0,0,0,7, +0,255,0,240,0,0,255,255,0,98,255,237,3,233,4,76,2,6,0,182,0,0,255,255,255,237, +0,0,4,52,5,176,2,38,0,38,0,0,0,7,1,130,255,121,254,127,255,255,0,187,2,136,5, +243,3,35,0,70,1,33,175,0,102,102,64,0,0,2,0,70,0,0,4,162,5,176,0,27,0,31,0,0, +1,35,3,35,19,35,53,33,19,33,53,33,19,51,3,51,19,51,3,51,21,35,3,51,21,35,3,35, +3,51,19,35,2,200,255,80,151,80,236,1,8,68,255,0,1,28,82,151,82,255,82,151,82, +199,226,68,219,247,80,152,147,255,68,255,1,154,254,102,1,154,140,1,92,142,1, +160,254,96,1,160,254,96,142,254,164,140,254,102,2,38,1,92,0,2,0,171,0,0,1,113, +5,176,0,3,0,7,0,0,1,35,17,51,19,35,53,51,1,112,197,197,1,198,198,1,222,3,210, +250,80,205,0,0,0,2,0,126,3,168,2,121,5,176,0,4,0,10,0,0,1,7,35,17,51,1,7,35, +55,17,51,2,121,101,97,198,254,203,101,97,1,197,4,162,250,2,8,254,242,250,240, +1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,152,0,242,1,4,1,42,1,80,1,112,1,136,1, +152,1,166,1,178,1,192,1,238,1,254,2,42,2,104,2,136,2,188,2,252,3,24,3,96,3, +158,3,170,3,182,3,206,3,226,3,250,4,44,4,160,4,190,4,246,5,42,5,82,5,108,5, +130,5,184,5,208,5,220,5,250,6,26,6,42,6,76,6,102,6,154,6,190,6,250,7,50,7,112, +7,132,7,166,7,190,7,234,8,10,8,34,8,56,8,76,8,90,8,108,8,132,8,146,8,162,8, +226,9,22,9,68,9,120,9,174,9,210,10,20,10,54,10,72,10,108,10,136,10,148,10,204, +10,238,11,28,11,80,11,132,11,162,11,222,12,4,12,38,12,62,12,104,12,134,12,176, +12,198,12,246,13,4,13,50,13,92,13,104,13,158,13,212,14,32,14,74,14,94,14,198, +14,218,15,52,15,118,15,130,15,146,15,246,16,4,16,42,16,74,16,118,16,180,16, +196,16,234,17,2,17,16,17,44,17,60,17,102,17,114,17,132,17,150,17,168,17,178, +17,220,17,254,18,82,18,122,18,180,19,22,19,98,19,124,19,202,19,254,20,40,20, +52,20,84,20,112,20,136,20,180,20,230,21,36,21,136,21,182,21,210,22,8,22,72,22, +130,22,178,22,226,23,0,23,22,23,44,23,74,23,88,23,126,23,156,23,188,23,214,23, +224,23,236,23,248,24,0,24,12,24,26,24,52,24,60,24,78,24,102,24,162,24,184,24, +212,24,230,25,8,25,72,25,118,25,176,25,244,26,52,26,80,26,138,26,200,26,254, +27,32,27,86,27,116,27,172,27,240,28,24,28,74,28,128,28,180,28,200,28,238,29, +44,29,98,29,162,29,204,30,6,30,62,30,110,30,144,30,168,30,208,30,250,31,38,31, +102,31,128,31,160,31,202,31,226,32,0,32,26,32,56,32,96,32,140,32,176,32,232, +33,36,33,76,33,148,33,200,33,218,34,2,34,46,34,108,34,134,34,166,34,196,34, +228,34,252,35,14,35,34,35,124,35,148,35,176,35,202,35,232,36,16,36,60,36,96, +36,150,36,206,36,248,37,54,37,106,37,160,37,208,37,252,38,20,38,90,38,154,38, +234,39,52,39,72,39,102,39,118,39,134,39,182,39,230,39,240,39,250,40,10,40,26, +40,42,40,54,40,66,40,78,40,104,40,130,40,166,40,190,40,206,41,74,41,100,41, +126,41,140,41,172,41,234,42,42,42,86,42,104,42,122,42,140,42,158,42,216,42, +236,43,14,43,28,43,54,43,136,43,180,43,216,43,232,43,248,44,2,44,32,44,62,44, +90,44,134,44,180,44,216,45,14,45,68,45,82,45,112,45,140,45,172,45,188,45,232, +46,38,46,70,46,122,46,186,46,214,47,30,47,92,47,138,47,168,47,204,48,2,48,50, +48,86,48,112,48,134,48,184,48,208,48,220,48,250,49,26,49,42,49,74,49,100,49, +146,49,182,49,236,50,36,50,96,50,116,50,148,50,172,50,208,50,240,51,8,51,30, +51,74,51,90,51,134,51,196,51,228,52,22,52,82,52,110,52,182,52,242,53,28,53,44, +53,88,53,150,53,182,53,232,54,36,54,62,54,134,54,194,54,210,54,250,55,34,55, +80,55,122,55,166,55,208,55,248,56,32,56,74,56,116,56,174,56,184,56,212,56,240, +57,18,57,52,57,122,57,184,57,212,57,226,58,4,58,38,58,104,58,166,58,200,58, +238,59,36,59,88,59,146,59,204,60,8,60,62,60,110,60,156,60,212,61,38,61,106,61, +174,61,234,62,38,62,76,62,140,62,162,62,184,62,222,63,4,63,40,63,76,63,110,63, +150,63,190,64,16,64,96,64,142,64,190,64,204,65,8,65,72,65,88,65,156,65,216,65, +232,65,248,66,78,66,158,66,218,67,18,67,94,67,164,67,164,67,164,67,164,67,164, +67,164,67,164,67,164,67,164,67,164,67,164,67,164,68,126,68,196,68,208,69,28, +69,100,69,100,69,100,69,162,69,206,70,136,70,224,71,2,71,56,71,82,71,172,71, +188,71,250,72,60,72,122,72,134,72,142,72,150,72,200,72,250,73,38,73,66,73,74, +73,86,73,98,73,110,73,122,73,134,73,146,73,162,73,174,73,186,73,198,73,210,73, +222,73,234,73,246,74,2,74,14,74,26,74,38,74,50,74,62,74,74,74,86,74,98,74,110, +74,122,74,134,74,146,74,158,74,170,74,182,74,194,74,206,74,218,74,234,74,246, +75,2,75,14,75,26,75,38,75,50,75,62,75,74,75,86,75,98,75,110,75,122,75,134,75, +146,75,158,75,170,75,182,75,194,75,206,75,218,75,230,75,242,75,254,76,10,76, +22,76,34,76,46,76,58,76,70,76,82,76,94,76,106,76,118,76,130,76,142,76,154,76, +162,76,174,76,186,76,198,76,210,76,222,76,234,76,246,77,2,77,14,77,26,77,38, +77,50,77,62,77,74,77,86,77,98,77,110,77,122,77,134,77,146,77,158,77,170,77, +182,77,194,77,206,77,218,77,230,77,242,77,254,78,10,78,22,78,34,78,46,78,58, +78,70,78,82,78,94,78,106,78,118,78,126,78,134,78,146,78,158,78,170,78,182,78, +194,78,206,78,218,78,230,78,242,78,254,79,10,79,22,79,34,79,46,79,58,79,70,79, +82,79,94,79,106,79,118,79,130,79,142,79,154,79,166,79,178,79,190,79,202,79, +214,79,226,79,238,79,250,80,6,80,14,80,26,80,38,80,50,80,62,80,74,80,86,80,98, +80,110,80,122,80,134,80,146,80,158,80,170,80,182,80,194,80,206,80,218,80,230, +80,242,80,254,81,10,81,22,81,34,81,46,81,58,81,70,81,82,81,94,81,106,81,118, +81,130,81,142,81,154,81,166,81,178,81,190,81,202,81,210,81,218,81,226,81,234, +81,242,81,250,82,2,82,10,82,18,82,26,82,34,82,42,82,50,82,58,82,70,82,82,82, +94,82,106,82,118,82,130,82,142,82,150,82,158,82,166,82,174,82,186,82,198,82, +210,82,222,82,234,82,246,83,2,83,64,83,72,83,84,83,92,83,100,83,112,83,120,83, +128,83,136,83,144,83,152,83,164,83,172,83,180,83,188,83,196,83,204,83,212,83, +220,83,228,83,236,83,244,83,252,84,8,84,16,84,24,84,70,84,78,84,86,84,98,84, +110,84,118,84,126,84,138,84,146,84,158,84,170,84,182,84,194,84,206,84,218,84, +230,84,242,84,254,85,10,85,18,85,26,85,38,85,50,85,62,85,74,85,82,85,94,85, +106,85,118,85,130,85,142,85,158,85,174,85,186,85,198,85,210,85,222,85,230,85, +238,85,250,86,6,86,18,86,30,86,42,86,54,86,66,86,78,86,86,86,94,86,102,86,114, +86,126,86,134,86,146,86,158,86,170,86,182,86,190,86,198,86,210,86,222,86,234, +86,248,87,4,87,16,87,28,87,40,87,52,87,64,87,76,87,88,87,100,87,112,87,120,87, +128,87,140,87,152,87,164,87,176,87,188,87,200,87,212,87,224,87,236,87,248,88, +4,88,16,88,32,88,48,88,60,88,72,88,80,88,92,88,104,88,116,88,128,88,140,88, +152,88,164,88,176,88,188,88,200,88,212,88,224,88,236,88,248,89,8,89,24,89,36, +89,48,89,60,89,72,89,84,89,96,89,108,89,120,89,136,89,152,89,164,89,176,89, +188,89,200,89,212,89,224,89,236,89,248,90,4,90,16,90,28,90,40,90,52,90,64,90, +80,90,96,90,108,90,120,90,132,90,144,90,156,90,168,90,180,90,192,90,204,90, +216,90,228,90,240,90,252,91,8,91,20,91,32,91,48,91,64,91,76,91,88,91,100,91, +112,91,124,91,136,91,148,91,160,91,172,91,184,91,196,91,208,91,220,91,232,91, +244,92,0,92,12,92,24,92,36,92,48,92,60,92,72,92,84,92,96,92,108,92,120,92,132, +92,144,92,156,92,168,92,180,92,192,92,204,92,216,92,228,92,240,92,252,93,8,93, +20,93,32,93,44,93,56,93,68,93,80,93,92,93,104,93,116,93,128,93,140,93,148,93, +194,93,240,94,30,94,76,94,104,94,132,94,172,94,210,94,226,94,242,94,254,95,10, +95,22,95,34,95,46,95,58,95,90,95,124,95,164,95,202,95,218,95,234,95,246,96,2, +96,10,96,22,96,32,96,86,96,106,96,132,0,0,0,0,0,1,0,0,32,210,0,1,5,118,24,0,0, +10,8,196,0,8,0,42,255,162,0,8,0,54,0,40,0,8,0,55,0,37,0,8,0,57,0,45,0,16,0,16, +0,4,0,16,0,17,255,221,0,16,0,19,255,252,0,16,0,20,0,5,0,16,0,21,255,253,0,16, +0,22,0,4,0,16,0,23,255,213,0,16,0,25,0,6,0,17,0,18,255,250,0,17,0,19,255,250, +0,17,0,21,255,250,0,17,0,23,255,254,0,18,0,16,255,239,0,18,0,17,255,239,0,18, +0,18,0,8,0,18,0,21,255,242,0,18,0,22,255,239,0,18,0,23,255,233,0,18,0,24,255, +238,0,18,0,25,0,2,0,19,0,17,255,236,0,19,0,18,255,253,0,19,0,19,0,7,0,19,0,20, +0,15,0,19,0,21,0,4,0,19,0,22,255,253,0,19,0,23,255,228,0,19,0,24,0,5,0,19,0, +25,255,255,0,20,0,16,0,3,0,20,0,18,255,225,0,20,0,20,0,34,0,20,0,21,0,17,0,20, +0,22,0,3,0,20,0,23,255,173,0,20,0,24,0,19,0,21,0,17,255,252,0,21,0,18,255,234, +0,21,0,19,0,6,0,21,0,20,0,17,0,21,0,21,0,5,0,21,0,22,255,254,0,21,0,23,255, +253,0,21,0,24,0,6,0,21,0,25,255,229,0,22,0,16,0,2,0,22,0,17,255,217,0,22,0,18, +255,232,0,22,0,20,0,23,0,22,0,21,0,9,0,22,0,22,0,2,0,22,0,23,255,216,0,22,0, +24,0,11,0,23,0,17,0,36,0,23,0,20,255,94,0,23,0,21,255,225,0,23,0,22,255,217,0, +23,0,23,0,38,0,23,0,24,255,234,0,23,0,25,255,249,0,24,0,16,255,255,0,24,0,17, +255,234,0,24,0,19,0,11,0,24,0,20,0,20,0,24,0,21,0,8,0,24,0,22,255,255,0,25,0, +16,0,3,0,25,0,17,255,218,0,25,0,18,255,247,0,25,0,20,0,5,0,25,0,21,255,252,0, +25,0,22,0,3,0,25,0,23,255,209,0,25,0,25,0,5,0,33,0,35,255,218,0,33,0,39,255, +217,0,33,0,47,255,214,0,33,0,49,255,217,0,33,0,52,255,104,0,33,0,53,255,211,0, +33,0,54,255,108,0,33,0,55,255,157,0,33,0,57,255,93,0,33,0,65,0,5,0,33,0,67, +255,236,0,33,0,68,255,229,0,33,0,69,255,232,0,33,0,71,255,240,0,33,0,79,255, +232,0,33,0,81,255,240,0,33,0,83,0,3,0,33,0,84,255,192,0,33,0,85,255,233,0,33, +0,86,255,173,0,33,0,87,255,188,0,33,0,90,0,24,0,33,1,8,255,120,0,33,1,12,255, +120,0,33,1,66,255,236,0,33,1,70,255,233,0,33,1,78,255,233,0,33,1,80,255,236,0, +33,1,83,255,139,0,33,1,84,255,225,0,33,1,85,255,152,0,33,1,86,255,185,0,33,1, +88,255,133,0,34,0,57,255,93,0,34,0,65,0,10,0,34,0,73,255,252,0,34,0,76,255, +252,0,34,0,79,0,6,0,34,0,82,0,2,0,34,0,85,0,5,0,34,0,89,0,4,0,35,0,35,255,250, +0,35,0,39,255,250,0,35,0,47,255,247,0,35,0,49,255,250,0,35,0,73,255,244,0,35, +0,82,255,250,0,35,0,85,255,250,0,35,0,89,0,11,0,35,0,90,255,247,0,35,1,66,255, +250,0,35,1,70,255,249,0,35,1,78,255,249,0,35,1,80,255,250,0,36,0,54,255,213,0, +36,0,55,255,230,0,36,0,65,255,253,0,36,0,69,0,4,0,36,0,79,0,4,0,36,0,85,0,4,0, +37,0,54,0,17,0,37,0,55,0,16,0,37,0,57,0,18,0,37,0,66,255,245,0,37,0,67,255, +218,0,37,0,68,255,213,0,37,0,69,255,217,0,37,0,70,255,219,0,37,0,71,255,222,0, +37,0,73,255,246,0,37,0,74,255,249,0,37,0,75,255,248,0,37,0,76,255,246,0,37,0, +77,255,238,0,37,0,78,255,238,0,37,0,79,255,217,0,37,0,80,255,242,0,37,0,81, +255,222,0,37,0,82,255,240,0,37,0,84,255,212,0,37,0,85,255,222,0,37,0,86,255, +203,0,37,0,87,255,210,0,37,0,88,0,5,0,37,0,89,255,207,0,37,0,90,0,6,0,37,1,85, +255,224,0,37,1,86,255,218,0,37,1,88,255,223,0,38,0,12,254,205,0,38,0,14,254, +205,0,38,0,33,255,135,0,38,0,65,255,187,0,38,0,69,255,212,0,38,0,73,255,249,0, +38,0,76,255,247,0,38,0,79,255,212,0,38,0,82,255,203,0,38,0,85,255,210,0,38,0, +89,255,206,0,38,1,63,255,124,0,39,0,65,0,1,0,39,0,69,0,4,0,39,0,78,255,255,0, +39,0,79,0,1,0,39,0,82,0,2,0,39,0,85,0,1,0,39,0,89,0,1,0,40,0,65,255,250,0,40, +0,69,255,246,0,40,0,79,255,246,0,40,0,85,255,247,0,40,0,89,255,253,0,41,0,65, +255,248,0,41,0,67,255,248,0,41,0,68,255,238,0,41,0,70,255,244,0,41,0,71,255, +248,0,41,0,77,255,248,0,41,0,78,255,248,0,41,0,79,255,244,0,41,0,80,255,252,0, +41,0,82,255,248,0,41,0,83,255,248,0,41,0,84,255,247,0,41,0,85,255,248,0,41,0, +86,255,250,0,41,0,87,255,252,0,41,0,89,255,250,0,42,0,65,255,247,0,42,0,79, +255,247,0,43,0,35,255,200,0,43,0,39,255,196,0,43,0,47,255,193,0,43,0,49,255, +196,0,43,0,65,255,246,0,43,0,69,255,202,0,43,0,73,255,247,0,43,0,79,255,201,0, +43,0,82,255,248,0,43,0,85,255,208,0,43,0,87,255,177,0,43,0,89,255,175,0,43,1, +66,255,207,0,43,1,70,255,203,0,43,1,78,255,204,0,43,1,80,255,204,0,44,0,33,0, +39,0,44,0,35,255,213,0,44,0,39,255,209,0,44,0,47,255,205,0,44,0,49,255,209,0, +44,0,52,255,100,0,44,0,53,255,206,0,44,0,54,255,71,0,44,0,55,255,147,0,44,0, +57,255,79,0,44,0,74,255,254,0,44,0,85,255,227,0,44,0,87,255,170,0,44,0,89,255, +147,0,44,1,8,254,233,0,44,1,12,254,230,0,44,1,63,0,38,0,44,1,66,255,229,0,44, +1,70,255,225,0,44,1,78,255,227,0,44,1,80,255,227,0,44,1,83,255,118,0,44,1,84, +255,220,0,44,1,85,255,109,0,44,1,86,255,172,0,44,1,88,255,106,0,45,0,65,255, +249,0,45,0,69,255,245,0,45,0,74,255,248,0,45,0,78,255,249,0,45,0,79,255,245,0, +45,0,85,255,249,0,45,0,89,255,252,0,46,0,69,255,247,0,46,0,79,255,247,0,46,0, +89,255,253,0,47,0,33,255,214,0,47,0,52,255,201,0,47,0,54,255,211,0,47,0,55, +255,233,0,47,0,56,255,210,0,47,0,57,255,198,0,47,0,67,0,2,0,47,0,68,255,252,0, +47,0,69,0,2,0,47,0,70,0,1,0,47,0,71,0,2,0,47,0,74,255,245,0,47,0,79,0,2,0,47, +0,80,255,255,0,47,0,81,0,5,0,47,0,83,255,255,0,47,0,84,0,4,0,47,0,85,0,2,0,47, +0,88,255,244,0,47,0,89,0,7,0,47,0,90,255,241,0,47,1,63,255,215,0,47,1,85,255, +254,0,47,1,86,255,255,0,47,1,87,255,233,0,48,0,12,254,176,0,48,0,14,254,176,0, +48,0,33,255,146,0,48,0,37,255,250,0,48,0,40,255,250,0,48,0,41,255,250,0,48,0, +65,255,234,0,48,0,69,255,230,0,48,0,72,255,254,0,48,0,73,255,248,0,48,0,76, +255,250,0,48,0,78,255,250,0,48,0,79,255,230,0,48,0,82,255,252,0,48,0,83,255, +244,0,48,0,84,0,29,0,48,0,89,0,31,0,48,1,63,255,138,0,48,1,68,255,253,0,48,1, +71,255,253,0,48,1,72,255,253,0,49,0,33,0,28,0,49,0,52,255,188,0,49,0,53,255, +242,0,49,0,54,255,199,0,49,0,55,255,216,0,49,0,56,0,24,0,49,0,57,255,185,0,49, +0,65,255,255,0,49,0,85,255,252,0,49,1,63,0,28,0,49,1,83,255,244,0,49,1,84,255, +249,0,49,1,85,255,240,0,49,1,86,255,244,0,49,1,87,0,13,0,49,1,88,255,238,0,50, +0,35,255,245,0,50,0,39,255,245,0,50,0,47,255,242,0,50,0,49,255,245,0,50,0,52, +255,215,0,50,0,53,255,242,0,50,0,54,255,217,0,50,0,55,255,226,0,50,0,57,255, +158,0,50,0,65,255,252,0,50,0,69,255,241,0,50,0,79,255,241,0,50,0,85,255,248,0, +50,0,89,255,254,0,50,1,66,255,246,0,50,1,70,255,245,0,50,1,78,255,245,0,50,1, +80,255,245,0,50,1,83,255,253,0,50,1,84,255,245,0,50,1,86,255,248,0,51,0,65,0, +1,0,51,0,69,255,253,0,51,0,74,255,247,0,51,0,77,255,250,0,51,0,78,255,250,0, +51,0,79,255,253,0,51,0,80,255,254,0,51,0,81,255,255,0,51,0,85,255,254,0,51,0, +87,0,6,0,51,0,89,0,5,0,52,0,12,255,92,0,52,0,13,255,96,0,52,0,14,255,92,0,52, +0,26,255,102,0,52,0,27,255,100,0,52,0,33,255,94,0,52,0,35,255,204,0,52,0,39, +255,200,0,52,0,47,255,199,0,52,0,49,255,202,0,52,0,51,255,223,0,52,0,52,0,32, +0,52,0,54,0,32,0,52,0,55,0,31,0,52,0,56,0,21,0,52,0,57,0,33,0,52,0,65,255,97, +0,52,0,69,255,94,0,52,0,73,255,249,0,52,0,77,255,122,0,52,0,79,255,94,0,52,0, +82,255,122,0,52,0,83,255,101,0,52,0,85,255,122,0,52,0,87,255,159,0,52,0,89, +255,156,0,52,0,90,255,133,0,52,1,8,0,7,0,52,1,63,255,91,0,52,1,66,255,110,0, +52,1,70,255,110,0,52,1,78,255,110,0,52,1,80,255,110,0,52,1,82,255,117,0,52,1, +83,255,225,0,52,1,85,255,235,0,52,1,86,255,225,0,52,1,87,255,218,0,52,1,88, +255,236,0,53,0,33,255,211,0,53,0,68,255,240,0,53,0,70,255,252,0,53,0,71,255, +248,0,53,0,77,255,248,0,53,0,78,255,248,0,53,0,80,255,248,0,53,0,82,255,248,0, +53,0,83,255,244,0,53,0,84,255,255,0,53,0,88,255,241,0,53,0,90,255,237,0,53,1, +63,255,212,0,54,0,9,0,40,0,54,0,12,255,76,0,54,0,13,255,181,0,54,0,14,255,81, +0,54,0,26,255,193,0,54,0,27,255,193,0,54,0,33,255,103,0,54,0,35,255,213,0,54, +0,39,255,213,0,54,0,47,255,210,0,54,0,49,255,213,0,54,0,61,0,34,0,54,0,65,255, +161,0,54,0,69,255,165,0,54,0,79,255,161,0,54,0,82,255,194,0,54,0,85,255,198,0, +54,0,89,255,234,0,54,0,93,0,38,0,54,1,8,0,12,0,54,1,12,0,12,0,54,1,63,255,100, +0,54,1,66,255,177,0,54,1,70,255,177,0,54,1,78,255,177,0,54,1,80,255,177,0,55, +0,9,0,31,0,55,0,12,255,138,0,55,0,13,255,213,0,55,0,14,255,138,0,55,0,26,255, +212,0,55,0,27,255,211,0,55,0,33,255,147,0,55,0,35,255,228,0,55,0,39,255,228,0, +55,0,47,255,225,0,55,0,49,255,228,0,55,0,52,0,29,0,55,0,61,0,25,0,55,0,65,255, +189,0,55,0,69,255,193,0,55,0,79,255,193,0,55,0,82,255,213,0,55,0,85,255,217,0, +55,0,89,255,247,0,55,0,93,0,29,0,55,1,8,0,9,0,55,1,12,0,9,0,55,1,63,255,148,0, +55,1,66,255,209,0,55,1,70,255,205,0,55,1,78,255,205,0,55,1,80,255,205,0,55,1, +83,255,254,0,56,0,35,255,209,0,56,0,39,255,209,0,56,0,47,255,205,0,56,0,49, +255,209,0,56,0,69,255,203,0,56,0,85,255,212,0,56,0,89,255,192,0,56,1,8,255, +249,0,56,1,66,255,209,0,56,1,70,255,205,0,56,1,78,255,205,0,56,1,80,255,208,0, +57,0,9,0,41,0,57,0,12,255,69,0,57,0,13,255,150,0,57,0,14,255,69,0,57,0,26,255, +167,0,57,0,27,255,168,0,57,0,33,255,88,0,57,0,35,255,202,0,57,0,39,255,200,0, +57,0,47,255,196,0,57,0,49,255,200,0,57,0,52,0,34,0,57,0,54,0,36,0,57,0,55,0, +34,0,57,0,56,0,27,0,57,0,57,0,37,0,57,0,61,0,37,0,57,0,65,255,127,0,57,0,69, +255,122,0,57,0,79,255,122,0,57,0,81,255,131,0,57,0,84,255,210,0,57,0,85,255, +176,0,57,0,86,255,216,0,57,0,93,0,39,0,57,1,63,255,81,0,57,1,66,255,151,0,57, +1,70,255,147,0,57,1,78,255,147,0,57,1,80,255,147,0,57,1,83,255,230,0,57,1,85, +255,238,0,57,1,86,255,230,0,57,1,87,255,222,0,57,1,88,255,239,0,58,0,33,0,27, +0,58,0,35,255,209,0,58,0,39,255,205,0,58,0,47,255,202,0,58,0,49,255,205,0,58, +0,65,255,254,0,58,0,69,255,213,0,58,0,73,255,247,0,58,0,79,255,212,0,58,0,85, +255,218,0,58,0,87,255,200,0,58,0,89,255,201,0,58,1,63,0,27,0,58,1,66,255,218, +0,58,1,70,255,214,0,58,1,78,255,216,0,58,1,80,255,216,0,59,0,42,255,219,0,65, +1,8,255,225,0,65,1,12,255,225,0,66,0,86,255,233,0,66,0,87,255,240,0,66,0,89, +255,233,0,66,1,8,255,197,0,66,1,12,255,197,0,67,1,8,255,246,0,67,1,12,255,246, +0,68,1,8,255,247,0,68,1,12,255,247,0,69,0,89,255,230,0,69,1,8,255,227,0,69,1, +12,255,227,0,70,0,7,0,32,0,70,0,9,0,41,0,70,0,61,0,37,0,70,0,71,255,207,0,70, +0,93,0,39,0,70,1,8,0,32,0,70,1,12,0,32,0,70,3,177,0,28,0,71,1,8,255,247,0,71, +1,12,255,247,0,72,1,8,255,198,0,72,1,12,255,198,0,73,1,8,255,249,0,73,1,12, +255,249,0,75,0,69,255,215,0,76,1,8,255,245,0,76,1,12,255,245,0,77,1,8,255,220, +0,77,1,12,255,220,0,78,1,8,255,227,0,78,1,12,255,227,0,79,0,86,255,226,0,79,0, +87,255,237,0,79,0,88,255,214,0,79,0,89,255,226,0,79,1,8,255,216,0,79,1,12,255, +216,0,80,0,87,255,240,0,80,1,8,255,223,0,80,1,12,255,223,0,82,0,12,255,126,0, +82,0,14,255,126,0,82,0,67,255,218,0,82,0,68,255,220,0,82,0,69,255,218,0,82,0, +70,0,31,0,82,0,75,0,1,0,82,0,79,255,216,0,82,0,81,255,221,0,82,0,84,0,34,0,82, +0,85,0,1,0,82,0,86,0,36,0,82,0,87,0,35,0,82,0,88,0,18,0,82,0,89,0,36,0,82,0, +90,0,10,0,82,1,8,0,32,0,82,1,12,0,32,0,83,1,8,255,247,0,83,1,12,255,247,0,84, +1,8,255,249,0,84,1,12,255,249,0,85,1,8,255,248,0,85,1,12,255,248,0,86,0,12, +255,135,0,86,0,14,255,139,0,86,0,65,255,226,0,86,0,67,255,229,0,86,0,68,255, +229,0,86,0,69,255,229,0,86,0,79,255,225,0,86,0,81,255,229,0,86,1,8,0,34,0,86, +1,12,0,34,0,87,0,12,255,162,0,87,0,14,255,166,0,87,0,67,255,236,0,87,0,68,255, +236,0,87,0,69,255,232,0,87,0,81,255,236,0,88,0,67,255,215,0,88,0,68,255,219,0, +88,0,69,255,215,0,88,0,79,255,215,0,88,0,81,255,219,0,88,1,8,0,18,0,88,1,12,0, +18,0,89,0,12,255,118,0,89,0,14,255,128,0,89,0,67,255,223,0,89,0,68,255,223,0, +89,0,69,255,223,0,89,0,79,255,223,0,89,0,81,255,217,0,89,1,8,0,28,0,89,1,12,0, +28,0,90,0,67,255,223,0,90,0,68,255,226,0,90,0,69,255,223,0,90,0,79,255,223,0, +90,1,8,0,7,0,90,1,12,0,7,0,91,0,42,255,215,0,168,0,12,254,206,0,168,0,13,254, +204,0,168,0,14,254,210,0,168,0,35,255,199,0,168,0,39,255,197,0,168,0,47,255, +197,0,168,0,49,255,197,0,168,0,52,0,34,0,168,0,54,0,33,0,168,0,55,0,30,0,168, +0,57,0,33,0,168,0,105,254,208,0,168,0,120,254,210,0,168,0,127,255,195,0,168,0, +142,255,195,0,168,0,169,255,66,0,168,0,170,255,197,0,168,0,171,255,66,0,168,0, +175,255,108,0,168,0,178,254,244,0,168,0,180,254,241,0,168,0,181,255,223,0,168, +0,182,254,249,0,168,0,184,255,14,0,168,0,186,254,246,0,168,0,189,255,70,0,168, +0,190,254,237,0,168,0,191,254,240,0,168,0,192,254,231,0,168,0,193,255,92,0, +168,0,194,254,250,0,168,0,195,254,252,0,168,0,196,255,1,0,168,0,197,254,244,0, +168,1,5,254,207,0,168,1,6,254,207,0,170,0,12,255,217,0,170,0,14,255,226,0,170, +0,33,255,224,0,170,0,52,255,203,0,170,0,54,255,224,0,170,0,55,255,238,0,170,0, +56,255,216,0,170,0,57,255,206,0,170,0,58,255,219,0,170,0,125,255,206,0,170,0, +169,255,217,0,170,0,171,255,224,0,170,0,172,255,228,0,170,0,174,255,217,0,171, +0,7,255,115,0,171,0,31,255,140,0,171,0,33,0,36,0,171,0,35,255,219,0,171,0,39, +255,215,0,171,0,47,255,215,0,171,0,49,255,215,0,171,0,52,255,75,0,171,0,53, +255,212,0,171,0,54,255,113,0,171,0,55,255,156,0,171,0,57,255,85,0,171,0,67, +255,234,0,171,0,68,255,229,0,171,0,69,255,234,0,171,0,71,255,238,0,171,0,79, +255,234,0,171,0,81,255,238,0,171,0,85,255,235,0,171,0,125,0,38,0,171,0,127, +255,236,0,171,0,133,255,238,0,171,0,142,255,215,0,171,0,143,255,238,0,171,0, +169,0,38,0,171,0,170,255,215,0,171,0,175,255,202,0,171,0,176,255,156,0,171,0, +193,255,149,0,171,1,8,255,119,0,171,1,12,255,119,0,171,3,177,255,119,0,172,0, +170,255,225,0,172,0,187,0,27,0,174,0,7,255,246,0,174,0,35,255,211,0,174,0,39, +255,209,0,174,0,47,255,209,0,174,0,49,255,209,0,174,0,127,255,232,0,174,0,142, +255,205,0,174,0,170,255,209,0,174,0,175,255,151,0,174,0,187,0,36,0,174,1,8, +255,246,0,174,1,12,255,246,0,174,3,177,255,246,0,175,0,171,255,199,0,175,0, +187,255,193,0,176,0,12,255,84,0,176,0,14,255,88,0,176,0,171,255,157,0,176,0, +181,255,243,0,176,0,190,255,224,0,176,0,192,255,237,0,176,0,195,255,244,0,176, +0,197,255,240,0,178,0,187,0,34,0,180,0,7,0,32,0,180,0,70,0,29,0,180,0,181,255, +239,0,180,0,189,0,27,0,180,0,190,255,211,0,180,0,193,0,30,0,180,0,197,255,236, +0,180,1,8,0,32,0,180,1,12,0,32,0,180,3,177,0,32,0,181,0,193,255,225,0,182,0,7, +255,239,0,182,0,191,255,243,0,182,0,192,255,243,0,182,0,195,255,242,0,182,1,8, +255,244,0,182,1,12,255,244,0,182,3,177,255,240,0,183,0,178,255,209,0,183,0, +180,0,10,0,183,0,181,255,216,0,183,0,182,255,226,0,183,0,184,255,233,0,183,0, +186,255,237,0,183,0,187,0,11,0,183,0,188,255,223,0,183,0,189,0,14,0,183,0,191, +255,199,0,183,0,192,255,205,0,183,0,193,0,15,0,183,0,194,255,238,0,183,0,195, +255,219,0,183,0,196,255,239,0,183,0,197,255,217,0,184,0,7,255,217,0,184,1,8, +255,227,0,184,1,12,255,227,0,186,0,7,255,186,0,186,0,178,255,225,0,186,0,180, +255,191,0,186,0,185,255,217,0,186,0,186,255,239,0,186,0,187,0,37,0,186,0,189, +255,214,0,186,0,193,255,190,0,186,0,195,255,212,0,186,1,8,255,249,0,186,1,12, +255,249,0,186,3,177,255,184,0,187,0,7,255,58,0,187,0,70,255,209,0,187,0,180, +255,145,0,187,0,185,255,212,0,187,0,187,0,33,0,187,0,189,255,212,0,187,0,193, +255,125,0,187,1,8,255,63,0,187,1,12,255,63,0,187,3,177,255,58,0,188,0,178,255, +179,0,188,0,187,0,17,0,190,0,87,255,240,0,190,0,88,255,226,0,190,0,90,255,232, +0,190,0,193,255,215,0,190,1,8,255,223,0,190,1,12,255,223,0,192,0,180,0,17,0, +192,0,189,0,19,0,192,0,193,0,20,0,193,0,7,0,34,0,193,0,70,0,29,0,193,0,120, +255,233,0,193,0,180,0,27,0,193,0,181,255,223,0,193,0,189,0,29,0,193,0,191,255, +214,0,193,0,192,255,211,0,193,0,193,0,29,0,193,1,8,0,34,0,193,1,12,0,34,0,193, +1,63,255,122,0,193,1,66,255,220,0,193,1,70,255,216,0,193,1,78,255,218,0,193,1, +80,255,216,0,193,1,82,255,234,0,193,1,83,0,29,0,193,1,85,0,27,0,193,1,86,0,20, +0,193,1,87,0,8,0,193,1,88,0,27,0,193,3,177,0,34,0,195,0,88,255,220,0,195,0,90, +255,220,0,196,0,88,255,228,0,196,0,90,255,228,0,197,0,88,255,226,0,197,0,90, +255,226,0,197,0,180,255,234,0,198,0,7,255,170,0,198,0,198,255,185,0,198,0,202, +255,186,0,198,0,206,255,233,0,198,0,210,255,223,0,198,0,212,255,194,0,198,0, +215,255,188,0,198,0,233,255,164,0,198,0,236,255,239,0,198,0,239,255,200,0,198, +1,8,255,175,0,198,1,12,255,175,0,198,3,177,255,171,0,200,0,7,255,126,0,200,0, +202,255,67,0,200,0,206,255,232,0,200,0,209,255,243,0,200,0,210,255,220,0,200, +0,212,255,194,0,200,0,215,255,141,0,200,0,233,255,161,0,200,0,236,255,241,0, +200,0,239,255,201,0,200,1,8,255,146,0,200,1,12,255,146,0,200,3,177,255,135,0, +201,0,7,255,125,0,201,0,198,255,68,0,201,0,202,255,66,0,201,0,206,255,230,0, +201,0,210,255,219,0,201,0,212,255,193,0,201,0,215,255,140,0,201,0,233,255,159, +0,201,0,236,255,240,0,201,0,239,255,200,0,201,1,8,255,144,0,201,1,12,255,144, +0,201,3,177,255,134,0,202,0,198,255,181,0,202,0,202,255,179,0,202,0,215,255, +184,0,202,0,233,255,158,0,202,0,236,255,225,0,202,0,239,255,194,0,204,0,198, +255,206,0,204,0,210,255,225,0,204,0,212,255,202,0,204,0,215,255,208,0,204,0, +225,255,227,0,204,0,233,255,168,0,204,0,236,255,242,0,204,0,239,255,204,0,205, +0,198,255,196,0,205,0,200,0,40,0,205,0,202,255,197,0,205,0,205,0,46,0,205,0, +209,0,40,0,205,0,212,255,197,0,205,0,215,255,199,0,205,0,224,0,44,0,205,0,229, +0,40,0,205,0,236,255,196,0,205,0,247,0,40,0,205,0,253,255,213,0,206,0,13,255, +141,0,206,0,199,255,206,0,206,0,200,0,36,0,206,0,209,0,36,0,206,0,221,255,210, +0,206,0,229,0,37,0,206,0,233,255,181,0,206,0,236,255,161,0,206,0,247,0,37,0, +206,0,253,255,206,0,207,0,17,255,236,0,207,0,18,255,253,0,207,0,19,0,7,0,207, +0,20,0,15,0,207,0,21,0,4,0,207,0,22,255,253,0,207,0,23,255,228,0,207,0,24,0,5, +0,207,0,25,255,255,0,207,0,207,0,11,0,207,0,209,255,239,0,207,0,210,255,236,0, +207,0,215,255,228,0,208,0,65,255,252,0,208,0,69,255,255,0,208,0,79,255,252,0, +208,0,85,255,255,0,208,0,89,0,2,0,210,0,7,0,15,0,210,0,13,255,177,0,210,0,14, +255,135,0,210,0,67,255,229,0,210,0,68,255,229,0,210,0,69,255,229,0,210,0,79, +255,229,0,210,0,81,255,225,0,210,0,199,255,210,0,210,0,200,255,138,0,210,0, +205,255,53,0,210,0,209,255,138,0,210,0,215,0,36,0,210,0,222,255,187,0,210,0, +223,255,187,0,210,0,224,255,69,0,210,0,227,255,187,0,210,0,228,255,187,0,210, +0,229,255,116,0,210,0,230,255,187,0,210,0,231,255,187,0,210,0,232,255,187,0, +210,0,234,255,154,0,210,0,235,255,187,0,210,0,236,255,207,0,210,0,237,255,187, +0,210,0,238,255,185,0,210,0,240,255,187,0,210,0,241,255,187,0,210,0,243,255, +185,0,210,0,244,255,172,0,210,0,246,255,150,0,210,0,247,255,116,0,210,0,248, +255,187,0,210,0,250,255,187,0,210,0,254,255,153,0,210,1,8,0,31,0,210,1,12,0, +31,0,210,3,177,0,13,0,211,0,200,0,39,0,211,0,205,0,96,0,211,0,209,0,49,0,211, +0,212,255,195,0,211,0,224,0,104,0,211,0,229,0,58,0,211,0,236,255,194,0,211,0, +247,0,39,0,214,0,198,255,218,0,214,0,200,0,42,0,214,0,205,0,48,0,214,0,209,0, +42,0,214,0,210,0,22,0,214,0,212,255,218,0,214,0,215,255,219,0,214,0,218,255, +242,0,214,0,224,0,45,0,214,0,229,0,40,0,214,0,233,255,223,0,214,0,236,255,217, +0,214,0,239,255,225,0,214,0,247,0,40,0,215,0,7,255,124,0,215,0,198,255,65,0, +215,0,202,255,63,0,215,0,212,255,190,0,215,0,215,255,137,0,215,0,233,255,158, +0,215,0,239,255,198,0,215,1,8,255,139,0,215,1,12,255,139,0,215,3,177,255,133, +0,217,0,7,255,131,0,217,0,198,255,69,0,217,0,202,255,67,0,217,0,212,255,194,0, +217,0,215,255,141,0,217,0,233,255,164,0,217,0,239,255,200,0,217,1,8,255,145,0, +217,1,12,255,145,0,217,3,177,255,135,0,218,0,198,255,206,0,218,0,200,255,207, +0,218,0,202,255,205,0,218,0,205,255,202,0,218,0,206,255,207,0,218,0,209,255, +207,0,218,0,210,255,217,0,218,0,229,255,214,0,218,0,247,255,214,0,219,0,198, +255,202,0,219,0,200,255,206,0,219,0,202,255,202,0,219,0,205,255,203,0,219,0, +206,255,207,0,219,0,209,255,206,0,219,0,210,255,217,0,219,0,224,255,203,0,219, +0,229,255,214,0,219,0,247,255,214,0,220,0,35,255,250,0,220,0,39,255,250,0,220, +0,47,255,253,0,220,0,49,255,250,0,220,0,52,255,214,0,220,0,53,255,249,0,220,0, +54,255,236,0,220,0,55,255,243,0,220,0,57,255,229,0,220,0,69,255,252,0,220,0, +79,255,250,0,220,0,85,255,253,0,220,0,89,0,6,0,220,1,66,255,253,0,220,1,70, +255,249,0,220,1,78,255,249,0,220,1,80,255,249,0,220,1,83,0,1,0,220,1,84,255, +253,0,220,1,85,0,1,0,220,1,88,0,1,0,221,0,224,255,225,0,221,0,225,255,224,0, +221,0,233,255,223,0,221,0,239,255,241,0,222,0,7,255,191,0,222,0,225,255,237,0, +222,0,233,255,230,0,222,0,236,255,238,0,222,0,239,255,235,0,222,1,8,255,230,0, +222,1,12,255,230,0,222,3,177,255,190,0,223,0,224,255,132,0,223,0,229,255,171, +0,223,0,246,255,211,0,223,0,247,255,171,0,224,0,224,0,42,0,224,0,233,255,219, +0,224,0,236,255,216,0,224,0,239,255,223,0,225,0,7,0,11,0,225,0,234,255,236,0, +225,0,236,255,245,0,225,0,246,255,218,0,225,0,254,255,220,0,225,1,8,0,11,0, +225,1,12,0,11,0,225,3,177,0,11,0,226,0,7,255,232,0,226,0,233,255,237,0,226,0, +236,255,240,0,226,1,8,255,236,0,226,1,12,255,236,0,226,3,177,255,232,0,228,0, +221,255,233,0,228,0,234,255,224,0,228,0,236,255,242,0,228,0,246,255,211,0,228, +0,254,255,213,0,228,1,8,0,12,0,228,1,12,0,12,0,228,1,66,255,212,0,228,1,70, +255,208,0,228,1,78,255,212,0,228,1,80,255,212,0,233,0,7,0,34,0,233,0,70,0,29, +0,233,0,224,255,133,0,233,0,229,255,172,0,233,0,234,255,223,0,233,0,246,255, +211,0,233,0,247,255,172,0,233,0,254,255,213,0,233,1,8,0,31,0,233,1,12,0,31,0, +233,1,63,255,122,0,233,1,66,255,220,0,233,1,70,255,216,0,233,1,78,255,218,0, +233,1,80,255,216,0,233,1,82,255,234,0,233,1,83,0,29,0,233,1,85,0,27,0,233,1, +86,0,20,0,233,1,87,0,8,0,233,1,88,0,27,0,233,3,177,0,34,0,234,0,88,255,244,0, +234,0,90,255,244,0,234,0,225,255,236,0,234,0,229,255,246,0,234,0,233,255,229, +0,234,0,239,255,237,0,234,0,247,255,246,0,235,0,224,0,37,0,235,0,229,0,32,0, +235,0,233,255,222,0,235,0,236,255,220,0,235,0,239,255,224,0,235,0,247,0,32,0, +238,0,224,0,43,0,238,0,229,0,38,0,238,0,233,255,206,0,238,0,236,255,203,0,238, +0,239,255,215,0,238,0,242,255,242,0,238,0,246,255,224,0,238,0,247,0,38,0,239, +0,233,255,122,0,239,0,236,255,203,0,239,0,239,255,178,0,241,0,7,254,253,0,241, +0,233,255,118,0,241,0,236,255,202,0,241,0,239,255,174,0,241,1,8,255,35,0,241, +1,12,255,39,0,241,3,177,255,10,0,242,0,224,255,218,0,242,0,225,255,218,0,242, +0,229,255,225,0,242,0,239,255,222,0,242,0,247,255,225,0,243,0,224,255,217,0, +243,0,225,255,217,0,243,0,226,255,245,0,243,0,229,255,223,0,243,0,239,255,232, +0,246,0,7,255,240,0,246,1,8,255,244,0,246,1,12,255,244,0,246,3,177,255,240,0, +247,0,225,255,232,0,247,0,233,255,116,0,247,0,234,0,11,0,247,0,236,255,200,0, +247,0,239,255,172,0,248,0,225,255,236,0,248,0,233,255,121,0,248,0,236,255,203, +0,248,0,239,255,177,1,7,0,33,255,120,1,7,0,52,0,12,1,7,0,54,0,16,1,7,0,55,0, +18,1,7,0,57,0,9,1,7,0,65,255,225,1,7,0,67,255,217,1,7,0,68,255,197,1,7,0,69, +255,217,1,7,0,70,0,5,1,7,0,71,255,222,1,7,0,77,255,247,1,7,0,78,255,247,1,7,0, +79,255,217,1,7,0,81,255,222,1,7,0,83,255,237,1,7,0,84,0,11,1,7,0,85,255,254,1, +7,0,86,0,36,1,7,0,87,0,32,1,7,0,88,0,18,1,7,0,89,0,36,1,7,0,90,0,8,1,7,1,7, +255,241,1,8,0,68,255,172,1,8,0,77,255,243,1,8,0,82,255,247,1,8,0,83,255,216,1, +8,0,84,0,6,1,8,0,86,0,27,1,8,1,8,255,245,1,11,0,33,255,118,1,11,0,52,0,9,1,11, +0,54,0,10,1,11,0,55,0,12,1,11,0,57,0,7,1,11,0,65,255,223,1,11,0,67,255,215,1, +11,0,68,255,191,1,11,0,69,255,215,1,11,0,71,255,215,1,11,0,77,255,245,1,11,0, +78,255,245,1,11,0,79,255,211,1,11,0,80,255,249,1,11,0,81,255,219,1,11,0,82, +255,245,1,11,0,83,255,230,1,11,0,84,0,4,1,11,0,85,255,252,1,11,0,86,0,27,1,11, +0,87,0,23,1,11,0,88,0,12,1,11,0,89,0,27,1,11,0,90,0,3,1,63,1,66,255,227,1,63, +1,70,255,227,1,63,1,78,255,227,1,63,1,80,255,227,1,63,1,83,255,125,1,63,1,84, +255,216,1,63,1,85,255,139,1,63,1,86,255,175,1,63,1,88,255,123,1,66,1,66,255, +254,1,66,1,70,255,254,1,66,1,78,255,254,1,66,1,80,255,254,1,67,1,85,255,220,1, +67,1,86,255,234,1,68,1,85,0,4,1,68,1,88,0,4,1,69,1,63,255,162,1,74,1,66,255, +212,1,74,1,70,255,208,1,74,1,78,255,212,1,74,1,80,255,212,1,75,1,63,0,35,1,75, +1,66,255,224,1,75,1,70,255,220,1,75,1,78,255,222,1,75,1,80,255,223,1,75,1,83, +255,115,1,75,1,84,255,215,1,75,1,85,255,107,1,75,1,86,255,167,1,75,1,88,255, +101,1,78,1,63,255,229,1,78,1,83,255,219,1,78,1,85,255,225,1,78,1,86,255,239,1, +78,1,87,255,215,1,78,1,88,255,211,1,79,1,63,255,168,1,79,1,68,255,245,1,79,1, +71,255,245,1,79,1,72,255,245,1,80,1,63,0,13,1,80,1,83,255,208,1,80,1,84,255, +246,1,80,1,85,255,213,1,80,1,86,255,226,1,80,1,88,255,201,1,81,1,66,255,252,1, +81,1,70,255,252,1,81,1,78,255,252,1,81,1,80,255,252,1,81,1,83,255,228,1,81,1, +84,255,245,1,81,1,85,255,226,1,81,1,86,255,233,1,81,1,88,255,219,1,83,1,63, +255,122,1,83,1,66,255,220,1,83,1,70,255,216,1,83,1,78,255,218,1,83,1,80,255, +216,1,83,1,82,255,234,1,83,1,83,0,29,1,83,1,85,0,27,1,83,1,86,0,20,1,83,1,87, +0,8,1,83,1,88,0,27,1,84,1,63,255,221,1,85,1,63,255,140,1,85,1,66,255,228,1,85, +1,70,255,224,1,85,1,78,255,224,1,85,1,80,255,224,1,86,1,63,255,182,1,86,1,66, +255,239,1,86,1,70,255,239,1,86,1,78,255,239,1,86,1,80,255,239,1,86,1,83,0,28, +1,87,1,66,255,218,1,87,1,70,255,214,1,87,1,78,255,214,1,87,1,80,255,214,1,88, +1,63,255,124,1,88,1,66,255,217,1,88,1,70,255,213,1,88,1,78,255,213,1,88,1,80, +255,213,1,88,1,83,0,31,1,88,1,85,0,33,1,88,1,86,0,27,1,88,1,87,0,14,1,88,1,88, +0,33,1,89,1,63,0,25,1,89,1,66,255,224,1,89,1,70,255,224,1,89,1,78,255,224,1, +89,1,80,255,224,1,111,0,9,0,40,1,111,0,12,255,76,1,111,0,13,255,181,1,111,0, +14,255,81,1,111,0,26,255,193,1,111,0,27,255,193,1,111,0,33,255,103,1,111,0,35, +255,213,1,111,0,39,255,213,1,111,0,47,255,210,1,111,0,49,255,213,1,111,0,61,0, +34,1,111,0,65,255,161,1,111,0,69,255,165,1,111,0,79,255,161,1,111,0,82,255, +194,1,111,0,85,255,198,1,111,0,89,255,234,1,111,0,93,0,38,1,111,1,8,0,12,1, +111,1,12,0,12,1,111,1,63,255,100,1,111,1,66,255,177,1,111,1,70,255,177,1,111, +1,78,255,177,1,111,1,80,255,177,1,112,0,12,255,135,1,112,0,14,255,139,1,112,0, +65,255,226,1,112,0,67,255,229,1,112,0,68,255,229,1,112,0,69,255,229,1,112,0, +79,255,225,1,112,0,81,255,229,1,112,1,8,0,34,1,112,1,12,0,34,1,113,0,35,255, +253,1,113,0,39,255,253,1,113,0,47,255,254,1,113,0,49,255,253,1,113,0,65,0,8,1, +113,0,73,255,247,1,113,0,82,255,255,1,113,0,85,255,252,1,113,0,89,0,16,1,113, +0,90,0,2,1,114,1,8,255,234,1,114,1,12,255,234,1,137,0,65,255,250,1,137,0,69, +255,246,1,137,0,79,255,246,1,137,0,85,255,247,1,137,0,89,255,253,1,141,0,35, +255,250,1,141,0,39,255,250,1,141,0,47,255,247,1,141,0,49,255,250,1,141,0,73, +255,244,1,141,0,82,255,250,1,141,0,85,255,250,1,141,0,89,0,11,1,141,0,90,255, +247,1,141,1,66,255,250,1,141,1,70,255,249,1,141,1,78,255,249,1,141,1,80,255, +250,1,142,1,8,255,246,1,142,1,12,255,246,0,0,0,0,0,22,1,14,0,1,0,0,0,0,0,0,0, +31,0,0,0,1,0,0,0,0,0,1,0,6,0,31,0,1,0,0,0,0,0,2,0,7,0,37,0,1,0,0,0,0,0,3,0,18, +0,44,0,1,0,0,0,0,0,4,0,14,0,62,0,1,0,0,0,0,0,5,0,21,0,76,0,1,0,0,0,0,0,6,0,14, +0,97,0,1,0,0,0,0,0,7,0,32,0,111,0,1,0,0,0,0,0,9,0,6,0,143,0,1,0,0,0,0,0,11,0, +10,0,149,0,1,0,0,0,0,0,12,0,19,0,159,0,3,0,1,4,9,0,0,0,62,0,178,0,3,0,1,4,9,0, +1,0,12,0,240,0,3,0,1,4,9,0,2,0,14,0,252,0,3,0,1,4,9,0,3,0,36,1,10,0,3,0,1,4,9, +0,4,0,28,1,46,0,3,0,1,4,9,0,5,0,42,1,74,0,3,0,1,4,9,0,6,0,28,1,116,0,3,0,1,4, +9,0,7,0,64,1,144,0,3,0,1,4,9,0,9,0,12,1,208,0,3,0,1,4,9,0,11,0,20,1,220,0,3,0, +1,4,9,0,12,0,38,1,240,70,111,110,116,32,100,97,116,97,32,99,111,112,121,114, +105,103,104,116,32,71,111,111,103,108,101,32,50,48,49,49,82,111,98,111,116, +111,82,101,103,117,108,97,114,71,111,111,103,108,101,58,82,111,98,111,116,111, +58,50,48,49,49,82,111,98,111,116,111,32,82,101,103,117,108,97,114,86,101,114, +115,105,111,110,32,49,46,48,48,48,48,48,59,32,50,48,49,49,82,111,98,111,116, +111,45,82,101,103,117,108,97,114,82,111,98,111,116,111,32,105,115,32,97,32, +116,114,97,100,101,109,97,114,107,32,111,102,32,71,111,111,103,108,101,46,71, +111,111,103,108,101,71,111,111,103,108,101,46,99,111,109,67,104,114,105,115, +116,105,97,110,32,82,111,98,101,114,116,115,111,110,0,70,0,111,0,110,0,116,0, +32,0,100,0,97,0,116,0,97,0,32,0,99,0,111,0,112,0,121,0,114,0,105,0,103,0,104, +0,116,0,32,0,71,0,111,0,111,0,103,0,108,0,101,0,32,0,50,0,48,0,49,0,49,0,82,0, +111,0,98,0,111,0,116,0,111,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,71,0,111, +0,111,0,103,0,108,0,101,0,58,0,82,0,111,0,98,0,111,0,116,0,111,0,58,0,50,0,48, +0,49,0,49,0,82,0,111,0,98,0,111,0,116,0,111,0,32,0,82,0,101,0,103,0,117,0,108, +0,97,0,114,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,32,0,49,0,46,0,48,0,48, +0,48,0,48,0,48,0,59,0,32,0,50,0,48,0,49,0,49,0,82,0,111,0,98,0,111,0,116,0, +111,0,45,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,82,0,111,0,98,0,111,0,116, +0,111,0,32,0,105,0,115,0,32,0,97,0,32,0,116,0,114,0,97,0,100,0,101,0,109,0,97, +0,114,0,107,0,32,0,111,0,102,0,32,0,71,0,111,0,111,0,103,0,108,0,101,0,46,0, +71,0,111,0,111,0,103,0,108,0,101,0,71,0,111,0,111,0,103,0,108,0,101,0,46,0,99, +0,111,0,109,0,67,0,104,0,114,0,105,0,115,0,116,0,105,0,97,0,110,0,32,0,82,0, +111,0,98,0,101,0,114,0,116,0,115,0,111,0,110,0,2,0,0,0,0,0,0,255,106,0,100,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,178,0,0,1,2,0,2,0,3,0,7,0,8,0,9,0,10, +0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0, +26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41, +0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0, +57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72, +0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0, +88,0,89,0,90,0,91,0,92,0,93,0,94,0,95,0,96,0,97,0,163,0,132,0,133,0,189,0,150, +0,232,0,134,0,142,0,139,0,157,0,169,0,164,0,138,1,3,0,131,0,147,0,242,0,243,0, +141,0,151,0,136,1,4,0,222,0,241,0,158,0,170,0,245,0,244,0,246,0,162,0,144,0, +240,0,145,0,237,0,137,0,160,0,234,0,184,0,161,0,238,1,5,0,215,1,6,0,226,0,227, +1,7,1,8,0,176,0,177,1,9,1,10,0,166,1,11,1,12,1,13,1,14,1,15,0,216,0,225,0,219, +0,220,0,221,0,224,0,217,0,223,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1, +25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,0,159,1,33,1,34,1,35,1,36,1,37,1,38,1, +39,1,40,1,41,1,42,1,43,0,155,1,44,1,45,1,46,1,47,1,48,1,49,1,50,1,51,1,52,1, +53,1,54,1,55,1,56,1,57,1,58,1,59,1,60,1,61,1,62,1,63,1,64,1,65,1,66,1,67,1,68, +1,69,1,70,1,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1, +84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99, +1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,107,1,108,1,109,1,110,1,111,1,112, +1,113,1,114,0,178,0,179,0,182,0,183,0,196,1,115,0,180,0,181,0,197,0,130,0,194, +0,135,0,171,0,198,0,190,0,191,0,188,1,116,1,117,1,118,0,140,1,119,1,120,1,121, +1,122,0,152,0,154,0,153,0,239,0,165,0,146,0,156,0,143,0,148,0,149,1,123,1,124, +1,125,1,126,1,127,1,128,1,129,1,130,1,131,1,132,1,133,1,134,1,135,1,136,1,137, +1,138,1,139,1,140,1,141,1,142,1,143,1,144,1,145,1,146,1,147,1,148,1,149,1,150, +1,151,1,152,1,153,1,154,1,155,1,156,1,157,1,158,1,159,1,160,1,161,1,162,1,163, +1,164,1,165,1,166,1,167,1,168,1,169,1,170,1,171,1,172,1,173,1,174,1,175,1,176, +1,177,1,178,1,179,1,180,1,181,1,182,1,183,1,184,1,185,1,186,1,187,1,188,1,189, +1,190,1,191,1,192,1,193,1,194,1,195,1,196,1,197,1,198,1,199,1,200,1,201,1,202, +1,203,1,204,1,205,1,206,1,207,1,208,1,209,1,210,1,211,1,212,1,213,1,214,1,215, +1,216,1,217,1,218,1,219,1,220,1,221,1,222,1,223,1,224,1,225,1,226,1,227,1,228, +1,229,1,230,1,231,1,232,1,233,1,234,1,235,1,236,1,237,0,185,1,238,1,239,1,240, +1,241,1,242,1,243,1,244,1,245,1,246,1,247,1,248,1,249,1,250,1,251,1,252,1,253, +1,254,1,255,2,0,2,1,2,2,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2,10,2,11,2,12,2,13,2,14, +2,15,2,16,2,17,2,18,2,19,2,20,2,21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2, +30,2,31,2,32,2,33,2,34,2,35,2,36,2,37,0,172,2,38,0,233,2,39,2,40,2,41,0,173,0, +201,0,199,0,174,0,98,0,99,2,42,0,100,0,203,0,101,0,200,0,202,0,207,0,204,0, +205,0,206,0,102,0,211,0,208,0,209,0,175,0,103,0,214,0,212,0,213,0,104,0,235,0, +106,0,105,0,107,0,109,0,108,0,110,2,43,0,111,0,113,0,112,0,114,0,115,0,117,0, +116,0,118,0,119,0,120,0,122,0,121,0,123,0,125,0,124,0,127,0,126,0,128,0,129,0, +236,0,186,2,44,2,45,2,46,2,47,2,48,2,49,0,253,0,254,2,50,2,51,2,52,2,53,0,255, +1,0,2,54,2,55,2,56,2,57,2,58,2,59,2,60,2,61,2,62,2,63,2,64,2,65,2,66,2,67,0, +248,0,249,2,68,2,69,2,70,2,71,2,72,2,73,2,74,2,75,2,76,2,77,2,78,2,79,2,80,2, +81,2,82,2,83,2,84,2,85,2,86,2,87,2,88,2,89,2,90,2,91,2,92,2,93,2,94,2,95,2,96, +2,97,2,98,2,99,2,100,2,101,2,102,2,103,2,104,2,105,2,106,2,107,2,108,2,109,2, +110,2,111,2,112,2,113,2,114,2,115,2,116,2,117,2,118,2,119,0,251,0,252,0,228,0, +229,2,120,2,121,2,122,2,123,2,124,2,125,2,126,2,127,2,128,2,129,2,130,2,131,2, +132,2,133,2,134,2,135,2,136,2,137,2,138,2,139,0,187,2,140,2,141,2,142,2,143,0, +230,0,231,2,144,2,145,2,146,2,147,2,148,2,149,2,150,2,151,2,152,2,153,2,154,2, +155,2,156,2,157,2,158,2,159,2,160,2,161,2,162,2,163,2,164,2,165,2,166,2,167,2, +168,2,169,2,170,2,171,2,172,2,173,2,174,2,175,2,176,2,177,2,178,2,179,2,180,2, +181,2,182,2,183,2,184,2,185,2,186,2,187,2,188,2,189,2,190,2,191,2,192,2,193,2, +194,2,195,2,196,2,197,2,198,2,199,2,200,2,201,2,202,2,203,2,204,2,205,2,206,2, +207,2,208,2,209,2,210,2,211,2,212,2,213,2,214,2,215,2,216,2,217,2,218,2,219,2, +220,2,221,2,222,2,223,2,224,2,225,2,226,2,227,2,228,2,229,2,230,2,231,2,232,2, +233,2,234,2,235,2,236,2,237,2,238,2,239,2,240,2,241,2,242,2,243,2,244,2,245,2, +246,2,247,2,248,2,249,2,250,2,251,2,252,2,253,2,254,2,255,3,0,3,1,3,2,3,3,3,4, +3,5,3,6,3,7,3,8,3,9,3,10,3,11,3,12,3,13,3,14,3,15,3,16,3,17,3,18,3,19,3,20,3, +21,3,22,3,23,3,24,3,25,3,26,3,27,3,28,3,29,3,30,3,31,3,32,3,33,3,34,3,35,3,36, +3,37,3,38,3,39,3,40,3,41,3,42,3,43,3,44,3,45,3,46,3,47,3,48,3,49,3,50,3,51,3, +52,3,53,3,54,3,55,3,56,3,57,3,58,3,59,3,60,3,61,3,62,3,63,3,64,3,65,3,66,3,67, +3,68,3,69,3,70,3,71,3,72,3,73,3,74,3,75,3,76,3,77,3,78,3,79,3,80,3,81,3,82,3, +83,3,84,3,85,3,86,3,87,3,88,3,89,3,90,3,91,3,92,3,93,3,94,3,95,3,96,3,97,3,98, +3,99,3,100,3,101,3,102,3,103,3,104,3,105,3,106,3,107,3,108,3,109,3,110,3,111, +3,112,3,113,3,114,3,115,3,116,3,117,3,118,3,119,3,120,3,121,3,122,3,123,3,124, +3,125,3,126,3,127,3,128,3,129,3,130,3,131,3,132,3,133,3,134,3,135,3,136,3,137, +3,138,3,139,3,140,3,141,3,142,3,143,3,144,3,145,3,146,3,147,3,148,3,149,3,150, +3,151,3,152,3,153,3,154,3,155,3,156,3,157,3,158,3,159,3,160,3,161,3,162,3,163, +3,164,3,165,3,166,3,167,3,168,3,169,3,170,3,171,3,172,3,173,3,174,3,175,3,176, +3,177,3,178,3,179,3,180,3,181,3,182,3,183,3,184,3,185,3,186,0,247,3,187,0,6,0, +4,0,5,5,46,110,117,108,108,6,109,97,99,114,111,110,14,112,101,114,105,111,100, +99,101,110,116,101,114,101,100,4,72,98,97,114,12,107,103,114,101,101,110,108, +97,110,100,105,99,3,69,110,103,3,101,110,103,4,116,98,97,114,5,108,111,110, +103,115,5,79,104,111,114,110,5,111,104,111,114,110,5,85,104,111,114,110,5,117, +104,111,114,110,7,117,110,105,48,50,51,55,7,117,110,105,48,50,70,51,9,103,114, +97,118,101,99,111,109,98,9,97,99,117,116,101,99,111,109,98,9,116,105,108,100, +101,99,111,109,98,7,117,110,105,48,51,48,70,5,116,111,110,111,115,13,100,105, +101,114,101,115,105,115,116,111,110,111,115,9,97,110,111,116,101,108,101,105, +97,5,71,97,109,109,97,5,68,101,108,116,97,5,84,104,101,116,97,6,76,97,109,98, +100,97,2,88,105,2,80,105,5,83,105,103,109,97,3,80,104,105,3,80,115,105,5,97, +108,112,104,97,4,98,101,116,97,5,103,97,109,109,97,5,100,101,108,116,97,7,101, +112,115,105,108,111,110,4,122,101,116,97,3,101,116,97,5,116,104,101,116,97,4, +105,111,116,97,6,108,97,109,98,100,97,2,120,105,3,114,104,111,6,115,105,103, +109,97,49,5,115,105,103,109,97,3,116,97,117,7,117,112,115,105,108,111,110,3, +112,104,105,3,112,115,105,5,111,109,101,103,97,7,117,110,105,48,52,48,50,7, +117,110,105,48,52,48,52,7,117,110,105,48,52,48,57,7,117,110,105,48,52,48,65,7, +117,110,105,48,52,48,66,7,117,110,105,48,52,48,70,7,117,110,105,48,52,49,49,7, +117,110,105,48,52,49,52,7,117,110,105,48,52,49,54,7,117,110,105,48,52,49,55,7, +117,110,105,48,52,49,56,7,117,110,105,48,52,49,66,7,117,110,105,48,52,50,51,7, +117,110,105,48,52,50,54,7,117,110,105,48,52,50,55,7,117,110,105,48,52,50,56,7, +117,110,105,48,52,50,57,7,117,110,105,48,52,50,65,7,117,110,105,48,52,50,66,7, +117,110,105,48,52,50,67,7,117,110,105,48,52,50,68,7,117,110,105,48,52,50,69,7, +117,110,105,48,52,50,70,7,117,110,105,48,52,51,49,7,117,110,105,48,52,51,50,7, +117,110,105,48,52,51,51,7,117,110,105,48,52,51,52,7,117,110,105,48,52,51,54,7, +117,110,105,48,52,51,55,7,117,110,105,48,52,51,56,7,117,110,105,48,52,51,65,7, +117,110,105,48,52,51,66,7,117,110,105,48,52,51,67,7,117,110,105,48,52,51,68,7, +117,110,105,48,52,51,70,7,117,110,105,48,52,52,50,7,117,110,105,48,52,52,52,7, +117,110,105,48,52,52,54,7,117,110,105,48,52,52,55,7,117,110,105,48,52,52,56,7, +117,110,105,48,52,52,57,7,117,110,105,48,52,52,65,7,117,110,105,48,52,52,66,7, +117,110,105,48,52,52,67,7,117,110,105,48,52,52,68,7,117,110,105,48,52,52,69,7, +117,110,105,48,52,52,70,7,117,110,105,48,52,53,50,7,117,110,105,48,52,53,52,7, +117,110,105,48,52,53,57,7,117,110,105,48,52,53,65,7,117,110,105,48,52,53,66,7, +117,110,105,48,52,53,70,7,117,110,105,48,52,54,48,7,117,110,105,48,52,54,49,7, +117,110,105,48,52,55,50,7,117,110,105,48,52,55,51,7,117,110,105,48,52,56,51,7, +117,110,105,48,52,56,52,7,117,110,105,48,52,56,53,7,117,110,105,48,52,56,54,7, +117,110,105,48,52,69,48,7,117,110,105,48,52,69,49,13,113,117,111,116,101,114, +101,118,101,114,115,101,100,7,117,110,105,50,48,55,52,4,108,105,114,97,4,69, +117,114,111,9,111,110,101,101,105,103,104,116,104,12,116,104,114,101,101,101, +105,103,104,116,104,115,11,102,105,118,101,101,105,103,104,116,104,115,12,115, +101,118,101,110,101,105,103,104,116,104,115,8,100,111,116,98,101,108,111,119, +4,104,111,111,107,19,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101, +99,111,109,98,19,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,99, +111,109,98,18,99,105,114,99,117,109,102,108,101,120,104,111,111,107,99,111, +109,98,19,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,99,111, +109,98,14,98,114,101,118,101,97,99,117,116,101,99,111,109,98,13,98,114,101, +118,101,104,111,111,107,99,111,109,98,14,98,114,101,118,101,116,105,108,100, +101,99,111,109,98,11,99,121,114,105,108,108,105,99,116,105,99,16,99,121,114, +105,108,108,105,99,104,111,111,107,108,101,102,116,12,99,121,114,105,108,108, +105,99,104,111,111,107,14,108,97,114,103,101,114,105,103,104,116,104,111,111, +107,8,111,110,101,46,108,110,117,109,8,116,119,111,46,108,110,117,109,10,116, +104,114,101,101,46,108,110,117,109,9,102,111,117,114,46,108,110,117,109,9,102, +105,118,101,46,108,110,117,109,8,115,105,120,46,108,110,117,109,10,115,101, +118,101,110,46,108,110,117,109,10,101,105,103,104,116,46,108,110,117,109,9, +110,105,110,101,46,108,110,117,109,9,122,101,114,111,46,108,110,117,109,6,65, +46,115,109,99,112,14,98,114,101,118,101,103,114,97,118,101,99,111,109,98,6,66, +46,115,109,99,112,6,67,46,115,109,99,112,6,68,46,115,109,99,112,6,69,46,115, +109,99,112,6,70,46,115,109,99,112,6,71,46,115,109,99,112,6,72,46,115,109,99, +112,6,73,46,115,109,99,112,6,74,46,115,109,99,112,6,75,46,115,109,99,112,6,76, +46,115,109,99,112,6,77,46,115,109,99,112,6,78,46,115,109,99,112,6,79,46,115, +109,99,112,6,80,46,115,109,99,112,6,81,46,115,109,99,112,6,82,46,115,109,99, +112,6,83,46,115,109,99,112,6,84,46,115,109,99,112,6,85,46,115,109,99,112,6,86, +46,115,109,99,112,6,87,46,115,109,99,112,6,88,46,115,109,99,112,6,89,46,115, +109,99,112,6,90,46,115,109,99,112,9,122,101,114,111,46,115,109,99,112,8,111, +110,101,46,115,109,99,112,8,116,119,111,46,115,109,99,112,10,116,104,114,101, +101,46,115,109,99,112,9,102,111,117,114,46,115,109,99,112,9,102,105,118,101, +46,115,109,99,112,8,115,105,120,46,115,109,99,112,10,115,101,118,101,110,46, +115,109,99,112,10,101,105,103,104,116,46,115,109,99,112,9,110,105,110,101,46, +115,109,99,112,8,122,101,114,111,46,115,117,112,7,111,110,101,46,115,117,112, +7,116,119,111,46,115,117,112,9,116,104,114,101,101,46,115,117,112,8,102,111, +117,114,46,115,117,112,8,102,105,118,101,46,115,117,112,7,115,105,120,46,115, +117,112,9,115,101,118,101,110,46,115,117,112,9,101,105,103,104,116,46,115,117, +112,8,110,105,110,101,46,115,117,112,11,99,111,109,109,97,97,99,99,101,110, +116,7,117,110,105,48,52,55,52,7,117,110,105,48,52,55,53,7,117,110,105,48,52, +56,48,7,117,110,105,48,52,56,49,7,117,110,105,48,52,67,51,7,117,110,105,48,52, +67,52,7,117,110,105,48,52,57,52,7,117,110,105,48,52,57,53,7,117,110,105,48,52, +65,54,7,117,110,105,48,52,65,55,7,117,110,105,48,52,68,56,7,117,110,105,48,52, +68,57,7,117,110,105,48,52,65,52,7,117,110,105,48,52,65,53,7,117,110,105,48,52, +66,52,7,117,110,105,48,52,66,53,7,117,110,105,48,52,66,67,7,117,110,105,48,52, +66,68,7,117,110,105,48,52,66,65,8,99,114,111,115,115,98,97,114,7,117,110,105, +48,52,65,48,7,117,110,105,48,52,65,49,7,117,110,105,48,52,54,52,7,117,110,105, +48,52,54,53,7,117,110,105,48,52,54,54,7,117,110,105,48,52,54,55,7,117,110,105, +48,53,48,65,7,117,110,105,48,53,48,66,7,117,110,105,48,53,48,57,7,117,110,105, +48,53,48,56,7,117,110,105,48,53,48,67,7,117,110,105,48,53,48,68,7,117,110,105, +48,53,48,69,7,117,110,105,48,53,48,70,7,117,110,105,48,53,48,50,7,117,110,105, +48,53,48,51,7,117,110,105,48,53,48,52,7,117,110,105,48,53,48,53,7,117,110,105, +48,53,48,54,7,117,110,105,48,53,48,55,7,117,110,105,48,53,48,48,7,117,110,105, +48,53,49,48,7,117,110,105,48,52,57,48,7,117,110,105,48,52,57,49,7,117,110,105, +48,52,57,67,7,117,110,105,48,52,57,68,7,117,110,105,48,52,66,56,7,117,110,105, +48,52,66,57,7,117,110,105,48,52,67,56,7,117,110,105,48,52,67,55,7,117,110,105, +48,52,54,69,7,117,110,105,48,52,54,70,7,117,110,105,48,52,54,56,7,117,110,105, +48,52,54,57,7,117,110,105,48,52,56,69,7,117,110,105,48,52,56,70,3,99,104,105, +17,99,111,109,109,97,97,99,99,101,110,116,114,111,116,97,116,101,7,117,110, +105,48,51,68,54,7,117,110,105,48,51,68,50,7,117,110,105,48,52,55,65,7,117,110, +105,48,52,55,66,7,117,110,105,48,52,55,69,7,117,110,105,48,52,55,70,7,117,110, +105,48,52,54,65,7,117,110,105,48,52,54,66,7,117,110,105,48,52,54,67,7,117,110, +105,48,52,54,68,7,117,110,105,50,48,48,48,7,117,110,105,50,48,48,49,7,117,110, +105,50,48,48,50,7,117,110,105,50,48,48,51,7,117,110,105,50,48,48,52,7,117,110, +105,50,48,48,53,7,117,110,105,50,48,48,54,7,117,110,105,50,48,48,55,7,117,110, +105,50,48,48,56,7,117,110,105,50,48,48,57,7,117,110,105,50,48,48,65,7,117,110, +105,70,70,70,67,7,117,110,105,70,70,70,68,13,117,110,100,101,114,115,99,111, +114,101,100,98,108,7,117,110,105,48,52,65,56,7,117,110,105,48,52,65,57,7,117, +110,105,50,48,48,66,7,117,110,105,70,69,70,70,7,117,110,105,48,51,68,49,7,117, +110,105,48,52,56,50,7,117,110,105,48,52,56,56,7,117,110,105,48,52,56,57,9,110, +115,117,112,101,114,105,111,114,9,101,115,116,105,109,97,116,101,100,9,100,97, +115,105,97,111,120,105,97,7,117,110,105,50,49,48,53,7,117,110,105,50,49,49,54, +7,117,110,105,50,49,49,51,6,112,101,115,101,116,97,6,100,99,114,111,97,116,7, +117,110,105,50,48,50,53,13,99,121,114,105,108,108,105,99,98,114,101,118,101,6, +68,99,114,111,97,116,4,104,98,97,114,4,84,98,97,114,7,117,110,105,48,48,65,68, +10,65,114,105,110,103,97,99,117,116,101,10,97,114,105,110,103,97,99,117,116, +101,7,65,109,97,99,114,111,110,7,97,109,97,99,114,111,110,6,65,98,114,101,118, +101,6,97,98,114,101,118,101,7,65,111,103,111,110,101,107,7,97,111,103,111,110, +101,107,11,67,99,105,114,99,117,109,102,108,101,120,11,99,99,105,114,99,117, +109,102,108,101,120,4,67,100,111,116,4,99,100,111,116,6,68,99,97,114,111,110, +6,100,99,97,114,111,110,7,69,109,97,99,114,111,110,7,101,109,97,99,114,111, +110,6,69,98,114,101,118,101,6,101,98,114,101,118,101,10,69,100,111,116,97,99, +99,101,110,116,10,101,100,111,116,97,99,99,101,110,116,7,69,111,103,111,110, +101,107,7,101,111,103,111,110,101,107,6,69,99,97,114,111,110,6,101,99,97,114, +111,110,11,71,99,105,114,99,117,109,102,108,101,120,11,103,99,105,114,99,117, +109,102,108,101,120,4,71,100,111,116,4,103,100,111,116,12,71,99,111,109,109, +97,97,99,99,101,110,116,12,103,99,111,109,109,97,97,99,99,101,110,116,11,72, +99,105,114,99,117,109,102,108,101,120,11,104,99,105,114,99,117,109,102,108, +101,120,6,73,116,105,108,100,101,6,105,116,105,108,100,101,7,73,109,97,99,114, +111,110,7,105,109,97,99,114,111,110,6,73,98,114,101,118,101,6,105,98,114,101, +118,101,7,73,111,103,111,110,101,107,7,105,111,103,111,110,101,107,10,73,100, +111,116,97,99,99,101,110,116,2,73,74,2,105,106,11,74,99,105,114,99,117,109, +102,108,101,120,11,106,99,105,114,99,117,109,102,108,101,120,12,75,99,111,109, +109,97,97,99,99,101,110,116,12,107,99,111,109,109,97,97,99,99,101,110,116,6, +76,97,99,117,116,101,6,108,97,99,117,116,101,12,76,99,111,109,109,97,97,99,99, +101,110,116,12,108,99,111,109,109,97,97,99,99,101,110,116,6,76,99,97,114,111, +110,6,108,99,97,114,111,110,4,76,100,111,116,4,108,100,111,116,6,78,97,99,117, +116,101,6,110,97,99,117,116,101,12,78,99,111,109,109,97,97,99,99,101,110,116, +12,110,99,111,109,109,97,97,99,99,101,110,116,6,78,99,97,114,111,110,6,110,99, +97,114,111,110,11,110,97,112,111,115,116,114,111,112,104,101,7,79,109,97,99, +114,111,110,7,111,109,97,99,114,111,110,6,79,98,114,101,118,101,6,111,98,114, +101,118,101,13,79,104,117,110,103,97,114,117,109,108,97,117,116,13,111,104, +117,110,103,97,114,117,109,108,97,117,116,6,82,97,99,117,116,101,6,114,97,99, +117,116,101,12,82,99,111,109,109,97,97,99,99,101,110,116,12,114,99,111,109, +109,97,97,99,99,101,110,116,6,82,99,97,114,111,110,6,114,99,97,114,111,110,6, +83,97,99,117,116,101,6,115,97,99,117,116,101,11,83,99,105,114,99,117,109,102, +108,101,120,11,115,99,105,114,99,117,109,102,108,101,120,12,84,99,111,109,109, +97,97,99,99,101,110,116,12,116,99,111,109,109,97,97,99,99,101,110,116,6,84,99, +97,114,111,110,6,116,99,97,114,111,110,6,85,116,105,108,100,101,6,117,116,105, +108,100,101,7,85,109,97,99,114,111,110,7,117,109,97,99,114,111,110,6,85,98, +114,101,118,101,6,117,98,114,101,118,101,5,85,114,105,110,103,5,117,114,105, +110,103,13,85,104,117,110,103,97,114,117,109,108,97,117,116,13,117,104,117, +110,103,97,114,117,109,108,97,117,116,7,85,111,103,111,110,101,107,7,117,111, +103,111,110,101,107,11,87,99,105,114,99,117,109,102,108,101,120,11,119,99,105, +114,99,117,109,102,108,101,120,11,89,99,105,114,99,117,109,102,108,101,120,11, +121,99,105,114,99,117,109,102,108,101,120,6,90,97,99,117,116,101,6,122,97,99, +117,116,101,10,90,100,111,116,97,99,99,101,110,116,10,122,100,111,116,97,99, +99,101,110,116,7,65,69,97,99,117,116,101,7,97,101,97,99,117,116,101,11,79,115, +108,97,115,104,97,99,117,116,101,11,111,115,108,97,115,104,97,99,117,116,101, +12,83,99,111,109,109,97,97,99,99,101,110,116,12,115,99,111,109,109,97,97,99, +99,101,110,116,10,65,108,112,104,97,116,111,110,111,115,12,69,112,115,105,108, +111,110,116,111,110,111,115,8,69,116,97,116,111,110,111,115,9,73,111,116,97, +116,111,110,111,115,12,79,109,105,99,114,111,110,116,111,110,111,115,12,85, +112,115,105,108,111,110,116,111,110,111,115,10,79,109,101,103,97,116,111,110, +111,115,17,105,111,116,97,100,105,101,114,101,115,105,115,116,111,110,111,115, +5,65,108,112,104,97,4,66,101,116,97,7,69,112,115,105,108,111,110,4,90,101,116, +97,3,69,116,97,4,73,111,116,97,5,75,97,112,112,97,2,77,117,2,78,117,7,79,109, +105,99,114,111,110,3,82,104,111,3,84,97,117,7,85,112,115,105,108,111,110,3,67, +104,105,12,73,111,116,97,100,105,101,114,101,115,105,115,15,85,112,115,105, +108,111,110,100,105,101,114,101,115,105,115,10,97,108,112,104,97,116,111,110, +111,115,12,101,112,115,105,108,111,110,116,111,110,111,115,8,101,116,97,116, +111,110,111,115,9,105,111,116,97,116,111,110,111,115,20,117,112,115,105,108, +111,110,100,105,101,114,101,115,105,115,116,111,110,111,115,5,107,97,112,112, +97,7,111,109,105,99,114,111,110,7,117,110,105,48,51,66,67,2,110,117,12,105, +111,116,97,100,105,101,114,101,115,105,115,15,117,112,115,105,108,111,110,100, +105,101,114,101,115,105,115,12,111,109,105,99,114,111,110,116,111,110,111,115, +12,117,112,115,105,108,111,110,116,111,110,111,115,10,111,109,101,103,97,116, +111,110,111,115,7,117,110,105,48,52,48,49,7,117,110,105,48,52,48,51,7,117,110, +105,48,52,48,53,7,117,110,105,48,52,48,54,7,117,110,105,48,52,48,55,7,117,110, +105,48,52,48,56,7,117,110,105,48,52,48,67,7,117,110,105,48,52,48,69,7,117,110, +105,48,52,49,65,7,117,110,105,48,52,49,48,7,117,110,105,48,52,49,50,7,117,110, +105,48,52,49,51,7,117,110,105,48,52,49,53,7,117,110,105,48,52,49,57,7,117,110, +105,48,52,49,67,7,117,110,105,48,52,49,68,7,117,110,105,48,52,49,69,7,117,110, +105,48,52,49,70,7,117,110,105,48,52,50,48,7,117,110,105,48,52,50,49,7,117,110, +105,48,52,50,50,7,117,110,105,48,52,50,52,7,117,110,105,48,52,50,53,7,117,110, +105,48,52,51,48,7,117,110,105,48,52,51,53,7,117,110,105,48,52,51,57,7,117,110, +105,48,52,51,69,7,117,110,105,48,52,52,48,7,117,110,105,48,52,52,49,7,117,110, +105,48,52,52,51,7,117,110,105,48,52,52,53,7,117,110,105,48,52,53,49,7,117,110, +105,48,52,53,51,7,117,110,105,48,52,53,53,7,117,110,105,48,52,53,54,7,117,110, +105,48,52,53,55,7,117,110,105,48,52,53,56,7,117,110,105,48,52,53,67,7,117,110, +105,48,52,53,69,6,87,103,114,97,118,101,6,119,103,114,97,118,101,6,87,97,99, +117,116,101,6,119,97,99,117,116,101,9,87,100,105,101,114,101,115,105,115,9, +119,100,105,101,114,101,115,105,115,6,89,103,114,97,118,101,6,121,103,114,97, +118,101,6,109,105,110,117,116,101,6,115,101,99,111,110,100,9,101,120,99,108, +97,109,100,98,108,7,117,110,105,70,66,48,49,7,117,110,105,70,66,48,50,7,117, +110,105,48,49,70,48,7,117,110,105,48,50,66,67,7,117,110,105,49,69,51,69,7,117, +110,105,49,69,51,70,7,117,110,105,49,69,48,48,7,117,110,105,49,69,48,49,7,117, +110,105,49,70,52,68,7,117,110,105,70,66,48,51,7,117,110,105,70,66,48,52,7,117, +110,105,48,52,48,48,7,117,110,105,48,52,48,68,7,117,110,105,48,52,53,48,7,117, +110,105,48,52,53,68,7,117,110,105,48,52,55,48,7,117,110,105,48,52,55,49,7,117, +110,105,48,52,55,54,7,117,110,105,48,52,55,55,7,117,110,105,48,52,55,57,7,117, +110,105,48,52,55,56,7,117,110,105,48,52,57,56,7,117,110,105,48,52,57,57,7,117, +110,105,48,52,65,65,7,117,110,105,48,52,65,66,7,117,110,105,48,52,65,69,7,117, +110,105,48,52,65,70,7,117,110,105,48,52,67,48,7,117,110,105,48,52,67,49,7,117, +110,105,48,52,67,50,7,117,110,105,48,52,67,70,7,117,110,105,48,52,68,48,7,117, +110,105,48,52,68,49,7,117,110,105,48,52,68,50,7,117,110,105,48,52,68,51,7,117, +110,105,48,52,68,52,7,117,110,105,48,52,68,53,7,117,110,105,48,52,68,54,7,117, +110,105,48,52,68,55,7,117,110,105,48,52,68,65,7,117,110,105,48,52,68,66,7,117, +110,105,48,52,68,67,7,117,110,105,48,52,68,68,7,117,110,105,48,52,68,69,7,117, +110,105,48,52,68,70,7,117,110,105,48,52,69,50,7,117,110,105,48,52,69,51,7,117, +110,105,48,52,69,52,7,117,110,105,48,52,69,53,7,117,110,105,48,52,69,54,7,117, +110,105,48,52,69,55,7,117,110,105,48,52,69,56,7,117,110,105,48,52,69,57,7,117, +110,105,48,52,69,65,7,117,110,105,48,52,69,66,7,117,110,105,48,52,69,67,7,117, +110,105,48,52,69,68,7,117,110,105,48,52,69,69,7,117,110,105,48,52,69,70,7,117, +110,105,48,52,70,48,7,117,110,105,48,52,70,49,7,117,110,105,48,52,70,50,7,117, +110,105,48,52,70,51,7,117,110,105,48,52,70,52,7,117,110,105,48,52,70,53,7,117, +110,105,48,52,70,56,7,117,110,105,48,52,70,57,7,117,110,105,48,52,70,67,7,117, +110,105,48,52,70,68,7,117,110,105,48,53,48,49,7,117,110,105,48,53,49,50,7,117, +110,105,48,53,49,51,7,117,110,105,49,69,65,48,7,117,110,105,49,69,65,49,7,117, +110,105,49,69,65,50,7,117,110,105,49,69,65,51,7,117,110,105,49,69,65,52,7,117, +110,105,49,69,65,53,7,117,110,105,49,69,65,54,7,117,110,105,49,69,65,55,7,117, +110,105,49,69,65,56,7,117,110,105,49,69,65,57,7,117,110,105,49,69,65,65,7,117, +110,105,49,69,65,66,7,117,110,105,49,69,65,67,7,117,110,105,49,69,65,68,7,117, +110,105,49,69,65,69,7,117,110,105,49,69,65,70,7,117,110,105,49,69,66,48,7,117, +110,105,49,69,66,49,7,117,110,105,49,69,66,50,7,117,110,105,49,69,66,51,7,117, +110,105,49,69,66,52,7,117,110,105,49,69,66,53,7,117,110,105,49,69,66,54,7,117, +110,105,49,69,66,55,7,117,110,105,49,69,66,56,7,117,110,105,49,69,66,57,7,117, +110,105,49,69,66,65,7,117,110,105,49,69,66,66,7,117,110,105,49,69,66,67,7,117, +110,105,49,69,66,68,7,117,110,105,49,69,66,69,7,117,110,105,49,69,66,70,7,117, +110,105,49,69,67,48,7,117,110,105,49,69,67,49,7,117,110,105,49,69,67,50,7,117, +110,105,49,69,67,51,7,117,110,105,49,69,67,52,7,117,110,105,49,69,67,53,7,117, +110,105,49,69,67,54,7,117,110,105,49,69,67,55,7,117,110,105,49,69,67,56,7,117, +110,105,49,69,67,57,7,117,110,105,49,69,67,65,7,117,110,105,49,69,67,66,7,117, +110,105,49,69,67,67,7,117,110,105,49,69,67,68,7,117,110,105,49,69,67,69,7,117, +110,105,49,69,67,70,7,117,110,105,49,69,68,48,7,117,110,105,49,69,68,49,7,117, +110,105,49,69,68,50,7,117,110,105,49,69,68,51,7,117,110,105,49,69,68,52,7,117, +110,105,49,69,68,53,7,117,110,105,49,69,68,54,7,117,110,105,49,69,68,55,7,117, +110,105,49,69,68,56,7,117,110,105,49,69,68,57,7,117,110,105,49,69,68,65,7,117, +110,105,49,69,68,66,7,117,110,105,49,69,68,67,7,117,110,105,49,69,68,68,7,117, +110,105,49,69,68,69,7,117,110,105,49,69,68,70,7,117,110,105,49,69,69,48,7,117, +110,105,49,69,69,49,7,117,110,105,49,69,69,50,7,117,110,105,49,69,69,51,7,117, +110,105,49,69,69,52,7,117,110,105,49,69,69,53,7,117,110,105,49,69,69,54,7,117, +110,105,49,69,69,55,7,117,110,105,49,69,69,56,7,117,110,105,49,69,69,57,7,117, +110,105,49,69,69,65,7,117,110,105,49,69,69,66,7,117,110,105,49,69,69,67,7,117, +110,105,49,69,69,68,7,117,110,105,49,69,69,69,7,117,110,105,49,69,69,70,7,117, +110,105,49,69,70,48,7,117,110,105,49,69,70,49,7,117,110,105,49,69,70,52,7,117, +110,105,49,69,70,53,7,117,110,105,49,69,70,54,7,117,110,105,49,69,70,55,7,117, +110,105,49,69,70,56,7,117,110,105,49,69,70,57,7,117,110,105,50,48,65,66,7,117, +110,105,48,52,57,65,7,117,110,105,48,52,57,66,7,117,110,105,48,52,65,50,7,117, +110,105,48,52,65,51,7,117,110,105,48,52,65,67,7,117,110,105,48,52,65,68,7,117, +110,105,48,52,66,50,7,117,110,105,48,52,66,51,7,117,110,105,48,52,66,54,7,117, +110,105,48,52,66,55,7,117,110,105,48,52,67,66,7,117,110,105,48,52,67,67,7,117, +110,105,48,52,70,54,7,117,110,105,48,52,70,55,7,117,110,105,48,52,57,54,7,117, +110,105,48,52,57,55,7,117,110,105,48,52,66,69,7,117,110,105,48,52,66,70,7,117, +110,105,48,52,66,66,7,117,110,105,48,52,56,68,7,117,110,105,48,52,56,67,7,117, +110,105,48,52,54,51,7,117,110,105,48,52,54,50,7,117,110,105,48,52,57,50,7,117, +110,105,48,52,57,51,7,117,110,105,48,52,57,69,7,117,110,105,48,52,57,70,7,117, +110,105,48,52,56,65,7,117,110,105,48,52,56,66,7,117,110,105,48,52,67,57,7,117, +110,105,48,52,67,65,7,117,110,105,48,52,67,68,7,117,110,105,48,52,67,69,7,117, +110,105,48,52,67,53,7,117,110,105,48,52,67,54,7,117,110,105,48,52,66,48,7,117, +110,105,48,52,66,49,7,117,110,105,48,52,70,69,7,117,110,105,48,52,70,70,7,117, +110,105,48,52,70,65,7,117,110,105,48,52,70,66,7,117,110,105,48,52,55,67,7,117, +110,105,48,52,55,68,7,117,110,105,48,53,49,49,7,117,110,105,50,48,49,53,0,0,0, +0,1,0,0,0,12,0,0,0,0,0,0,0,2,0,4,0,255,1,2,0,1,1,180,1,192,0,1,1,196,1,204,0, +1,1,206,1,207,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,30,0,44,0,1,108,97,116,110,0, +8,0,4,0,0,0,0,255,255,0,1,0,0,0,1,107,101,114,110,0,8,0,0,0,1,0,0,0,1,0,4,0,2, +0,0,0,1,0,8,0,1,24,50,0,4,0,0,0,148,1,50,1,68,1,102,1,120,1,154,1,192,1,222,2, +4,2,38,2,68,2,94,2,128,3,6,3,40,3,94,3,120,3,238,4,32,4,62,4,84,4,150,4,160,4, +226,5,76,5,106,5,120,5,222,6,52,6,118,6,204,6,250,7,152,7,206,8,56,8,170,8, +220,9,106,9,176,9,182,9,192,9,214,9,224,9,234,9,248,10,26,10,36,10,46,10,56, +10,62,10,72,10,82,10,92,10,118,10,132,10,206,10,216,10,226,10,236,11,22,11,48, +11,78,11,116,11,142,11,148,12,38,12,96,12,226,12,236,13,34,13,44,13,78,13,84, +13,126,13,132,13,162,13,228,13,242,14,36,14,78,14,88,14,114,14,128,14,222,14, +232,14,242,15,0,15,54,15,108,15,162,15,188,15,222,16,16,16,58,16,112,16,134, +17,36,17,70,17,128,17,170,17,212,17,250,18,36,18,122,18,140,18,174,18,192,18, +210,18,244,19,14,19,60,19,150,19,180,19,206,19,240,19,254,20,28,20,50,20,72, +20,90,20,112,20,130,20,228,21,2,21,100,21,138,21,156,21,166,21,176,21,182,21, +200,21,242,22,12,22,30,22,56,22,94,22,140,22,146,22,168,22,194,22,212,22,254, +23,20,23,126,23,168,23,210,23,220,23,242,24,40,0,4,0,42,255,162,0,54,0,40,0, +55,0,37,0,57,0,45,0,8,0,16,0,4,0,17,255,221,0,19,255,252,0,20,0,5,0,21,255, +253,0,22,0,4,0,23,255,213,0,25,0,6,0,4,0,18,255,250,0,19,255,250,0,21,255,250, +0,23,255,254,0,8,0,16,255,239,0,17,255,239,0,18,0,8,0,21,255,242,0,22,255,239, +0,23,255,233,0,24,255,238,0,25,0,2,0,9,0,17,255,236,0,18,255,253,0,19,0,7,0, +20,0,15,0,21,0,4,0,22,255,253,0,23,255,228,0,24,0,5,0,25,255,255,0,7,0,16,0,3, +0,18,255,225,0,20,0,34,0,21,0,17,0,22,0,3,0,23,255,173,0,24,0,19,0,9,0,17,255, +252,0,18,255,234,0,19,0,6,0,20,0,17,0,21,0,5,0,22,255,254,0,23,255,253,0,24,0, +6,0,25,255,229,0,8,0,16,0,2,0,17,255,217,0,18,255,232,0,20,0,23,0,21,0,9,0,22, +0,2,0,23,255,216,0,24,0,11,0,7,0,17,0,36,0,20,255,94,0,21,255,225,0,22,255, +217,0,23,0,38,0,24,255,234,0,25,255,249,0,6,0,16,255,255,0,17,255,234,0,19,0, +11,0,20,0,20,0,21,0,8,0,22,255,255,0,8,0,16,0,3,0,17,255,218,0,18,255,247,0, +20,0,5,0,21,255,252,0,22,0,3,0,23,255,209,0,25,0,5,0,33,0,35,255,218,0,39,255, +217,0,47,255,214,0,49,255,217,0,52,255,104,0,53,255,211,0,54,255,108,0,55,255, +157,0,57,255,93,0,65,0,5,0,67,255,236,0,68,255,229,0,69,255,232,0,71,255,240, +0,79,255,232,0,81,255,240,0,83,0,3,0,84,255,192,0,85,255,233,0,86,255,173,0, +87,255,188,0,90,0,24,1,8,255,120,1,12,255,120,1,66,255,236,1,70,255,233,1,78, +255,233,1,80,255,236,1,83,255,139,1,84,255,225,1,85,255,152,1,86,255,185,1,88, +255,133,0,8,0,57,255,93,0,65,0,10,0,73,255,252,0,76,255,252,0,79,0,6,0,82,0,2, +0,85,0,5,0,89,0,4,0,13,0,35,255,250,0,39,255,250,0,47,255,247,0,49,255,250,0, +73,255,244,0,82,255,250,0,85,255,250,0,89,0,11,0,90,255,247,1,66,255,250,1,70, +255,249,1,78,255,249,1,80,255,250,0,6,0,54,255,213,0,55,255,230,0,65,255,253, +0,69,0,4,0,79,0,4,0,85,0,4,0,29,0,54,0,17,0,55,0,16,0,57,0,18,0,66,255,245,0, +67,255,218,0,68,255,213,0,69,255,217,0,70,255,219,0,71,255,222,0,73,255,246,0, +74,255,249,0,75,255,248,0,76,255,246,0,77,255,238,0,78,255,238,0,79,255,217,0, +80,255,242,0,81,255,222,0,82,255,240,0,84,255,212,0,85,255,222,0,86,255,203,0, +87,255,210,0,88,0,5,0,89,255,207,0,90,0,6,1,85,255,224,1,86,255,218,1,88,255, +223,0,12,0,12,254,205,0,14,254,205,0,33,255,135,0,65,255,187,0,69,255,212,0, +73,255,249,0,76,255,247,0,79,255,212,0,82,255,203,0,85,255,210,0,89,255,206,1, +63,255,124,0,7,0,65,0,1,0,69,0,4,0,78,255,255,0,79,0,1,0,82,0,2,0,85,0,1,0,89, +0,1,0,5,0,65,255,250,0,69,255,246,0,79,255,246,0,85,255,247,0,89,255,253,0,16, +0,65,255,248,0,67,255,248,0,68,255,238,0,70,255,244,0,71,255,248,0,77,255,248, +0,78,255,248,0,79,255,244,0,80,255,252,0,82,255,248,0,83,255,248,0,84,255,247, +0,85,255,248,0,86,255,250,0,87,255,252,0,89,255,250,0,2,0,65,255,247,0,79,255, +247,0,16,0,35,255,200,0,39,255,196,0,47,255,193,0,49,255,196,0,65,255,246,0, +69,255,202,0,73,255,247,0,79,255,201,0,82,255,248,0,85,255,208,0,87,255,177,0, +89,255,175,1,66,255,207,1,70,255,203,1,78,255,204,1,80,255,204,0,26,0,33,0,39, +0,35,255,213,0,39,255,209,0,47,255,205,0,49,255,209,0,52,255,100,0,53,255,206, +0,54,255,71,0,55,255,147,0,57,255,79,0,74,255,254,0,85,255,227,0,87,255,170,0, +89,255,147,1,8,254,233,1,12,254,230,1,63,0,38,1,66,255,229,1,70,255,225,1,78, +255,227,1,80,255,227,1,83,255,118,1,84,255,220,1,85,255,109,1,86,255,172,1,88, +255,106,0,7,0,65,255,249,0,69,255,245,0,74,255,248,0,78,255,249,0,79,255,245, +0,85,255,249,0,89,255,252,0,3,0,69,255,247,0,79,255,247,0,89,255,253,0,25,0, +33,255,214,0,52,255,201,0,54,255,211,0,55,255,233,0,56,255,210,0,57,255,198,0, +67,0,2,0,68,255,252,0,69,0,2,0,70,0,1,0,71,0,2,0,74,255,245,0,79,0,2,0,80,255, +255,0,81,0,5,0,83,255,255,0,84,0,4,0,85,0,2,0,88,255,244,0,89,0,7,0,90,255, +241,1,63,255,215,1,85,255,254,1,86,255,255,1,87,255,233,0,21,0,12,254,176,0, +14,254,176,0,33,255,146,0,37,255,250,0,40,255,250,0,41,255,250,0,65,255,234,0, +69,255,230,0,72,255,254,0,73,255,248,0,76,255,250,0,78,255,250,0,79,255,230,0, +82,255,252,0,83,255,244,0,84,0,29,0,89,0,31,1,63,255,138,1,68,255,253,1,71, +255,253,1,72,255,253,0,16,0,33,0,28,0,52,255,188,0,53,255,242,0,54,255,199,0, +55,255,216,0,56,0,24,0,57,255,185,0,65,255,255,0,85,255,252,1,63,0,28,1,83, +255,244,1,84,255,249,1,85,255,240,1,86,255,244,1,87,0,13,1,88,255,238,0,21,0, +35,255,245,0,39,255,245,0,47,255,242,0,49,255,245,0,52,255,215,0,53,255,242,0, +54,255,217,0,55,255,226,0,57,255,158,0,65,255,252,0,69,255,241,0,79,255,241,0, +85,255,248,0,89,255,254,1,66,255,246,1,70,255,245,1,78,255,245,1,80,255,245,1, +83,255,253,1,84,255,245,1,86,255,248,0,11,0,65,0,1,0,69,255,253,0,74,255,247, +0,77,255,250,0,78,255,250,0,79,255,253,0,80,255,254,0,81,255,255,0,85,255,254, +0,87,0,6,0,89,0,5,0,39,0,12,255,92,0,13,255,96,0,14,255,92,0,26,255,102,0,27, +255,100,0,33,255,94,0,35,255,204,0,39,255,200,0,47,255,199,0,49,255,202,0,51, +255,223,0,52,0,32,0,54,0,32,0,55,0,31,0,56,0,21,0,57,0,33,0,65,255,97,0,69, +255,94,0,73,255,249,0,77,255,122,0,79,255,94,0,82,255,122,0,83,255,101,0,85, +255,122,0,87,255,159,0,89,255,156,0,90,255,133,1,8,0,7,1,63,255,91,1,66,255, +110,1,70,255,110,1,78,255,110,1,80,255,110,1,82,255,117,1,83,255,225,1,85,255, +235,1,86,255,225,1,87,255,218,1,88,255,236,0,13,0,33,255,211,0,68,255,240,0, +70,255,252,0,71,255,248,0,77,255,248,0,78,255,248,0,80,255,248,0,82,255,248,0, +83,255,244,0,84,255,255,0,88,255,241,0,90,255,237,1,63,255,212,0,26,0,9,0,40, +0,12,255,76,0,13,255,181,0,14,255,81,0,26,255,193,0,27,255,193,0,33,255,103,0, +35,255,213,0,39,255,213,0,47,255,210,0,49,255,213,0,61,0,34,0,65,255,161,0,69, +255,165,0,79,255,161,0,82,255,194,0,85,255,198,0,89,255,234,0,93,0,38,1,8,0, +12,1,12,0,12,1,63,255,100,1,66,255,177,1,70,255,177,1,78,255,177,1,80,255,177, +0,28,0,9,0,31,0,12,255,138,0,13,255,213,0,14,255,138,0,26,255,212,0,27,255, +211,0,33,255,147,0,35,255,228,0,39,255,228,0,47,255,225,0,49,255,228,0,52,0, +29,0,61,0,25,0,65,255,189,0,69,255,193,0,79,255,193,0,82,255,213,0,85,255,217, +0,89,255,247,0,93,0,29,1,8,0,9,1,12,0,9,1,63,255,148,1,66,255,209,1,70,255, +205,1,78,255,205,1,80,255,205,1,83,255,254,0,12,0,35,255,209,0,39,255,209,0, +47,255,205,0,49,255,209,0,69,255,203,0,85,255,212,0,89,255,192,1,8,255,249,1, +66,255,209,1,70,255,205,1,78,255,205,1,80,255,208,0,35,0,9,0,41,0,12,255,69,0, +13,255,150,0,14,255,69,0,26,255,167,0,27,255,168,0,33,255,88,0,35,255,202,0, +39,255,200,0,47,255,196,0,49,255,200,0,52,0,34,0,54,0,36,0,55,0,34,0,56,0,27, +0,57,0,37,0,61,0,37,0,65,255,127,0,69,255,122,0,79,255,122,0,81,255,131,0,84, +255,210,0,85,255,176,0,86,255,216,0,93,0,39,1,63,255,81,1,66,255,151,1,70,255, +147,1,78,255,147,1,80,255,147,1,83,255,230,1,85,255,238,1,86,255,230,1,87,255, +222,1,88,255,239,0,17,0,33,0,27,0,35,255,209,0,39,255,205,0,47,255,202,0,49, +255,205,0,65,255,254,0,69,255,213,0,73,255,247,0,79,255,212,0,85,255,218,0,87, +255,200,0,89,255,201,1,63,0,27,1,66,255,218,1,70,255,214,1,78,255,216,1,80, +255,216,0,1,0,42,255,219,0,2,1,8,255,225,1,12,255,225,0,5,0,86,255,233,0,87, +255,240,0,89,255,233,1,8,255,197,1,12,255,197,0,2,1,8,255,246,1,12,255,246,0, +2,1,8,255,247,1,12,255,247,0,3,0,89,255,230,1,8,255,227,1,12,255,227,0,8,0,7, +0,32,0,9,0,41,0,61,0,37,0,71,255,207,0,93,0,39,1,8,0,32,1,12,0,32,3,177,0,28, +0,2,1,8,255,247,1,12,255,247,0,2,1,8,255,198,1,12,255,198,0,2,1,8,255,249,1, +12,255,249,0,1,0,69,255,215,0,2,1,8,255,245,1,12,255,245,0,2,1,8,255,220,1,12, +255,220,0,2,1,8,255,227,1,12,255,227,0,6,0,86,255,226,0,87,255,237,0,88,255, +214,0,89,255,226,1,8,255,216,1,12,255,216,0,3,0,87,255,240,1,8,255,223,1,12, +255,223,0,18,0,12,255,126,0,14,255,126,0,67,255,218,0,68,255,220,0,69,255,218, +0,70,0,31,0,75,0,1,0,79,255,216,0,81,255,221,0,84,0,34,0,85,0,1,0,86,0,36,0, +87,0,35,0,88,0,18,0,89,0,36,0,90,0,10,1,8,0,32,1,12,0,32,0,2,1,8,255,247,1,12, +255,247,0,2,1,8,255,249,1,12,255,249,0,2,1,8,255,248,1,12,255,248,0,10,0,12, +255,135,0,14,255,139,0,65,255,226,0,67,255,229,0,68,255,229,0,69,255,229,0,79, +255,225,0,81,255,229,1,8,0,34,1,12,0,34,0,6,0,12,255,162,0,14,255,166,0,67, +255,236,0,68,255,236,0,69,255,232,0,81,255,236,0,7,0,67,255,215,0,68,255,219, +0,69,255,215,0,79,255,215,0,81,255,219,1,8,0,18,1,12,0,18,0,9,0,12,255,118,0, +14,255,128,0,67,255,223,0,68,255,223,0,69,255,223,0,79,255,223,0,81,255,217,1, +8,0,28,1,12,0,28,0,6,0,67,255,223,0,68,255,226,0,69,255,223,0,79,255,223,1,8, +0,7,1,12,0,7,0,1,0,42,255,215,0,36,0,12,254,206,0,13,254,204,0,14,254,210,0, +35,255,199,0,39,255,197,0,47,255,197,0,49,255,197,0,52,0,34,0,54,0,33,0,55,0, +30,0,57,0,33,0,105,254,208,0,120,254,210,0,127,255,195,0,142,255,195,0,169, +255,66,0,170,255,197,0,171,255,66,0,175,255,108,0,178,254,244,0,180,254,241,0, +181,255,223,0,182,254,249,0,184,255,14,0,186,254,246,0,189,255,70,0,190,254, +237,0,191,254,240,0,192,254,231,0,193,255,92,0,194,254,250,0,195,254,252,0, +196,255,1,0,197,254,244,1,5,254,207,1,6,254,207,0,14,0,12,255,217,0,14,255, +226,0,33,255,224,0,52,255,203,0,54,255,224,0,55,255,238,0,56,255,216,0,57,255, +206,0,58,255,219,0,125,255,206,0,169,255,217,0,171,255,224,0,172,255,228,0, +174,255,217,0,32,0,7,255,115,0,31,255,140,0,33,0,36,0,35,255,219,0,39,255,215, +0,47,255,215,0,49,255,215,0,52,255,75,0,53,255,212,0,54,255,113,0,55,255,156, +0,57,255,85,0,67,255,234,0,68,255,229,0,69,255,234,0,71,255,238,0,79,255,234, +0,81,255,238,0,85,255,235,0,125,0,38,0,127,255,236,0,133,255,238,0,142,255, +215,0,143,255,238,0,169,0,38,0,170,255,215,0,175,255,202,0,176,255,156,0,193, +255,149,1,8,255,119,1,12,255,119,3,177,255,119,0,2,0,170,255,225,0,187,0,27,0, +13,0,7,255,246,0,35,255,211,0,39,255,209,0,47,255,209,0,49,255,209,0,127,255, +232,0,142,255,205,0,170,255,209,0,175,255,151,0,187,0,36,1,8,255,246,1,12,255, +246,3,177,255,246,0,2,0,171,255,199,0,187,255,193,0,8,0,12,255,84,0,14,255,88, +0,171,255,157,0,181,255,243,0,190,255,224,0,192,255,237,0,195,255,244,0,197, +255,240,0,1,0,187,0,34,0,10,0,7,0,32,0,70,0,29,0,181,255,239,0,189,0,27,0,190, +255,211,0,193,0,30,0,197,255,236,1,8,0,32,1,12,0,32,3,177,0,32,0,1,0,193,255, +225,0,7,0,7,255,239,0,191,255,243,0,192,255,243,0,195,255,242,1,8,255,244,1, +12,255,244,3,177,255,240,0,16,0,178,255,209,0,180,0,10,0,181,255,216,0,182, +255,226,0,184,255,233,0,186,255,237,0,187,0,11,0,188,255,223,0,189,0,14,0,191, +255,199,0,192,255,205,0,193,0,15,0,194,255,238,0,195,255,219,0,196,255,239,0, +197,255,217,0,3,0,7,255,217,1,8,255,227,1,12,255,227,0,12,0,7,255,186,0,178, +255,225,0,180,255,191,0,185,255,217,0,186,255,239,0,187,0,37,0,189,255,214,0, +193,255,190,0,195,255,212,1,8,255,249,1,12,255,249,3,177,255,184,0,10,0,7,255, +58,0,70,255,209,0,180,255,145,0,185,255,212,0,187,0,33,0,189,255,212,0,193, +255,125,1,8,255,63,1,12,255,63,3,177,255,58,0,2,0,178,255,179,0,187,0,17,0,6, +0,87,255,240,0,88,255,226,0,90,255,232,0,193,255,215,1,8,255,223,1,12,255,223, +0,3,0,180,0,17,0,189,0,19,0,193,0,20,0,23,0,7,0,34,0,70,0,29,0,120,255,233,0, +180,0,27,0,181,255,223,0,189,0,29,0,191,255,214,0,192,255,211,0,193,0,29,1,8, +0,34,1,12,0,34,1,63,255,122,1,66,255,220,1,70,255,216,1,78,255,218,1,80,255, +216,1,82,255,234,1,83,0,29,1,85,0,27,1,86,0,20,1,87,0,8,1,88,0,27,3,177,0,34, +0,2,0,88,255,220,0,90,255,220,0,2,0,88,255,228,0,90,255,228,0,3,0,88,255,226, +0,90,255,226,0,180,255,234,0,13,0,7,255,170,0,198,255,185,0,202,255,186,0,206, +255,233,0,210,255,223,0,212,255,194,0,215,255,188,0,233,255,164,0,236,255,239, +0,239,255,200,1,8,255,175,1,12,255,175,3,177,255,171,0,13,0,7,255,126,0,202, +255,67,0,206,255,232,0,209,255,243,0,210,255,220,0,212,255,194,0,215,255,141, +0,233,255,161,0,236,255,241,0,239,255,201,1,8,255,146,1,12,255,146,3,177,255, +135,0,13,0,7,255,125,0,198,255,68,0,202,255,66,0,206,255,230,0,210,255,219,0, +212,255,193,0,215,255,140,0,233,255,159,0,236,255,240,0,239,255,200,1,8,255, +144,1,12,255,144,3,177,255,134,0,6,0,198,255,181,0,202,255,179,0,215,255,184, +0,233,255,158,0,236,255,225,0,239,255,194,0,8,0,198,255,206,0,210,255,225,0, +212,255,202,0,215,255,208,0,225,255,227,0,233,255,168,0,236,255,242,0,239,255, +204,0,12,0,198,255,196,0,200,0,40,0,202,255,197,0,205,0,46,0,209,0,40,0,212, +255,197,0,215,255,199,0,224,0,44,0,229,0,40,0,236,255,196,0,247,0,40,0,253, +255,213,0,10,0,13,255,141,0,199,255,206,0,200,0,36,0,209,0,36,0,221,255,210,0, +229,0,37,0,233,255,181,0,236,255,161,0,247,0,37,0,253,255,206,0,13,0,17,255, +236,0,18,255,253,0,19,0,7,0,20,0,15,0,21,0,4,0,22,255,253,0,23,255,228,0,24,0, +5,0,25,255,255,0,207,0,11,0,209,255,239,0,210,255,236,0,215,255,228,0,5,0,65, +255,252,0,69,255,255,0,79,255,252,0,85,255,255,0,89,0,2,0,39,0,7,0,15,0,13, +255,177,0,14,255,135,0,67,255,229,0,68,255,229,0,69,255,229,0,79,255,229,0,81, +255,225,0,199,255,210,0,200,255,138,0,205,255,53,0,209,255,138,0,215,0,36,0, +222,255,187,0,223,255,187,0,224,255,69,0,227,255,187,0,228,255,187,0,229,255, +116,0,230,255,187,0,231,255,187,0,232,255,187,0,234,255,154,0,235,255,187,0, +236,255,207,0,237,255,187,0,238,255,185,0,240,255,187,0,241,255,187,0,243,255, +185,0,244,255,172,0,246,255,150,0,247,255,116,0,248,255,187,0,250,255,187,0, +254,255,153,1,8,0,31,1,12,0,31,3,177,0,13,0,8,0,200,0,39,0,205,0,96,0,209,0, +49,0,212,255,195,0,224,0,104,0,229,0,58,0,236,255,194,0,247,0,39,0,14,0,198, +255,218,0,200,0,42,0,205,0,48,0,209,0,42,0,210,0,22,0,212,255,218,0,215,255, +219,0,218,255,242,0,224,0,45,0,229,0,40,0,233,255,223,0,236,255,217,0,239,255, +225,0,247,0,40,0,10,0,7,255,124,0,198,255,65,0,202,255,63,0,212,255,190,0,215, +255,137,0,233,255,158,0,239,255,198,1,8,255,139,1,12,255,139,3,177,255,133,0, +10,0,7,255,131,0,198,255,69,0,202,255,67,0,212,255,194,0,215,255,141,0,233, +255,164,0,239,255,200,1,8,255,145,1,12,255,145,3,177,255,135,0,9,0,198,255, +206,0,200,255,207,0,202,255,205,0,205,255,202,0,206,255,207,0,209,255,207,0, +210,255,217,0,229,255,214,0,247,255,214,0,10,0,198,255,202,0,200,255,206,0, +202,255,202,0,205,255,203,0,206,255,207,0,209,255,206,0,210,255,217,0,224,255, +203,0,229,255,214,0,247,255,214,0,21,0,35,255,250,0,39,255,250,0,47,255,253,0, +49,255,250,0,52,255,214,0,53,255,249,0,54,255,236,0,55,255,243,0,57,255,229,0, +69,255,252,0,79,255,250,0,85,255,253,0,89,0,6,1,66,255,253,1,70,255,249,1,78, +255,249,1,80,255,249,1,83,0,1,1,84,255,253,1,85,0,1,1,88,0,1,0,4,0,224,255, +225,0,225,255,224,0,233,255,223,0,239,255,241,0,8,0,7,255,191,0,225,255,237,0, +233,255,230,0,236,255,238,0,239,255,235,1,8,255,230,1,12,255,230,3,177,255, +190,0,4,0,224,255,132,0,229,255,171,0,246,255,211,0,247,255,171,0,4,0,224,0, +42,0,233,255,219,0,236,255,216,0,239,255,223,0,8,0,7,0,11,0,234,255,236,0,236, +255,245,0,246,255,218,0,254,255,220,1,8,0,11,1,12,0,11,3,177,0,11,0,6,0,7,255, +232,0,233,255,237,0,236,255,240,1,8,255,236,1,12,255,236,3,177,255,232,0,11,0, +221,255,233,0,234,255,224,0,236,255,242,0,246,255,211,0,254,255,213,1,8,0,12, +1,12,0,12,1,66,255,212,1,70,255,208,1,78,255,212,1,80,255,212,0,22,0,7,0,34,0, +70,0,29,0,224,255,133,0,229,255,172,0,234,255,223,0,246,255,211,0,247,255,172, +0,254,255,213,1,8,0,31,1,12,0,31,1,63,255,122,1,66,255,220,1,70,255,216,1,78, +255,218,1,80,255,216,1,82,255,234,1,83,0,29,1,85,0,27,1,86,0,20,1,87,0,8,1,88, +0,27,3,177,0,34,0,7,0,88,255,244,0,90,255,244,0,225,255,236,0,229,255,246,0, +233,255,229,0,239,255,237,0,247,255,246,0,6,0,224,0,37,0,229,0,32,0,233,255, +222,0,236,255,220,0,239,255,224,0,247,0,32,0,8,0,224,0,43,0,229,0,38,0,233, +255,206,0,236,255,203,0,239,255,215,0,242,255,242,0,246,255,224,0,247,0,38,0, +3,0,233,255,122,0,236,255,203,0,239,255,178,0,7,0,7,254,253,0,233,255,118,0, +236,255,202,0,239,255,174,1,8,255,35,1,12,255,39,3,177,255,10,0,5,0,224,255, +218,0,225,255,218,0,229,255,225,0,239,255,222,0,247,255,225,0,5,0,224,255,217, +0,225,255,217,0,226,255,245,0,229,255,223,0,239,255,232,0,4,0,7,255,240,1,8, +255,244,1,12,255,244,3,177,255,240,0,5,0,225,255,232,0,233,255,116,0,234,0,11, +0,236,255,200,0,239,255,172,0,4,0,225,255,236,0,233,255,121,0,236,255,203,0, +239,255,177,0,24,0,33,255,120,0,52,0,12,0,54,0,16,0,55,0,18,0,57,0,9,0,65,255, +225,0,67,255,217,0,68,255,197,0,69,255,217,0,70,0,5,0,71,255,222,0,77,255,247, +0,78,255,247,0,79,255,217,0,81,255,222,0,83,255,237,0,84,0,11,0,85,255,254,0, +86,0,36,0,87,0,32,0,88,0,18,0,89,0,36,0,90,0,8,1,7,255,241,0,7,0,68,255,172,0, +77,255,243,0,82,255,247,0,83,255,216,0,84,0,6,0,86,0,27,1,8,255,245,0,24,0,33, +255,118,0,52,0,9,0,54,0,10,0,55,0,12,0,57,0,7,0,65,255,223,0,67,255,215,0,68, +255,191,0,69,255,215,0,71,255,215,0,77,255,245,0,78,255,245,0,79,255,211,0,80, +255,249,0,81,255,219,0,82,255,245,0,83,255,230,0,84,0,4,0,85,255,252,0,86,0, +27,0,87,0,23,0,88,0,12,0,89,0,27,0,90,0,3,0,9,1,66,255,227,1,70,255,227,1,78, +255,227,1,80,255,227,1,83,255,125,1,84,255,216,1,85,255,139,1,86,255,175,1,88, +255,123,0,4,1,66,255,254,1,70,255,254,1,78,255,254,1,80,255,254,0,2,1,85,255, +220,1,86,255,234,0,2,1,85,0,4,1,88,0,4,0,1,1,63,255,162,0,4,1,66,255,212,1,70, +255,208,1,78,255,212,1,80,255,212,0,10,1,63,0,35,1,66,255,224,1,70,255,220,1, +78,255,222,1,80,255,223,1,83,255,115,1,84,255,215,1,85,255,107,1,86,255,167,1, +88,255,101,0,6,1,63,255,229,1,83,255,219,1,85,255,225,1,86,255,239,1,87,255, +215,1,88,255,211,0,4,1,63,255,168,1,68,255,245,1,71,255,245,1,72,255,245,0,6, +1,63,0,13,1,83,255,208,1,84,255,246,1,85,255,213,1,86,255,226,1,88,255,201,0, +9,1,66,255,252,1,70,255,252,1,78,255,252,1,80,255,252,1,83,255,228,1,84,255, +245,1,85,255,226,1,86,255,233,1,88,255,219,0,11,1,63,255,122,1,66,255,220,1, +70,255,216,1,78,255,218,1,80,255,216,1,82,255,234,1,83,0,29,1,85,0,27,1,86,0, +20,1,87,0,8,1,88,0,27,0,1,1,63,255,221,0,5,1,63,255,140,1,66,255,228,1,70,255, +224,1,78,255,224,1,80,255,224,0,6,1,63,255,182,1,66,255,239,1,70,255,239,1,78, +255,239,1,80,255,239,1,83,0,28,0,4,1,66,255,218,1,70,255,214,1,78,255,214,1, +80,255,214,0,10,1,63,255,124,1,66,255,217,1,70,255,213,1,78,255,213,1,80,255, +213,1,83,0,31,1,85,0,33,1,86,0,27,1,87,0,14,1,88,0,33,0,5,1,63,0,25,1,66,255, +224,1,70,255,224,1,78,255,224,1,80,255,224,0,26,0,9,0,40,0,12,255,76,0,13,255, +181,0,14,255,81,0,26,255,193,0,27,255,193,0,33,255,103,0,35,255,213,0,39,255, +213,0,47,255,210,0,49,255,213,0,61,0,34,0,65,255,161,0,69,255,165,0,79,255, +161,0,82,255,194,0,85,255,198,0,89,255,234,0,93,0,38,1,8,0,12,1,12,0,12,1,63, +255,100,1,66,255,177,1,70,255,177,1,78,255,177,1,80,255,177,0,10,0,12,255,135, +0,14,255,139,0,65,255,226,0,67,255,229,0,68,255,229,0,69,255,229,0,79,255,225, +0,81,255,229,1,8,0,34,1,12,0,34,0,10,0,35,255,253,0,39,255,253,0,47,255,254,0, +49,255,253,0,65,0,8,0,73,255,247,0,82,255,255,0,85,255,252,0,89,0,16,0,90,0,2, +0,2,1,8,255,234,1,12,255,234,0,5,0,65,255,250,0,69,255,246,0,79,255,246,0,85, +255,247,0,89,255,253,0,13,0,35,255,250,0,39,255,250,0,47,255,247,0,49,255,250, +0,73,255,244,0,82,255,250,0,85,255,250,0,89,0,11,0,90,255,247,1,66,255,250,1, +70,255,249,1,78,255,249,1,80,255,250,0,2,1,8,255,246,1,12,255,246,0,2,0,35,0, +8,0,8,0,0,0,16,0,25,0,1,0,33,0,59,0,11,0,65,0,73,0,38,0,75,0,80,0,47,0,82,0, +91,0,53,0,168,0,168,0,63,0,170,0,172,0,64,0,174,0,176,0,67,0,178,0,178,0,70,0, +180,0,184,0,71,0,186,0,188,0,76,0,190,0,190,0,79,0,192,0,193,0,80,0,195,0,198, +0,82,0,200,0,202,0,86,0,204,0,208,0,89,0,210,0,211,0,94,0,214,0,215,0,96,0, +217,0,226,0,98,0,228,0,228,0,108,0,233,0,235,0,109,0,238,0,239,0,112,0,241,0, +243,0,114,0,246,0,248,0,117,1,7,1,8,0,120,1,11,1,11,0,122,1,63,1,63,0,123,1, +66,1,69,0,124,1,74,1,75,0,128,1,78,1,81,0,130,1,83,1,89,0,134,1,111,1,114,0, +141,1,137,1,137,0,145,1,141,1,142,0,146,0,1,0,0,0,10,0,32,0,58,0,1,108,97,116, +110,0,8,0,4,0,0,0,0,255,255,0,2,0,0,0,1,0,2,108,105,103,97,0,14,115,109,99, +112,0,20,0,0,0,1,0,0,0,0,0,1,0,1,0,2,0,6,0,14,0,4,0,0,0,1,0,16,0,1,0,0,0,1,0, +26,0,1,0,148,0,1,0,8,0,1,0,4,0,130,0,2,0,69,0,2,0,136,0,62,1,90,1,91,1,92,1, +93,1,94,1,95,1,96,1,97,1,98,1,99,1,63,1,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72, +1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1, +88,1,89,1,63,1,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,73,1,74,1,75,1,76,1,77, +1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,0,1,0,1,0,65,0,2, +0,3,0,16,0,25,0,0,0,33,0,58,0,10,0,65,0,90,0,36}; + diff --git a/src/lua/thread/luaopen_Thread.cpp b/src/lua/thread/luaopen_Thread.cpp deleted file mode 100644 index 141b873..0000000 --- a/src/lua/thread/luaopen_Thread.cpp +++ /dev/null @@ -1,248 +0,0 @@ -#include "lua/luax.h" -#include "libjin/jin.h" -#include "../luaopen_jin.h" -#include "../common/common.h" -#include "Thread.h" - -namespace jin -{ -namespace lua -{ - - using thread::Thread; - - int luaopen_thread(lua_State* L); - - static inline Ref<Thread>& checkThread(lua_State* L) - { - Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_THREAD_THREAD); - return proxy->getRef<Thread>(); - } - - static int threadRunner(void* t) - { - Ref<Thread>& ref = *(Ref<Thread>*)t; - lua_State* L = lua_open(); - luax_openlibs(L); - luaopen_jin(L); - luax_getglobal(L, MODULE_NAME); - Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_THREAD_THREAD, sizeof(Proxy)); - ref.retain(); - proxy->bind(&ref); - luax_setfield(L, -2, "_curThread"); - luax_dostring(L, ref->code.c_str()); - luax_close(L); - return 0; - } - - static int l_thread_gc(lua_State* L) - { - Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_THREAD_THREAD); - proxy->release(); - return 0; - } - - static int l_start(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - bool result = ref->start(&ref); - luax_pushboolean(L, result); - return 1; - } - - static int l_wait(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - ref->wait(); - return 0; - } - - static int l_send(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - int slot = luax_checkinteger(L, 2); - const int vp = 3; - if (luax_isnumberstrict(L, vp)) - { - float real = luax_checknumber(L, vp); - ref->send(slot, real); - } - else if (luax_isbooleanstrict(L, vp)) - { - bool bol = luax_checkbool(L, vp); - ref->send(slot, bol); - } - else if (luax_isstringstrict(L, vp)) - { - const char* str = luax_checkstring(L, vp); - ref->send(slot, str); - } - else if (luax_isuserdata(L, vp)) - { - void* p = luax_touserdata(L, vp); - ref->send(slot, p); - } - else if (luax_islightuserdata(L, vp)) - { - void* p = luax_tolightuserdata(L, vp); - ref->send(slot, p); - } - return 0; - } - - static int l_receive(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - int slot = luax_checkinteger(L, 2); - bool result = ref->receive(slot); - luax_pushboolean(L, result); - return 1; - } - - static int l_fetch(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - int slot = luax_checkinteger(L, 2); - Thread::Variant v = ref->fetch(slot); - switch (v.type) - { - case thread::Thread::Variant::INTERGER: - luax_pushinteger(L, v.integer); - break; - - case thread::Thread::Variant::BOOLEAN: - luax_pushboolean(L, v.boolean); - break; - - case thread::Thread::Variant::CSTRING: - luax_pushstring(L, v.cstring); - break; - - case thread::Thread::Variant::REAL: - luax_pushnumber(L, v.real); - break; - - case thread::Thread::Variant::POINTER: - Proxy* p = (Proxy*)v.pointer; - Proxy* proxy = (Proxy*)luax_newinstance(L, p->getObjectType(), sizeof(Proxy)); - p->reference->retain(); - proxy->bind(p->reference); - break; - - } - return 1; - } - - static int l_demand(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - int slot = luax_checkinteger(L, 2); - Thread::Variant v = ref->demand(slot); - switch (v.type) - { - case thread::Thread::Variant::INTERGER: - luax_pushinteger(L, v.integer); - break; - - case thread::Thread::Variant::BOOLEAN: - luax_pushboolean(L, v.boolean); - break; - - case thread::Thread::Variant::CSTRING: - luax_pushstring(L, v.cstring); - break; - - case thread::Thread::Variant::REAL: - luax_pushnumber(L, v.real); - break; - - case thread::Thread::Variant::POINTER: - Proxy* p = (Proxy*)v.pointer; - Proxy* proxy = (Proxy*)luax_newinstance(L, p->getObjectType(), sizeof(Proxy)); - p->reference->retain(); - proxy->bind(p->reference); - break; - - } - return 1; - } - - static int l_remove(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - int slot = luax_checkinteger(L, 2); - ref->remove(slot); - return 0; - } - - static int l_getName(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - const char* name = ref->getName(); - luax_pushstring(L, name); - return 1; - } - - static int l_isRunning(lua_State* L) - { - Ref<Thread>& ref = checkThread(L); - bool running = ref->isRunning(); - luax_pushboolean(L, running); - return 1; - } - - static const luaL_Reg thread_function[] = { - { "__gc", l_thread_gc }, - { "start", l_start }, - { "wait", l_wait }, - { "send", l_send }, - { "receive", l_receive }, - { "fetch", l_fetch }, - { "demand", l_demand }, - { "remove", l_remove }, - { "getName", l_getName }, - { "isRunning", l_isRunning }, - { 0, 0 } - }; - - static int luaopen_Thread(lua_State* L) - { - luax_newtype(L, JIN_THREAD_THREAD, thread_function); - - return 0; - } - - static int l_newThread(lua_State* L) - { - const char* name = luax_checkstring(L, 1); - const char* code = luax_checkstring(L, 2); - Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_THREAD_THREAD, sizeof(Proxy)); - Thread* thread = new Thread(name, code, threadRunner); - proxy->bind(new Ref<Thread>(thread, JIN_THREAD_THREAD)); - return 1; - } - - static int l_getThread(lua_State* L) - { - luax_getglobal(L, MODULE_NAME); - luax_getfield(L, -1, "_curThread"); - return 1; - } - - static const luaL_Reg f[] = { - { "newThread", l_newThread }, - { "getThread", l_getThread }, - { 0, 0 } - }; - - int luaopen_thread(lua_State* L) - { - luaopen_Thread(L); - - luax_newlib(L, f); - - return 1; - } - -} // lua -} // jin
\ No newline at end of file |