From 3ecf5bbc1c81908bfd3355999a37e8e96e15b8b5 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 22 Feb 2021 22:46:44 -0500 Subject: Generalized upper/lower layer map rendering Map layers can have a flag on them that specifies that they should be rendered as part of the upper set (rendered above the normal sprite layer but below the above sprite layer). Also added map connections between hallucination_interior and hallucination_cliff. And named the layers in the map files bc why not. --- res/maps/hallucination_beach.tmx | 146 +++++++++++----- res/maps/hallucination_cliff.tmx | 183 ++++++++++++++++++-- res/maps/hallucination_hot_spring.tmx | 80 +++++++-- res/maps/hallucination_interior.tmx | 302 ++++++++++++++++++++++++--------- res/scripts/hallucination_cliff.lua | 5 + res/scripts/hallucination_interior.lua | 4 + src/map.cpp | 25 ++- src/map.h | 7 +- src/renderer.cpp | 72 ++++---- src/renderer.h | 6 +- 10 files changed, 650 insertions(+), 180 deletions(-) create mode 100644 res/scripts/hallucination_cliff.lua diff --git a/res/maps/hallucination_beach.tmx b/res/maps/hallucination_beach.tmx index a92a9d5..c6fd1cb 100644 --- a/res/maps/hallucination_beach.tmx +++ b/res/maps/hallucination_beach.tmx @@ -1,39 +1,109 @@ - - - - 133,133,133,133,133,133,134,135,135,135,2147483782,2147483781,2147483784,2147483785,2147483786,2147483781,133,133,133,133,133,133,133,139,140,2147483788,2147483787,133,133,133,133,133,133,133,133,133,133,133,133,134,135,135,2147483789,133,133,133,133,133,138,137,136,133,133,142,143,135,135,135,2147483791,2147483792,2147483793,2147483794,2147483795,148,2147483789,133,138,137,136,133,133,134,135,2147483783,2147483782,133,133,133,133,133,133,138,137,136,133,133,142,143,135,135,135,149,2147483796,133,133,133,147,146,145,144,149,135,135,135,135,135,135,2147483783,2147483798,2147483799,2147483800,2147483783,2147483783,2147483796,147,146,145,144,149,143,135,135,135,2147483790,133,133,142,149,2147483790,147,146,145,144,149,135,135,135,135,135,135,135,2147483789,142,149,152,151,150,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,152,151,150,135,135,135,135,135,135,135,2147483796,2147483799,135,135,135,152,151,150,135,135,135,135,135,135,135,135,135,135,135,135,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,154,154,154,154,154,155,156,157,158,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,159,160,2147483809,2147483809,2147483809,2147483809,2147483808,2147483807,154,154,154,154,154,154,154,154,154,154,154,162,163,164,165,166,154,154,2147483806,2147483805,2147483804,2147483803,2147483802,154,154,154,154,154,154,154,159,160,2147483809,2147483809,2147483809,2147483809,2147483809,2147483809,2147483809,2147483809,167,168,2147483817,2147483817,2147483817,2147483817,2147483816,2147483815,2147483809,161,2147483808,2147483807,154,154,154,2147483809,2147483809,2147483808,2147483807,170,171,172,173,154,154,154,2147483814,2147483813,2147483812,2147483811,2147483810,154,154,154,159,160,161,161,167,168,2147483817,2147483817,2147483817,13,14,15,16,174,174,175,174,176,2147483825,2147483824,2147483823,2147483826,2147483817,169,2147483816,2147483815,2147483809,2147483809,2147483809,2147483817,2147483817,2147483816,2147483815,2147483827,2147483828,2147483802,2147483802,154,154,154,2147483802,2147483821,2147483820,2147483819,2147483818,154,159,179,167,168,169,169,169,174,174,174,174,1,1,1,1,174,174,176,177,181,7,2147483829,2147483825,177,177,2147483824,2147483823,2147483826,2147483817,2147483817,2147483817,2147483822,2147483822,182,2147483826,2147483831,2147483832,2147483809,2147483808,2147483807,2147483833,2147483834,187,186,185,159,160,2147483809,167,168,169,175,174,174,174,174,174,174,174,174,2147483822,2147483822,174,176,177,181,7,7,7,7,7,7,7,2147483829,2147483824,174,174,174,174,2147483822,182,2147483822,2147483822,2147483822,2147483836,189,2147483816,2147483815,2147483838,2147483839,192,191,190,167,193,193,169,174,174,174,174,174,174,174,174,174,174,174,194,195,177,181,7,7,7,7,7,7,7,7,7,7,2147483829,2147483824,174,174,174,196,193,182,197,174,174,174,2147483823,2147483826,2147483846,174,2147483822,2147483822,198,178,175,182,174,174,174,174,174,176,2147483825,177,2147483825,177,2147483825,177,181,7,7,7,7,7,7,7,7,7,7,7,7,7,7,2147483829,177,199,199,200,2147483824,174,174,174,2147483822,176,2147483824,174,174,2147483822,2147483822,2147483822,2147483822,196,193,182,197,174,174,174,176,181,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,30,31,2147483824,174,176,181,2147483829,199,2147483824,2147483822,2147483822,2147483822,2147483822,176,2147483825,177,200,201,33,177,181,7,7,7,7,7,7,7,2147483655,2147483655,2147483655,7,7,7,7,7,7,7,7,2147483654,2147483659,6,7,32,200,201,33,200,7,32,30,31,33,7,7,43,2147483829,2147483824,174,174,176,181,7,7,7,30,200,201,33,7,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,32,30,31,33,2147483654,2147483659,2147483658,9,10,4,5,2147483655,7,4,7,200,201,7,7,7,7,7,7,7,2147483829,2147483825,177,181,7,43,32,30,31,33,2147483655,2147483655,2147483655,2147483655,13,14,15,16,2147483655,2147483655,2147483655,2147483655,32,30,31,33,2147483654,4,5,9,9,4,5,9,10,6,7,4,200,200,201,7,7,200,201,201,201,7,46,202,7,7,58,7,7,2147483654,6,200,201,33,13,14,15,23,24,14,15,16,32,30,31,33,43,2147483654,2147483659,9,3,80,81,12,3,4,5,12,6,4,7,200,201,200,201,200,201,203,203,203,6,7,46,202,68,2147483654,11,2147483658,10,2147483659,32,200,201,33,1073741884,3221225535,3221225521,1,6,30,31,2147483655,2147483654,11,2147483659,2147483658,2147483698,4,5,84,85,4,5,9,9,4,5,4,7,7,7,200,201,2147483658,3,4,5,12,10,6,7,7,2147483654,2147483658,9,9,3,4,5,12,3,4,5,12,3221225522,1073741884,10,30,31,2147483659,2147483658,9,9,2147483698,2147483697,1,1,1,1,1,1,9,9,4,4,4,7,7,2147483654,2147483659,2147483658,4,5,9,9,9,9,10,2147483659,11,2147483658,2147483657,9,17,18,19,3,4,5,12,9,9,3,4,79,80,81,82,5,12,2147483698,2147483697,13,14,15,16,13,14,15,14,5,4,5,4,7,2147483654,2147483658,4,5,30,9,4,5,204,9,9,9,9,9,9,9,20,21,22,9,9,9,9,9,9,9,9,83,84,85,86,9,9,2147483697,1,1,65,13,14,15,16,13,14,5,9,3,4,2147483659,2147483658,9,9,3,4,5,12,5,56,57,9,56,57,9,9,9,25,26,27,9,9,9,56,57,9,9,9,9,1073741833,1073741834,205,205,4,5,1,1073741883,1073741883,3221225521,65,1,1,1,1,3,4,5,12,9,9,3,4,5,12,3,4,5,12,56,57,9,61,1073741833,1073741834,205,2147483853,3221225482,3221225481,2147483698,2147483708,60,50,9,2147483698,2147483708,9,9,9,206,3221225508,1073741852,3221225500,4,4,5,9,3221225522,1073741883,1073741884,1073741883,3,4,5,12,51,8,9,4,5,60,59,59,62,61,9,2147483698,207,59,50,9,208,206,46,202,2147483854,2147483856,208,205,1,49,59,2147483697,1073741873,4,5,14,15,3221225501,1,4,5,4,5,9,56,57,3,4,5,12,9,9,2147483698,59,4,1,1,14,15,1,207,59,207,2147483697,1,209,210,50,206,2147483850,2147483694,2147483655,2147483655,2147483854,200,201,33,1,3221225521,65,1,4,5,14,15,14,15,14,15,4,5,12,9,9,9,9,9,2147483698,59,59,2147483697,1,9,4,5,1,1,14,15,211,24,14,15,16,1,1,2147483655,2147483655,43,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483676,2147483677,49,1,1,14,15,14,15,4,5,12,9,2147483657,2147483657,2147483690,2147483689,2147483657,2147483698,2147483697,1,1,1,1,9,9,3,4,5,14,15,1073741884,3221225535,3221225521,1073741825,1,1,30,31,1073741852,1073741860,32,30,212,213,214,215,31,33,2147483684,13,14,15,16,3,4,5,14,15,200,200,2147483657,2147483702,2147483701,2147483700,2147483703,3221225522,3221225521,4,5,4,5,9,4,5,12,9,200,201,3221225481,3221225481,3221225522,3221225521,30,31,4,5,1,1073741853,1073741860,2147483655,216,217,218,219,68,3221225508,14,1,1,13,14,15,16,32,30,31,200,15,200,15,9,9,9,9,3221225522,200,4,5,2147483655,4,30,31,9,3221225481,3221225481,3221225481,14,15,3221225481,3221225522,4,5,30,1,14,15,1073741853,3221225678,2147483659,11,6,3221225508,1073741858,3221225501,14,15,14,1,1,1,200,201,1073741860,7,200,201,14,15,4,5,9,9,4,5,9,9,4,9,4,5,30,31,200,201,30,31,14,15,3221225481,30,4,5,30,31,14,15,50,2147483698,14,15,1,1,200,201,200,201,1,7,7,7,7,7,14,15,200,201,2147483856,9,4,5,9,9,4,5,9,9,9,208,200,201,7,7,200,201,30,31,200,201,2147483856,9,4,201,30,30,49,2147483697,14,15,14,15,200,201,200,201,200,201,200,201,14,15,200,201,7,7,2147483854,220,220,2147483856,4,5,9,9,9,9,208,206,7,7,7,7,7,7,200,201,7,7,2147483854,205,206,7,200,201,28,34,200,201,200,201,200,201,7,7,200,201,7,7,200,201,7,7,7,7,7,7,7,2147483854,2147483856,9,9,9,9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,110,111,89,90,87,101,114,115,93,93,93,93,110,111,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,102,90,91,101,114,115,110,111,89,90,87,88,89,90,87,101,114,115,110,111,89,90,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,103,98,87,88,89,90,87,101,89,90,87,88,89,90,87,88,89,90,87,101,89,90,87,88,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,102,90,87,101,114,115,94,95,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,114,115,93,93,93,93,93,93,93,93,93,93,93,93,110,111,89,90,87,88,89,90,87,101,102,90,87,88,89,107,106,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,87,101,114,115,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,89,90,91,92,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,87,96,104,105,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,89,107,110,116,114,115,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,87,101,102,90,87,101,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,96,97,98,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,107,106,95,87,88,89,107,106,95,89,99,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,91,96,97,98,87,88,89,90,91,96,104,105,106,95,89,90,87,88,89,90,87,101,102,90,89,90,87,101,102,90,87,101,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,88,89,107,108,109,97,98,91,96,104,105,93,93,103,98,91,96,97,98,91,96,97,98,87,88,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,103,98,87,88,89,90,91,92,93,116,125,128,129,130,114,115,93,93,94,95,89,107,106,95,89,107,106,95,89,90,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,108,109,97,98,91,96,104,105,118,98,97,98,91,96,91,92,93,93,103,98,87,101,102,90,87,101,102,90,87,88,87,88,89,90,87,88,89,107,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,93,93,108,109,131,109,104,132,104,105,93,93,108,109,97,98,91,96,97,98,87,88,89,90,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,106,95,89,90,91,96,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,116,89,90,91,96,104,105,89,90,91,96,104,105,121,109,104,105,93,93,93,93,93,93,93,93,93,93,116,114,115,93,93,93,93,116,114,115,93,93,103,98,87,101,114,115,93,93,118,119,91,96,104,105,93,93,87,88,89,107,93,93,93,93,93,116,114,115,93,93,93,93,93,93,93,118,119,91,92,93,93,93,118,119,87,101,114,115,94,95,89,90,91,92,93,93,108,109,104,105,93,93,93,93,89,90,87,101,114,115,93,93,118,119,91,92,93,93,93,93,93,93,116,125,128,129,130,114,115,93,94,95,89,90,87,101,102,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,87,88,89,90,87,101,114,115,121,109,104,105,110,111,114,115,93,118,119,97,98,91,96,91,92,93,103,98,87,88,89,90,87,88,89,107,93,93,93,93,93,93,93,93,110,111,114,115,89,90,91,96,97,98,91,92,93,93,110,111,102,90,91,92,93,108,109,131,109,104,132,104,105,93,108,109,97,98,87,88,89,90,87,101,114,115,93,93,2147483760,93,110,111,89,90,87,101,87,88,89,107,106,95,89,99,93,93,103,98,87,88,89,99,93,93,93,93,93,93,93,93,110,111,114,115,108,109,97,98,91,96,97,98,87,101,114,115,2147483761,93,103,98,87,88,89,90,89,90,87,101,102,90,87,101,114,115,94,95,89,90,87,101,114,115,93,93,93,93,93,93,103,98,87,101,114,115,94,95,89,107,106,95,89,90,87,101,114,115,94,95,89,90,87,88,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,101,114,115,110,111,114,115,94,95,89,90,87,101,102,90,87,101,102,90,87,88,89,90,87,101,102,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,103,98,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88 - + + + + + +133,133,133,133,133,133,134,135,135,135,2147483782,2147483781,2147483784,2147483785,2147483786,2147483781,133,133,133,133,133,133,133,139,140,2147483788,2147483787,133,133,133,133,133,133,133,133,133,133,133,133,134,135,135,2147483789,133,133,133,133,133, +138,137,136,133,133,142,143,135,135,135,2147483791,2147483792,2147483793,2147483794,2147483795,148,2147483789,133,138,137,136,133,133,134,135,2147483783,2147483782,133,133,133,133,133,133,138,137,136,133,133,142,143,135,135,135,149,2147483796,133,133,133, +147,146,145,144,149,135,135,135,135,135,135,2147483783,2147483798,2147483799,2147483800,2147483783,2147483783,2147483796,147,146,145,144,149,143,135,135,135,2147483790,133,133,142,149,2147483790,147,146,145,144,149,135,135,135,135,135,135,135,2147483789,142,149, +152,151,150,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,152,151,150,135,135,135,135,135,135,135,2147483796,2147483799,135,135,135,152,151,150,135,135,135,135,135,135,135,135,135,135,135,135, +153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153, +154,154,154,154,154,155,156,157,158,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,159,160,2147483809,2147483809,2147483809,2147483809,2147483808,2147483807,154,154,154,154,154,154,154, +154,154,154,154,162,163,164,165,166,154,154,2147483806,2147483805,2147483804,2147483803,2147483802,154,154,154,154,154,154,154,159,160,2147483809,2147483809,2147483809,2147483809,2147483809,2147483809,2147483809,2147483809,167,168,2147483817,2147483817,2147483817,2147483817,2147483816,2147483815,2147483809,161,2147483808,2147483807,154,154,154, +2147483809,2147483809,2147483808,2147483807,170,171,172,173,154,154,154,2147483814,2147483813,2147483812,2147483811,2147483810,154,154,154,159,160,161,161,167,168,2147483817,2147483817,2147483817,13,14,15,16,174,174,175,174,176,2147483825,2147483824,2147483823,2147483826,2147483817,169,2147483816,2147483815,2147483809,2147483809,2147483809, +2147483817,2147483817,2147483816,2147483815,2147483827,2147483828,2147483802,2147483802,154,154,154,2147483802,2147483821,2147483820,2147483819,2147483818,154,159,179,167,168,169,169,169,174,174,174,174,1,1,1,1,174,174,176,177,181,7,2147483829,2147483825,177,177,2147483824,2147483823,2147483826,2147483817,2147483817,2147483817, +2147483822,2147483822,182,2147483826,2147483831,2147483832,2147483809,2147483808,2147483807,2147483833,2147483834,187,186,185,159,160,2147483809,167,168,169,175,174,174,174,174,174,174,174,174,2147483822,2147483822,174,176,177,181,7,7,7,7,7,7,7,2147483829,2147483824,174,174,174,174, +2147483822,182,2147483822,2147483822,2147483822,2147483836,189,2147483816,2147483815,2147483838,2147483839,192,191,190,167,193,193,169,174,174,174,174,174,174,174,174,174,174,174,194,195,177,181,7,7,7,7,7,7,7,7,7,7,2147483829,2147483824,174,174,174, +196,193,182,197,174,174,174,2147483823,2147483826,2147483846,174,2147483822,2147483822,198,178,175,182,174,174,174,174,174,176,2147483825,177,2147483825,177,2147483825,177,181,7,7,7,7,7,7,7,7,7,7,7,7,7,7,2147483829,177,199,199, +200,2147483824,174,174,174,2147483822,176,2147483824,174,174,2147483822,2147483822,2147483822,2147483822,196,193,182,197,174,174,174,176,181,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, +7,30,31,2147483824,174,176,181,2147483829,199,2147483824,2147483822,2147483822,2147483822,2147483822,176,2147483825,177,200,201,33,177,181,7,7,7,7,7,7,7,2147483655,2147483655,2147483655,7,7,7,7,7,7,7,7,2147483654,2147483659,6,7,32,200,201,33, +200,7,32,30,31,33,7,7,43,2147483829,2147483824,174,174,176,181,7,7,7,30,200,201,33,7,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,32,30,31,33,2147483654,2147483659,2147483658,9,10,4,5,2147483655,7,4, +7,200,201,7,7,7,7,7,7,7,2147483829,2147483825,177,181,7,43,32,30,31,33,2147483655,2147483655,2147483655,2147483655,13,14,15,16,2147483655,2147483655,2147483655,2147483655,32,30,31,33,2147483654,4,5,9,9,4,5,9,10,6,7,4, +200,200,201,7,7,200,201,201,201,7,46,202,7,7,58,7,7,2147483654,6,200,201,33,13,14,15,23,24,14,15,16,32,30,31,33,43,2147483654,2147483659,9,3,80,81,12,3,4,5,12,6,4, +7,200,201,200,201,200,201,203,203,203,6,7,46,202,68,2147483654,11,2147483658,10,2147483659,32,200,201,33,1073741884,3221225535,3221225521,1,6,30,31,2147483655,2147483654,11,2147483659,2147483658,2147483698,4,5,84,85,4,5,9,9,4,5,4, +7,7,7,200,201,2147483658,3,4,5,12,10,6,7,7,2147483654,2147483658,9,9,3,4,5,12,3,4,5,12,3221225522,1073741884,10,30,31,2147483659,2147483658,9,9,2147483698,2147483697,1,1,1,1,1,1,9,9,4,4,4, +7,7,2147483654,2147483659,2147483658,4,5,9,9,9,9,10,2147483659,11,2147483658,2147483657,9,17,18,19,3,4,5,12,9,9,3,4,79,80,81,82,5,12,2147483698,2147483697,13,14,15,16,13,14,15,14,5,4,5,4, +7,2147483654,2147483658,4,5,30,9,4,5,204,9,9,9,9,9,9,9,20,21,22,9,9,9,9,9,9,9,9,83,84,85,86,9,9,2147483697,1,1,65,13,14,15,16,13,14,5,9,3,4, +2147483659,2147483658,9,9,3,4,5,12,5,56,57,9,56,57,9,9,9,25,26,27,9,9,9,56,57,9,9,9,9,1073741833,1073741834,205,205,4,5,1,1073741883,1073741883,3221225521,65,1,1,1,1,3,4,5,12, +9,9,3,4,5,12,3,4,5,12,56,57,9,61,1073741833,1073741834,205,2147483853,3221225482,3221225481,2147483698,2147483708,60,50,9,2147483698,2147483708,9,9,9,206,3221225508,1073741852,3221225500,4,4,5,9,3221225522,1073741883,1073741884,1073741883,3,4,5,12,51,8, +9,4,5,60,59,59,62,61,9,2147483698,207,59,50,9,208,206,46,202,2147483854,2147483856,208,205,1,49,59,2147483697,1073741873,4,5,14,15,3221225501,1,4,5,4,5,9,56,57,3,4,5,12,9,9,2147483698,59, +4,1,1,14,15,1,207,59,207,2147483697,1,209,210,50,206,2147483850,2147483694,2147483655,2147483655,2147483854,200,201,33,1,3221225521,65,1,4,5,14,15,14,15,14,15,4,5,12,9,9,9,9,9,2147483698,59,59,2147483697,1, +9,4,5,1,1,14,15,211,24,14,15,16,1,1,2147483655,2147483655,43,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483655,2147483676,2147483677,49,1,1,14,15,14,15,4,5,12,9,2147483657,2147483657,2147483690,2147483689,2147483657,2147483698,2147483697,1,1,1,1, +9,9,3,4,5,14,15,1073741884,3221225535,3221225521,1073741825,1,1,30,31,1073741852,1073741860,32,30,212,213,214,215,31,33,2147483684,13,14,15,16,3,4,5,14,15,200,200,2147483657,2147483702,2147483701,2147483700,2147483703,3221225522,3221225521,4,5,4,5, +9,4,5,12,9,200,201,3221225481,3221225481,3221225522,3221225521,30,31,4,5,1,1073741853,1073741860,2147483655,216,217,218,219,68,3221225508,14,1,1,13,14,15,16,32,30,31,200,15,200,15,9,9,9,9,3221225522,200,4,5,2147483655, +4,30,31,9,3221225481,3221225481,3221225481,14,15,3221225481,3221225522,4,5,30,1,14,15,1073741853,3221225678,2147483659,11,6,3221225508,1073741858,3221225501,14,15,14,1,1,1,200,201,1073741860,7,200,201,14,15,4,5,9,9,4,5,9,9,4, +9,4,5,30,31,200,201,30,31,14,15,3221225481,30,4,5,30,31,14,15,50,2147483698,14,15,1,1,200,201,200,201,1,7,7,7,7,7,14,15,200,201,2147483856,9,4,5,9,9,4,5,9, +9,9,208,200,201,7,7,200,201,30,31,200,201,2147483856,9,4,201,30,30,49,2147483697,14,15,14,15,200,201,200,201,200,201,200,201,14,15,200,201,7,7,2147483854,220,220,2147483856,4,5,9,9,9, +9,208,206,7,7,7,7,7,7,200,201,7,7,2147483854,205,206,7,200,201,28,34,200,201,200,201,200,201,7,7,200,201,7,7,200,201,7,7,7,7,7,7,7,2147483854,2147483856,9,9,9,9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,110,111,89,90,87,101,114,115,93,93,93,93,110,111, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,102,90,91,101,114,115,110,111,89,90,87,88,89,90,87,101,114,115,110,111,89,90, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,103,98,87,88,89,90,87,101,89,90,87,88,89,90,87,88,89,90,87,101,89,90,87,88, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,102,90,87,101,114,115,94,95,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90, +114,115,93,93,93,93,93,93,93,93,93,93,93,93,110,111,89,90,87,88,89,90,87,101,102,90,87,88,89,107,106,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88, +87,101,114,115,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90, +89,90,91,92,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88, +87,96,104,105,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90, +89,107,110,116,114,115,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88, +87,101,102,90,87,101,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,96,97,98, +89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,107,106,95, +87,88,89,107,106,95,89,99,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,91,96,97,98,87,88,89,90,91,96,104,105,106,95,89,90,87,88,89,90,87,101,102,90, +89,90,87,101,102,90,87,101,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,88,89,107,108,109,97,98,91,96,104,105,93,93,103,98,91,96,97,98,91,96,97,98,87,88, +87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,103,98,87,88,89,90,91,92,93,116,125,128,129,130,114,115,93,93,94,95,89,107,106,95,89,107,106,95,89,90, +89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,108,109,97,98,91,96,104,105,118,98,97,98,91,96,91,92,93,93,103,98,87,101,102,90,87,101,102,90,87,88, +87,88,89,90,87,88,89,107,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,93,93,108,109,131,109,104,132,104,105,93,93,108,109,97,98,91,96,97,98,87,88,89,90, +89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,106,95,89,90,91,96, +87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,116,89,90,91,96,104,105, +89,90,91,96,104,105,121,109,104,105,93,93,93,93,93,93,93,93,93,93,116,114,115,93,93,93,93,116,114,115,93,93,103,98,87,101,114,115,93,93,118,119,91,96,104,105,93,93, +87,88,89,107,93,93,93,93,93,116,114,115,93,93,93,93,93,93,93,118,119,91,92,93,93,93,118,119,87,101,114,115,94,95,89,90,91,92,93,93,108,109,104,105,93,93,93,93, +89,90,87,101,114,115,93,93,118,119,91,92,93,93,93,93,93,93,116,125,128,129,130,114,115,93,94,95,89,90,87,101,102,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93, +87,88,89,90,87,101,114,115,121,109,104,105,110,111,114,115,93,118,119,97,98,91,96,91,92,93,103,98,87,88,89,90,87,88,89,107,93,93,93,93,93,93,93,93,110,111,114,115, +89,90,91,96,97,98,91,92,93,93,110,111,102,90,91,92,93,108,109,131,109,104,132,104,105,93,108,109,97,98,87,88,89,90,87,101,114,115,93,93,2147483760,93,110,111,89,90,87,101, +87,88,89,107,106,95,89,99,93,93,103,98,87,88,89,99,93,93,93,93,93,93,93,93,110,111,114,115,108,109,97,98,91,96,97,98,87,101,114,115,2147483761,93,103,98,87,88,89,90, +89,90,87,101,102,90,87,101,114,115,94,95,89,90,87,101,114,115,93,93,93,93,93,93,103,98,87,101,114,115,94,95,89,107,106,95,89,90,87,101,114,115,94,95,89,90,87,88, +87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,101,114,115,110,111,114,115,94,95,89,90,87,101,102,90,87,101,102,90,87,88,89,90,87,101,102,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,103,98,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88 + + diff --git a/res/maps/hallucination_cliff.tmx b/res/maps/hallucination_cliff.tmx index 07144bc..c7cf718 100644 --- a/res/maps/hallucination_cliff.tmx +++ b/res/maps/hallucination_cliff.tmx @@ -1,12 +1,173 @@ - - - - 221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,222,221,221,221,221,221,221,221,221,223,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,223,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221 - - - 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,225,227,228,229,229,229,229,229,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,227,228,229,229,229,230,229,229,229,229,230,229,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,229,229,229,229,229,232,229,232,229,229,229,229,229,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,232,229,229,232,229,229,229,229,229,230,229,232,232,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,229,229,230,229,232,229,229,232,229,229,229,229,229,232,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,234,235,229,229,232,229,232,229,229,230,229,229,232,232,229,229,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,236,237,238,229,229,230,232,229,229,232,229,229,232,232,230,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,225,225,239,240,241,229,229,229,229,229,229,229,229,229,229,229,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,225,226,225,227,228,242,243,244,2147483887,245,246,247,247,247,248,247,247,249,247,237,238,232,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,229,229,229,229,229,229,229,229,244,2147483887,245,245,239,239,239,250,239,239,251,239,239,240,241,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,252,230,2147483877,2147483901,2147483902,2147483903,2147483903,255,254,253,229,244,2147483887,245,245,239,239,239,256,239,239,239,239,239,245,246,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,229,2147483905,2147483906,2147483907,2147483908,2147483908,260,259,258,257,261,262,263,245,2147483912,239,265,265,265,265,239,264,239,245,245,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,229,2147483914,267,268,269,270,271,272,267,266,229,229,273,263,2147483922,239,265,265,265,265,239,274,275,245,245,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,276,229,230,229,2147483925,267,278,279,280,281,282,267,277,229,229,229,273,2147483931,262,284,285,2147483933,2147483932,2147483910,283,286,245,245,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,229,2147483935,267,288,289,290,291,2147483936,267,287,229,229,229,229,292,229,229,229,229,229,2147483877,2147483940,229,244,245,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,232,2147483941,2147483942,267,295,296,297,267,294,293,229,229,229,229,298,230,229,229,229,229,230,2147483946,229,244,245,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,276,229,232,229,229,2147483947,2147483948,301,302,303,300,299,229,232,229,232,229,304,305,306,307,308,309,2147483953,2147483952,229,244,245,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,234,238,229,229,229,229,229,310,311,312,232,229,229,229,229,242,243,313,314,314,315,316,317,2147483966,2147483961,229,244,246,247,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,229,229,240,241,229,229,232,229,230,232,229,229,229,230,232,229,229,229,229,229,229,229,229,229,229,242,243,244,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,229,229,232,244,246,237,241,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,230,2147483886,2147483885,319,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,229,232,229,229,261,263,239,246,249,237,241,229,320,229,229,2147483889,2147483885,248,247,237,241,229,229,230,229,229,2147483889,2147483888,239,245,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,241,229,232,242,243,261,239,245,251,239,246,247,321,247,247,2147483894,2147483887,250,2147483887,2147483887,246,247,249,247,247,248,2147483894,2147483893,239,245,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,236,237,241,229,232,2147483889,239,245,239,239,245,2147483887,322,2147483887,2147483887,2147483893,2147483887,256,2147483887,2147483887,245,239,251,239,239,250,2147483893,2147483893,239,245,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,323,324,325,247,247,2147483894,239,245,239,239,245,2147483887,322,2147483887,2147483887,2147483893,2147483887,2147483923,275,2147483887,245,239,239,239,239,256,2147483893,2147483893,239,245,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,1,326,1,323,324,324,2147483971,327,328,239,329,330,2147483923,322,275,2147483887,2147483978,324,2147483979,331,324,330,239,275,239,239,239,2147483893,2147483976,327,328,245,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,1,1,1,326,1,1,1,222,332,327,333,323,2147483979,334,331,2147483972,2147483971,1,335,336,1,323,324,331,324,2147483977,239,2147483976,2147483980,222,332,328,239,93,93,93,93,93,93,93,93,93,93,93,93,93,93,114,115,337,1,1,1,326,2147483985,222,223,222,338,326,1,339,1,1,1,1,340,1,1,13,14,15,16,2147483981,2147483975,2147483980,2147483989,342,341,332,327,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,88,343,344,345,346,347,2147483991,222,223,222,348,349,1,1,326,1,1,326,1,1,1,1,1,1,1,2147483986,2147483870,2147483989,2147483998,1,350,341,222,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,98,223,351,352,222,353,2147483871,222,223,222,222,354,355,1,1,1,1,1,1,1,1,1,1,326,2147483997,2147483996,2147483870,2147483998,2147483649,1,1,350,356,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,357,223,222,358,222,222,2147483871,222,223,222,222,223,343,346,344,2147483993,346,359,337,1,360,1,326,2147483985,2147484002,222,2147483870,1,1,13,14,15,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,357,223,222,222,222,222,2147483871,222,223,222,222,223,223,222,351,2147484000,222,222,343,344,361,346,2147483993,2147483991,2147483871,222,1,335,336,1,1,1,326,1,1,1,1,1,14,14,1,1,14,14,1,1,1,1,357,223,222,222,2147483870,2147483870,2147483989,342,341,222,222,223,223,222,222,2147484006,222,222,223,351,362,222,2147484000,2147483871,2147483871,222,349,2147483649,326,1,340,1,1,1,1,1,1,1,14,3,4,5,12,14,1,1,1,1,357,223,222,222,2147483870,2147484011,2147483998,340,350,363,2147484011,341,223,222,222,222,222,222,223,222,362,222,2147484006,2147483871,2147483871,222,354,337,1,1,1,1,1,13,14,15,16,1,14,14,9,9,14,14,1,1,1,1,357,223,222,222,2147483870,335,336,1,1,1,1,350,223,222,222,222,222,222,223,222,362,222,222,2147483871,2147483871,222,223,343,344,346,345,346,344,1,1,1,1,1,14,49,364,59,59,14,1,1,1,1,350,341,222,365,337,1,1,13,14,15,16,1,2147484013,222,222,222,222,222,223,222,362,222,222,2147483871,2147483871,222,223,223,351,222,352,222,351,1,1,1,1,1,14,15,1,326,14,14,1,1,1,1,1,350,363,2147484011,366,346,359,337,1,1,326,2147483985,2147484015,222,222,222,222,222,223,222,362,222,222,2147483871,2147483871,222,223,223,222,222,358,222,222,1,1,1,1,1,14,1,326,1,1,14,1,1,1,1,1,1,1,1,357,368,222,343,346,344,346,2147484014,341,222,222,222,222,2147484016,223,222,362,222,222,2147483871,2147483989,342,341,223,222,222,222,222,222,13,14,15,16,1,14,15,1,13,14,15,16,1,1,1,1,1,1,1,350,356,363,341,368,351,222,2147484005,350,363,2147484011,363,2147484011,2147484004,341,2147484016,362,222,222,2147483989,2147483998,340,350,341,368,222,222,222,222,15,16,13,14,15,14,1,1,1,326,13,14,15,16,1,1,1,1,1,2147483649,335,336,350,363,363,2147484011,2147483998,1,1,1,1,14,15,350,2147484004,369,363,2147484011,2147483998,1,1,1,350,356,342,363,2147484011,342,1,1,1,1,13,14,15,16,326,29,34,28,28,14,15,12,1,1,1,2147483649,1,1,1,1,1,1,1,1,1,1,14,15,1,1,1,339,13,14,15,16,1,1,1,1,1,1,1,1,1,326,1,1,326,1073741825,29,28,28,36,7,2147484018,371,371,371,14,15,1,13,14,15,16,1,1,1,1,1,1,1,1,1,14,15,1,326,1,1,1,1,14,15,14,1,1,1,1,1,1,1,1,326,1,1,326,1073741853,1073741860,2147483655,2147483655,2147484018,2147484020,373,4,5,12,3,4,15,16,13,14,15,16,13,14,15,16,13,14,15,16,1,326,1,1073741873,1073742188,1073742188,1073742188,1073742188,14,15,1,1,1,1,1,1,14,326,1,14,15,1,1073741825,1073741853,1073741860,2147484018,2147484020,9,374,61,3,4,5,12,3221225531,3221225531,1073742188,3221225521,13,14,15,16,13,14,15,16,13,14,15,16,1073741873,1073741874,9,61,3,4,5,12,9,1,1,1,1,1,1,14,15,1,1,14,15,1073741825,1073741853,2147484020,9,9,9,9,9,9,3,4,5,12,9,3221225522,1073742188,3221225531,3221225521,1,1,1,1,1,1073741873,1073742188,3221225531,1073742188,1073741874,9,9,9,9,9,3,4,5,12,1,1,1,1,1,1,1,1,1,14,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,3221225522,3221225531,1073742188,3221225531,1073742188,1073742188,1073741874,9,9,9,9,9,2147483698,59,364,50,375,376,9,14,15,1,1,1,1,1,1,1,1,1,14,1,3,4,5,12,9,9,9,9,9,9,9,9,375,376,9,9,9,14,15,9,9,14,15,9,9,9,9,2147483698,2147483697,1,1,49,59,364,364,364,15,1,1,1,1,1,1,1,1,1,1,14,15,9,9,1073742196,1073742195,1073742201,3221225844,9,9,9,9,14,15,9,9,14,15,1,1,14,15,1,1,14,15,59,2147483697,14,15,1,1,14,15,1,1,14,15,1,1,1,1,1,1,1,1,1,1,1,14,15,1073742201,1073742194,7,7,3221225842,1073742201,14,15,14,1,1,14,15,1,1,1,1,1,1,1,1,1,1,14,15,1,1,14,15,1,1,14,15,1,1,1,1,1 - - - 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,378,379,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,378,379,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,242,243,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,242,243,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,380,381,93,93,93,93,382,93,93,93,93,93,93,93,93,93,93,93,93,93,242,243,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,383,384,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,385,386,387,388,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,389,390,391,392,393,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,394,395,396,397,398,93,93,93,93,93,93,93,93,399,400,2147484048,2147484047,93,93,93,93,276,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,401,93,93,93,93,93,93,93,93,93,93,93,402,93,93,2147484050,93,93,93,224,252,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,230,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,276,230,232,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,403,404,405,406,407,2147484051,93,234,241,229,232,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,408,409,229,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,93,93,410,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,234,93,93,93,93,93,93,411,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,412,413,93,93,93,93,2147483889,414,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,415,416,93,93,93,93,93,2147484065,2147484063,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,418,93,93,93,93,93,93,93,2147484013,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,91,92,93,93,93,93,93,93,93,93,114,115,93,93,93,93,93,93,93,93,93,93,93,93,367,419,93,93,93,93,93,93,2147484066,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,93,93,93,93,93,93,93,93,87,101,114,115,93,93,93,93,93,93,93,93,110,111,93,420,93,93,93,93,93,93,2147484015,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,89,90,87,101,114,115,110,111,114,115,110,111,102,90,91,421,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,91,92,87,88,89,90,87,101,102,90,87,101,102,90,87,88,89,421,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,412,93,93,108,109,104,105,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,415,416,93,93,93,93,93,93,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,418,93,93,93,93,93,93,93,89,90,87,88,89,90,91,96,97,98,87,88,89,90,91,92,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,367,93,93,93,93,93,93,93,87,96,97,98,87,88,89,99,94,95,89,90,87,88,89,99,93,93,93,412,93,93,103,98,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,89,99,94,95,89,90,91,92,103,98,87,88,89,90,87,101,114,115,415,416,93,93,108,109,104,105,93,2147484060,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,87,101,102,90,87,88,89,99,94,95,89,90,87,88,89,90,91,101,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,89,90,87,88,89,90,91,92,103,98,87,88,89,90,87,88,89,90,91,101,114,115,110,111,114,115,110,111,114,115,110,111,114,115,93,93,93,93,110,111,114,115,93,93,93,93,93,93,91,96,97,98,87,88,89,99,108,109,97,98,87,88,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,101,102,98,91,92,93,93,110,111,102,90,87,101,114,115,93,93,93,93,104,99,108,109,97,98,91,92,93,93,108,109,97,98,87,88,89,90,91,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,103,98,87,88,89,90,87,101,114,115,110,111,93,93,93,93,108,109,104,99,93,93,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,98,87,88,89,90,87,101,102,90,93,93,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,94,95,89,90,87,88,89,90,87,88,93,93,93,93,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,99,108,109,97,98,91,96,97,98,91,96,97,98,91,92,93,93,93,93,103,98,87,88,89,90,87,88,89,90,114,115,110,111,114,115,93,93,93,93,93,93,93,93,108,109,97,98,91,92,93,93,108,109,104,105,108,109,104,105,108,109,104,105,93,93,93,93,108,109,97,98,87,88,89,90,87,88,87,101,89,90,87,101,114,115,110,111,114,115,93,93,93,93,108,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,89,90,87,88,89,90,87,101,102,90,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,110,111,114,115,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,89,90,87,88,89,90,87,88,89,99,93,93,93,93,110,111,114,115,110,111,114,115,110,111,102,90,87,101,102,90,87,101,114,115,110,111,114,115,110,111,114,115,94,95,89,90,87,88,87,88,89,90,87,88,89,90,87,101,114,115,93,93,103,98,87,101,102,90,87,101,102,90,87,88,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,101,102,90,87,88,89,90,89,90,91,88,89,90,91,88,89,90,91,92,93,93,94,95,89,90,91,88,89,90,91,88,89,90,91,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88 - + + + + + +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,222,221,221,221,221,221,221,221,221,223,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,223,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221, +221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221 + + + + +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,225,227,228,229,229,229,229,229,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,227,228,229,229,229,230,229,229,229,229,230,229,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,229,229,229,229,229,232,229,232,229,229,229,229,229,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,232,229,229,232,229,229,229,229,229,230,229,232,232,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,229,229,230,229,232,229,229,232,229,229,229,229,229,232, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,234,235,229,229,232,229,232,229,229,230,229,229,232,232,229,229,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,236,237,238,229,229,230,232,229,229,232,229,229,232,232,230,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,225,225,239,240,241,229,229,229,229,229,229,229,229,229,229,229,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,225,226,225,227,228,242,243,244,2147483887,245,246,247,247,247,248,247,247,249,247,237,238,232,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,229,229,229,229,229,229,229,229,244,2147483887,245,245,239,239,239,250,239,239,251,239,239,240,241,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,252,230,2147483877,2147483901,2147483902,2147483903,2147483903,255,254,253,229,244,2147483887,245,245,239,239,239,256,239,239,239,239,239,245,246,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,229,2147483905,2147483906,2147483907,2147483908,2147483908,260,259,258,257,261,262,263,245,2147483912,239,265,265,265,265,239,264,239,245,245,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,229,2147483914,267,268,269,270,271,272,267,266,229,229,273,263,2147483922,239,265,265,265,265,239,274,275,245,245,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,276,229,230,229,2147483925,267,278,279,280,281,282,267,277,229,229,229,273,2147483931,262,284,285,2147483933,2147483932,2147483910,283,286,245,245,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,229,2147483935,267,288,289,290,291,2147483936,267,287,229,229,229,229,292,229,229,229,229,229,2147483877,2147483940,229,244,245,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,229,229,232,2147483941,2147483942,267,295,296,297,267,294,293,229,229,229,229,298,230,229,229,229,229,230,2147483946,229,244,245,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,276,229,232,229,229,2147483947,2147483948,301,302,303,300,299,229,232,229,232,229,304,305,306,307,308,309,2147483953,2147483952,229,244,245,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,234,238,229,229,229,229,229,310,311,312,232,229,229,229,229,242,243,313,314,314,315,316,317,2147483966,2147483961,229,244,246,247, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,229,229,240,241,229,229,232,229,230,232,229,229,229,230,232,229,229,229,229,229,229,229,229,229,229,242,243,244,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,229,229,232,244,246,237,241,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,230,2147483886,2147483885,319,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,229,232,229,229,261,263,239,246,249,237,241,229,320,229,229,2147483889,2147483885,248,247,237,241,229,229,230,229,229,2147483889,2147483888,239,245,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,241,229,232,242,243,261,239,245,251,239,246,247,321,247,247,2147483894,2147483887,250,2147483887,2147483887,246,247,249,247,247,248,2147483894,2147483893,239,245,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,236,237,241,229,232,2147483889,239,245,239,239,245,2147483887,322,2147483887,2147483887,2147483893,2147483887,256,2147483887,2147483887,245,239,251,239,239,250,2147483893,2147483893,239,245,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,323,324,325,247,247,2147483894,239,245,239,239,245,2147483887,322,2147483887,2147483887,2147483893,2147483887,2147483923,275,2147483887,245,239,239,239,239,256,2147483893,2147483893,239,245,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,1,326,1,323,324,324,2147483971,327,328,239,329,330,2147483923,322,275,2147483887,2147483978,324,2147483979,331,324,330,239,275,239,239,239,2147483893,2147483976,327,328,245,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,1,1,1,326,1,1,1,222,332,327,333,323,2147483979,334,331,2147483972,2147483971,1,335,336,1,323,324,331,324,2147483977,239,2147483976,2147483980,222,332,328,239, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,114,115,337,1,1,1,326,2147483985,222,223,222,338,326,1,339,1,1,1,1,340,1,1,13,14,15,16,2147483981,2147483975,2147483980,2147483989,342,341,332,327, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,88,343,344,345,346,347,2147483991,222,223,222,348,349,1,1,326,1,1,326,1,1,1,1,1,1,1,2147483986,2147483870,2147483989,2147483998,1,350,341,222, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,98,223,351,352,222,353,2147483871,222,223,222,222,354,355,1,1,1,1,1,1,1,1,1,1,326,2147483997,2147483996,2147483870,2147483998,2147483649,1,1,350,356, +14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,357,223,222,358,222,222,2147483871,222,223,222,222,223,343,346,344,2147483993,346,359,337,1,360,1,326,2147483985,2147484002,222,2147483870,1,1,13,14,15,16, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,357,223,222,222,222,222,2147483871,222,223,222,222,223,223,222,351,2147484000,222,222,343,344,361,346,2147483993,2147483991,2147483871,222,1,335,336,1,1,1,326, +1,1,1,1,1,14,14,1,1,14,14,1,1,1,1,357,223,222,222,2147483870,2147483870,2147483989,342,341,222,222,223,223,222,222,2147484006,222,222,223,351,362,222,2147484000,2147483871,2147483871,222,349,2147483649,326,1,340,1,1, +1,1,1,1,1,14,3,4,5,12,14,1,1,1,1,357,223,222,222,2147483870,2147484011,2147483998,340,350,363,2147484011,341,223,222,222,222,222,222,223,222,362,222,2147484006,2147483871,2147483871,222,354,337,1,1,1,1,1, +13,14,15,16,1,14,14,9,9,14,14,1,1,1,1,357,223,222,222,2147483870,335,336,1,1,1,1,350,223,222,222,222,222,222,223,222,362,222,222,2147483871,2147483871,222,223,343,344,346,345,346,344, +1,1,1,1,1,14,49,364,59,59,14,1,1,1,1,350,341,222,365,337,1,1,13,14,15,16,1,2147484013,222,222,222,222,222,223,222,362,222,222,2147483871,2147483871,222,223,223,351,222,352,222,351, +1,1,1,1,1,14,15,1,326,14,14,1,1,1,1,1,350,363,2147484011,366,346,359,337,1,1,326,2147483985,2147484015,222,222,222,222,222,223,222,362,222,222,2147483871,2147483871,222,223,223,222,222,358,222,222, +1,1,1,1,1,14,1,326,1,1,14,1,1,1,1,1,1,1,1,357,368,222,343,346,344,346,2147484014,341,222,222,222,222,2147484016,223,222,362,222,222,2147483871,2147483989,342,341,223,222,222,222,222,222, +13,14,15,16,1,14,15,1,13,14,15,16,1,1,1,1,1,1,1,350,356,363,341,368,351,222,2147484005,350,363,2147484011,363,2147484011,2147484004,341,2147484016,362,222,222,2147483989,2147483998,340,350,341,368,222,222,222,222, +15,16,13,14,15,14,1,1,1,326,13,14,15,16,1,1,1,1,1,2147483649,335,336,350,363,363,2147484011,2147483998,1,1,1,1,14,15,350,2147484004,369,363,2147484011,2147483998,1,1,1,350,356,342,363,2147484011,342, +1,1,1,1,13,14,15,16,326,29,34,28,28,14,15,12,1,1,1,2147483649,1,1,1,1,1,1,1,1,1,1,14,15,1,1,1,339,13,14,15,16,1,1,1,1,1,1,1,1, +1,326,1,1,326,1073741825,29,28,28,36,7,2147484018,371,371,371,14,15,1,13,14,15,16,1,1,1,1,1,1,1,1,1,14,15,1,326,1,1,1,1,14,15,14,1,1,1,1,1,1, +1,1,326,1,1,326,1073741853,1073741860,2147483655,2147483655,2147484018,2147484020,373,4,5,12,3,4,15,16,13,14,15,16,13,14,15,16,13,14,15,16,1,326,1,1073741873,1073742188,1073742188,1073742188,1073742188,14,15,1,1,1,1,1,1, +14,326,1,14,15,1,1073741825,1073741853,1073741860,2147484018,2147484020,9,374,61,3,4,5,12,3221225531,3221225531,1073742188,3221225521,13,14,15,16,13,14,15,16,13,14,15,16,1073741873,1073741874,9,61,3,4,5,12,9,1,1,1,1,1, +1,14,15,1,1,14,15,1073741825,1073741853,2147484020,9,9,9,9,9,9,3,4,5,12,9,3221225522,1073742188,3221225531,3221225521,1,1,1,1,1,1073741873,1073742188,3221225531,1073742188,1073741874,9,9,9,9,9,3,4,5,12,1,1,1,1, +1,1,1,1,1,14,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,3221225522,3221225531,1073742188,3221225531,1073742188,1073742188,1073741874,9,9,9,9,9,2147483698,59,364,50,375,376,9,14,15,1,1,1, +1,1,1,1,1,1,14,1,3,4,5,12,9,9,9,9,9,9,9,9,375,376,9,9,9,14,15,9,9,14,15,9,9,9,9,2147483698,2147483697,1,1,49,59,364,364,364,15,1,1,1, +1,1,1,1,1,1,1,14,15,9,9,1073742196,1073742195,1073742201,3221225844,9,9,9,9,14,15,9,9,14,15,1,1,14,15,1,1,14,15,59,2147483697,14,15,1,1,14,15,1,1,14,15,1,1,1, +1,1,1,1,1,1,1,1,14,15,1073742201,1073742194,7,7,3221225842,1073742201,14,15,14,1,1,14,15,1,1,1,1,1,1,1,1,1,1,14,15,1,1,14,15,1,1,14,15,1,1,1,1,1 + + + + + + + + + + + + + + + + + +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,378,379,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,378,379,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,242,243,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,242,243,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,380,381,93,93,93,93,382,93,93,93,93,93,93,93,93,93,93,93,93,93,242,243, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,383,384,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,385,386,387,388,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,389,390,391,392,393,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,394,395,396,397,398,93,93,93,93,93,93,93,93,399,400,2147484048,2147484047,93,93,93,93,276,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,401,93,93,93,93,93,93,93,93,93,93,93,402,93,93,2147484050,93,93,93,224,252,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,229,230, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,276,230,232,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,403,404,405,406,407,2147484051,93,234,241,229,232, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,408,409,229, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,224,225,226,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,93,93,410,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,231,228,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,233,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,234,93,93,93,93,93,93,411,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,412,413,93,93,93,93,2147483889,414,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,415,416,93,93,93,93,93,2147484065,2147484063,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,418,93,93,93,93,93,93,93,2147484013,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,91,92,93,93,93,93,93,93,93,93, +114,115,93,93,93,93,93,93,93,93,93,93,93,93,367,419,93,93,93,93,93,93,2147484066,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,93,93,93,93,93,93,93,93, +87,101,114,115,93,93,93,93,93,93,93,93,110,111,93,420,93,93,93,93,93,93,2147484015,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115, +89,90,87,101,114,115,110,111,114,115,110,111,102,90,91,421,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,91,92, +87,88,89,90,87,101,102,90,87,101,102,90,87,88,89,421,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,412,93,93,108,109,104,105, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,415,416,93,93,93,93,93,93, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,418,93,93,93,93,93,93,93, +89,90,87,88,89,90,91,96,97,98,87,88,89,90,91,92,93,93,93,93,93,93,110,111,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,367,93,93,93,93,93,93,93, +87,96,97,98,87,88,89,99,94,95,89,90,87,88,89,99,93,93,93,412,93,93,103,98,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +89,99,94,95,89,90,91,92,103,98,87,88,89,90,87,101,114,115,415,416,93,93,108,109,104,105,93,2147484060,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +87,101,102,90,87,88,89,99,94,95,89,90,87,88,89,90,91,101,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +89,90,87,88,89,90,91,92,103,98,87,88,89,90,87,88,89,90,91,101,114,115,110,111,114,115,110,111,114,115,110,111,114,115,93,93,93,93,110,111,114,115,93,93,93,93,93,93, +91,96,97,98,87,88,89,99,108,109,97,98,87,88,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,101,102,98,91,92,93,93,110,111,102,90,87,101,114,115,93,93,93,93, +104,99,108,109,97,98,91,92,93,93,108,109,97,98,87,88,89,90,91,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,103,98,87,88,89,90,87,101,114,115,110,111, +93,93,93,93,108,109,104,99,93,93,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,98,87,88,89,90,87,101,102,90, +93,93,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,94,95,89,90,87,88,89,90,87,88, +93,93,93,93,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,99,108,109,97,98,91,96,97,98,91,96,97,98,91,92,93,93,93,93,103,98,87,88,89,90,87,88,89,90, +114,115,110,111,114,115,93,93,93,93,93,93,93,93,108,109,97,98,91,92,93,93,108,109,104,105,108,109,104,105,108,109,104,105,93,93,93,93,108,109,97,98,87,88,89,90,87,88, +87,101,89,90,87,101,114,115,110,111,114,115,93,93,93,93,108,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90, +89,90,87,88,89,90,87,101,102,90,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88, +87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,110,111,114,115,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90, +89,90,87,88,89,90,87,88,89,99,93,93,93,93,110,111,114,115,110,111,114,115,110,111,102,90,87,101,102,90,87,101,114,115,110,111,114,115,110,111,114,115,94,95,89,90,87,88, +87,88,89,90,87,88,89,90,87,101,114,115,93,93,103,98,87,101,102,90,87,101,102,90,87,88,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,101,102,90,87,88,89,90, +89,90,91,88,89,90,91,88,89,90,91,92,93,93,94,95,89,90,91,88,89,90,91,88,89,90,91,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88 + + diff --git a/res/maps/hallucination_hot_spring.tmx b/res/maps/hallucination_hot_spring.tmx index 05e51d4..b2d9b31 100644 --- a/res/maps/hallucination_hot_spring.tmx +++ b/res/maps/hallucination_hot_spring.tmx @@ -1,12 +1,70 @@ - - - - 7,7,7,7,7,7,7,7,7,7,7,7,7,98,91,96,97,98,91,96,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,422,7,422,30,422,33,422,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,423,30,424,425,423,7,423,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,32,30,426,7,426,427,426,7,32,30,31,33,32,30,31,33,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,30,7,7,7,32,30,31,33,32,30,31,33,32,30,31,33,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,30,7,7,7,428,429,430,431,432,433,434,435,58,436,30,30,7,7,32,30,7,7,7,7,7,7,7,7,7,7,7,7,30,30,7,7,437,438,439,440,441,440,442,443,32,30,31,33,32,30,31,33,7,7,7,7,7,7,7,7,7,7,7,7,7,30,7,7,7,444,445,446,446,446,447,448,2147484085,3221225921,7,30,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,30,31,33,2147484076,450,446,446,451,446,446,452,2147484101,428,7,30,31,30,31,33,7,7,7,7,7,7,7,7,7,7,7,7,7,30,7,436,454,455,456,457,458,459,460,461,454,436,58,462,31,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,1073742252,436,7,7,7,7,7,7,3221225508,3221225500,14,13,14,15,16,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,464,7,7,436,7,7,7,3221225508,3221225501,13,14,15,16,13,14,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,465,58,7,7,7,3221225508,3221225500,3221225501,1,1,466,467,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,7,7,3221225508,3221225501,466,467,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,14,15,1,1,14,15,1,466,467,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,14,15,14,15,15,14,1,1,14 - - - 89,90,87,88,89,90,87,88,89,90,87,88,89,468,91,96,97,468,468,468,89,90,87,88,89,90,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,91,469,93,470,110,469,89,90,87,88,89,90,87,88,89,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,103,98,91,96,97,98,91,96,97,98,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,92,93,93,108,109,104,105,108,109,104,105,94,95,89,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,471,472,93,93,93,103,98,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,93,93,103,98,91,96,97,98,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,2147483741,93,93,108,109,104,105,108,109,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,110,111,114,115,110,111,114,115,93,93,93,93,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,89,90,87,101,102,90,87,101,114,115,110,111,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90 - - - 93,93,93,93,93,93,93,93,93,93,93,93,93,115,468,468,468,93,110,111,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,92,93,93,110,111,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 - + + + + + +7,7,7,7,7,7,7,7,7,7,7,7,7,98,91,96,97,98,91,96,7,7,7,7,7,7,7,7,7,7,7,7, +7,7,7,7,7,7,7,7,7,7,7,7,422,7,422,30,422,33,422,7,7,7,7,7,7,7,7,7,7,7,7,7, +7,7,7,7,7,7,7,7,7,7,7,7,423,30,424,425,423,7,423,7,7,7,7,7,7,7,7,7,7,7,7,7, +7,7,7,7,7,7,7,7,7,7,32,30,426,7,426,427,426,7,32,30,31,33,32,30,31,33,7,7,7,7,7,7, +7,7,7,7,7,7,7,7,7,7,7,7,30,7,7,7,32,30,31,33,32,30,31,33,32,30,31,33,7,7,7,7, +7,7,7,7,7,7,7,7,7,7,7,7,30,7,7,7,428,429,430,431,432,433,434,435,58,436,30,30,7,7,32,30, +7,7,7,7,7,7,7,7,7,7,7,7,30,30,7,7,437,438,439,440,441,440,442,443,32,30,31,33,32,30,31,33, +7,7,7,7,7,7,7,7,7,7,7,7,7,30,7,7,7,444,445,446,446,446,447,448,2147484085,3221225921,7,30,7,7,7,7, +7,7,7,7,7,7,7,7,7,7,7,7,7,30,31,33,2147484076,450,446,446,451,446,446,452,2147484101,428,7,30,31,30,31,33, +7,7,7,7,7,7,7,7,7,7,7,7,7,30,7,436,454,455,456,457,458,459,460,461,454,436,58,462,31,7,7,7, +7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,1073742252,436,7,7,7,7,7,7,3221225508,3221225500,14,13,14,15,16, +7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,464,7,7,436,7,7,7,3221225508,3221225501,13,14,15,16,13,14, +7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,465,58,7,7,7,3221225508,3221225500,3221225501,1,1,466,467,1,1,1, +7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,7,7,3221225508,3221225501,466,467,1,1,1,1,1,1,1, +7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,14,15,1,1,14,15,1,466,467,1,1, +7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,462,463,7,7,14,15,14,15,15,14,1,1,14 + + + + + + + +89,90,87,88,89,90,87,88,89,90,87,88,89,468,91,96,97,468,468,468,89,90,87,88,89,90,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,91,469,93,470,110,469,89,90,87,88,89,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,103,98,91,96,97,98,91,96,97,98,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,92,93,93,108,109,104,105,108,109,104,105,94,95,89,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,471,472,93,93,93,103,98,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,93,93,103,98,91,96,97,98, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,93,93,2147483741,93,93,108,109,104,105,108,109, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,110,111,114,115,110,111,114,115,93,93,93,93, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,89,90,87,101,102,90,87,101,114,115,110,111, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90 + + + + + + + +93,93,93,93,93,93,93,93,93,93,93,93,93,115,468,468,468,93,110,111,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,92,93,93,110,111,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, +93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 + + diff --git a/res/maps/hallucination_interior.tmx b/res/maps/hallucination_interior.tmx index 296e699..e792133 100644 --- a/res/maps/hallucination_interior.tmx +++ b/res/maps/hallucination_interior.tmx @@ -1,81 +1,223 @@ - - - - 1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,6,7,2147483655,2147483654,8,9,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,10,11,2147483659,2147483658,4,5,12,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,17,18,19,9,9,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,20,21,22,3,4,5,12,2,2,2,2,2,2,2,2,13,14,15,16,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,14,15,23,24,14,15,16,1,1,1,1,1,1,1,9,9,9,2,2,3,4,5,12,3,4,5,25,26,27,9,9,2,4,5,12,3,4,5,12,2,2,13,14,15,16,1,1,1,2147483676,2147483677,30,31,1,1,1,2,2,2,2,1,1,1,14,15,23,24,14,15,23,24,14,15,16,13,14,15,16,3,4,5,12,9,9,9,9,9,9,2,2,9,9,9,9,3,4,5,12,9,9,9,9,9,9,2,2,1,1,1,1,1,1,32,30,31,33,32,30,31,33,2,2,2,2,2,14,15,16,29,28,34,28,28,34,2147483677,1,13,14,15,35,24,14,15,12,3,4,5,12,2,2,2,2,3,4,5,12,9,9,9,9,3,4,5,12,2,2,2,2,2,2,1,1,1,1,32,30,31,33,32,30,31,33,2147483684,2,2,2,2,2,2,1,29,28,36,7,32,30,31,33,2147483684,2147483677,37,38,39,40,9,9,9,9,9,41,42,4,5,2,2,2,2,2147483657,2147483690,2147483689,2147483657,9,9,9,9,9,3,4,5,12,2,2,2,2,1,1,1,1,2,1,1073741852,1073741852,1073741860,43,7,2,2,2,2,2,2,2,28,34,36,7,7,44,45,46,47,7,3221225508,3221225501,48,1073741873,1073741874,51,8,4,5,12,9,52,53,54,2,2,2,2,2,2147483702,2147483701,2147483700,2147483703,9,9,9,9,51,8,9,9,2,2,2,2,2,1,1,1,2,2,14,15,16,1073741853,1073741852,1073741860,7,2,2,2,2,2,2,2,7,44,45,7,7,7,43,7,3221225508,3221225501,48,1073741873,1073741874,56,57,9,9,9,9,9,9,3,4,5,12,2,2,2,9,9,9,9,9,9,9,9,9,35,4,5,12,2,2,2,2,1,1,1,2,2,1,1,37,38,1,1073741853,2,2,2,2,2,2,2,7,58,46,47,7,7,7,7,3221225508,2,2,1,49,2,2,9,9,9,9,9,9,9,9,9,9,2,2,2,2,2,2,9,9,9,9,9,9,9,40,9,9,2,2,2,2,2,1,1,1,1,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,7,7,7,7,7,2,3221225508,3221225501,2,2,2,2,2,2,2,2,9,9,9,9,9,9,51,8,9,2,2,2,2,2,2,2147483707,2147483708,2147483707,50,9,9,61,59,59,2,2,2,2,2,1,1,1,1,1,2,2,2,2,1,1,14,15,1,2,2,2,2,7,46,47,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,2147483710,59,63,50,9,2,2,2,2,2,2,2,2147483712,1,2147483713,49,2147483708,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,1,1,1,13,14,15,16,32,30,31,33,7,7,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,63,2147483697,66,67,49,63,63,2,2,2,2,2,14,15,16,37,38,64,14,2,2,2,2,2,2,2,2,1,1,13,14,15,16,2,2,1,1,13,14,15,23,24,14,15,7,7,7,46,47,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,37,38,1,13,14,15,16,2,2,2,1,1,66,67,1,13,14,15,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,38,1073741873,3221225521,37,38,1,1,1073741852,1073741860,68,7,7,7,30,32,30,31,33,7,2,2,2,13,14,15,16,2,2,2,1,1,1,1,1,2,2,2,2,2,14,15,16,2147483715,2147483714,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1073741873,1073741874,3221225522,3221225521,13,14,15,16,1073741853,1073741860,7,7,32,30,31,33,32,30,31,33,2,2,1,1,1,1,2,2,1,1,1,37,38,1,2,2,2,2,2,2,1,1,1,1,13,14,15,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,3,4,5,12,9,3221225522,1073741884,3221225521,65,37,38,1073741853,7,69,70,7,7,68,2147483654,2147483659,2147483659,30,31,33,7,7,2,2,13,14,15,16,1,1,1,14,13,14,15,16,2,14,15,16,2147483682,28,2147483682,2147483676,2147483677,2,2,2,2,2,2,2,1,1,3,4,5,12,3,4,5,12,9,9,9,9,9,3221225522,1073741884,1073741884,1073741884,2,2,7,7,2147483655,2147483654,2147483659,2147483658,2147483657,9,30,9,30,31,33,2,2,2,1,1,37,38,1,13,14,15,1,1,1,2,2,7,7,7,7,7,7,2147483684,2,13,14,15,16,2,2,3,4,5,12,3,4,5,12,9,9,9,9,9,2,2,9,9,2,2,2,2,2147483659,11,2147483659,2147483658,9,9,2,2,4,5,12,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,32,30,31,33,43,7,58,7,2,2,1,1,1,1,2,2,5,12,9,51,8,9,2147483698,2147483708,2147483708,50,56,57,9,4,5,2,2,2,2,2,2,9,9,2,2,9,3,4,5,12,9,2,2,2,2,2,2,2,5,1073741884,3221225521,65,13,14,15,16,2,2,2,2,7,7,46,47,32,30,31,33,2,2,2,2,2,2,3,4,5,12,2147483698,2147483708,2147483697,37,38,49,50,1073741833,9,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,2,2,2,2,2,2,3,4,5,12,3221225522,3221225535,3221225521,48,1,2,2,2,32,30,31,33,68,7,7,7,32,30,31,33,2,2,2,2,63,63,50,2147483698,2147483697,1,1073741873,3221225532,3221225521,1,49,2,2,9,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,40,9,56,57,3221225522,1073741884,3221225531,3221225535,2,2,2,2,7,7,7,7,7,69,70,7,32,30,31,33,2,2,1,1,49,2147483697,1,1073741873,1073741874,2147483657,3221225522,66,67,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,51,8,9,9,9,9,40,9,2,2,2,2,14,15,7,1073741852,1073741852,1073741860,7,7,58,7,3221225508,2,2,2,2,1,1,1,1,1,9,9,2,2,1,13,14,15,16,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,4,5,12,3,4,5,12,9,9,9,9,9,61,51,8,9,2,2,2,2,14,15,16,1073741853,3221225500,3221225506,3221225500,3221225500,14,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,13,14,15,16,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,9,35,4,5,12,17,18,19,9,9,9,9,9,9,2,2,2,2,2,2,2,2,1,66,67,1,64,48,1,13,14,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,61,40,9,9,9,20,21,22,9,9,9,9,2,2,2,2,2,2,2,2,2,2,2,1,1,48,1,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,50,61,9,9,9,25,26,27,40,9,4,5,2,2,2,2,2,2,2,2,1,13,14,15,16,66,67,1,1,13,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,3,4,5,12,13,14,15,16,1,49,50,56,57,9,9,9,9,41,42,9,9,2,2,2,13,14,15,16,13,14,15,16,1,64,1,1,1,64,2,2,2,2,2,2,13,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,35,4,5,12,2147483657,14,15,16,13,14,15,16,49,59,50,9,9,9,55,52,53,2,2,2,2,2,1,1,1,1,2,1,1,66,67,1,1073741895,1073741884,2,2,1073741826,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,9,3221225481,3221225481,40,3221225481,3221225481,2147483698,2147483707,2147483697,1,37,38,1,1,1,64,1,49,50,9,9,9,9,9,9,2,2,2,2,2,2,2,2,2,2,1,1,1073741895,1073741884,1073741886,1073741833,2,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,4,5,12,3221225481,3221225481,3221225481,51,8,3221225481,2147483698,2147483697,13,14,15,16,1,1,37,38,1,37,38,38,2,2,2,59,2147483697,2,2,2,2,2,2,2,2,2,2,2,1073741884,1073741887,1073741886,1073741833,3,4,5,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3221225481,3221225481,3,4,5,12,56,57,3221225481,9,3221225522,3221225521,66,67,1,37,38,1,1,67,1,66,67,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,2147483705,2147483704,9,9,9,2,2,2,2,2,72,72,72,72,2,2,2,2,32,30,31,33,1073741835,3221225483,3221225482,3221225481,3221225481,3221225481,3221225481,3221225481,3221225481,3221225481,3221225481,3221225522,3221225521,2147483715,2147483714,66,67,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,3,4,5,12,2,2,2,2,72,72,72,72,2,7,32,30,31,33,32,30,31,33,3221225478,3221225482,3221225481,3221225481,1073741833,1073741833,1073741833,1073741833,1073741833,1073741833,3221225522,66,67,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,14,5,12,9,9,9,9,2,2,2,2,2,2,72,72,72,72,32,30,31,33,43,44,45,7,7,7,7,3221225478,3221225482,9,1073741833,1073741833,1073741833,1073741833,1073741833,1073741833,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,5,9,9,9,3,4,5,12,2,2,2,2,72,72,72,72,2,7,7,46,47,7,7,7,2,2,2,2,2,3221225482,1073741833,1073741833,1073741833,1073741833,3,4,5,12,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,3,4,5,12,9,9,9,9,2,2,2,2,2,2,72,72,72,72,2,2,2,7,7,3221225508,1073741852,1073741852,2,2,2,2,2,2,2,2147483690,2147483689,2147483657,1073741833,1073741833,1073741834,30,31,33,2,2,1,1,1,1,2,2,13,14,15,16,13,14,15,16,1,14,15,1,3,4,5,12,9,9,9,41,42,2,2,2,2,2,2,2,72,72,72,72,2,2,2,1073741852,1073741852,3221225501,64,2,2,2,2,2,2,2,2,2147483701,2147483700,2147483703,1073741833,1073741834,1073741830,7,2,2,2,2,2,2,2,2,2,2,1,1,1,14,15,16,13,14,15,23,24,14,15,71,60,62,9,9,55,52,53,2,2,2,2,2,2,2,72,72,72,72,2,2,2,64,1073741873,2,2,2,2,2,2,2,2,2,2,2147483657,2147483657,2147483657,1073741834,1073741830,32,30,31,33,7,2,2,2,2,2,2,2,2,2,2,14,1,37,38,1,1,29,34,28,28,28,2147483677,71,60,62,9,9,9,2,2,2,2,2,2,2,72,72,72,72,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1073741835,1073741835,1073741835,1073741830,68,7,47,32,30,31,33,7,7,7,7,13,14,15,16,13,14,15,16,1,29,28,36,32,30,31,33,2147483684,28,2147483677,71,2147483719,2,2,2,13,14,15,16,2,2,72,72,72,72,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1073741860,68,3221225508,1073741852,14,13,14,15,16,13,14,15,16,13,14,15,16,66,67,29,36,44,45,7,7,7,44,45,7,2147483684,28,28,28,2,2,1,1,1,1,2,2,72,72,13,14,15,16,2,2,2,9,9,9,9,9,2,2,2,2,2,2,2,2,15,1073741853,1073741852,3221225501,13,14,15,16,13,14,15,16,1,1073741873,1073741884,3221225531,3221225521,1,37,38,1073741853,1073741860,7,7,7,7,7,7,7,7,7,7,7,2,2,2,1,1,2,2,2,2,72,72,72,72,2,2,2,2,9,9,9,9,9,2,2,2,2,2,2,2,13,14,15,16,1,2147483715,2147483714,1073741873,3221225531,1073741884,3221225531,3221225521,37,38,1073741873,1073741874,9,9,3221225522,1073741884,3221225543,1,1,1073741853,1073741860,7,7,7,7,7,7,7,7,7,2,2,2,14,15,16,2,2,2,2,2,2,2,2,72,72,2,2,2,9,9,2,2,2,2,2,2,2,2,2,2,37,38,2147483715,2147483714,1,1073741873,1073741874,9,9,9,3221225522,1073741884,3221225531,1073741874,9,9,9,9,2147483698,2147483719,1,1,2,2,7,32,30,31,33,7,7,7,7,13,14,15,16,1,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,2147483656,2147483699,9,2,2,2,3,4,5,12,3221225531,3221225531,3221225521,37,38,1,49,50,9,40,9,9,9,41,42,9,9,2,2,2147483697,1,2,2,2,2,2,2,2,2,2,2,7,32,30,31,33,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,9,2,2,2,3,4,5,12,3,4,5,12,3221225522,3221225521,66,67,1,2,2,61,56,57,55,52,53,54,2,2,2,2,2,2,2,2,2,2,13,14,15,2,2,1073741852,3221225500,3221225501,15,14,15,14,2,2,2,2,2,2,2,2,2,2,2,2,2,9,3,4,5,12,9,2,2,9,9,61,9,9,9,9,2147483698,2147483719,1,1,1,14,2,2,2,9,9,56,57,9,2,2,2,2,2,2,2,2,2,2,2,2,2,14,15,23,24,14,15,16,1,1,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,9,2,2,2,9,2,2,9,9,9,2147483698,59,2147483697,37,38,1,1,2,2,2,2,2,2,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1073741884,1073741884,3221225521,37,38,1073741873,1073741884,1073741883,2,2,2,2,2,2,13,14,15,16,2,2,2,9,9,9,9,9,9,2,2,2,2,2,2,59,2147483697,1,66,67,37,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,3,4,5,12,3221225522,1073741884,1073741884,1073741874,3,4,5,12,2,2,2,2,1,1,1,1,2,2,3,4,5,12,3,4,5,12,2,2,2,2,1,2,2,1,37,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,13,14,15,16,1,14,15,9,3,4,5,61,61,61,2,9,9,2147483698,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,9,9,56,57,9,2,2,2,2,14,15,16,1,2,2,1,13,14,15,16,2,2,2,2,3,4,5,12,13,14,15,16,13,14,15,16,59,59,59,50,56,57,61,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,9,9,9,9,2,2,2,23,24,1,13,14,15,16,37,38,13,14,15,16,3,4,5,12,2147483698,14,15,1,1,1,1,1,13,14,15,16,65,49,50,56,57,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,9,73,74,9,56,57,9,9,2,2,2,1073741883,1073741873,1073741883,1073741883,1073741883,1073741883,1073741883,1073741883,1073741873,1073741883,1073741883,3221225521,3,4,5,12,61,2147483698,2147483697,1,13,14,15,16,13,14,15,16,1,37,38,1,49,50,9,2,2,2,2,2,2,2,2,9,9,9,9,9,2,2,2,2,2,75,76,77,78,9,3,4,5,12,2,2,2,9,3,4,79,80,81,82,5,12,3,4,5,12,9,9,2147483698,2147483697,13,14,15,16,13,14,15,16,1,1,66,67,1,1073741873,1073741883,1073741883,59,1,1,2,2,2,9,9,9,9,9,9,9,9,2,2,2,2,1,1,49,60,50,2147483657,9,9,3,4,2,12,9,9,61,9,83,84,85,86,9,9,9,9,2,57,2147483698,59,2147483697,66,67,1073741873,3221225521,1,66,67,1,1,37,67,1,1,1073741873,1073741874,3,4,5,12,1,2,2,2,3,4,5,12,3,4,5,12,2,2,2,2,2,2,1,1,49,2147483707,60,50,9,9,2,4,5,12,9,9,9,9,9,9,9,9,9,9,2,2147483698,2147483697,37,38,37,38,1073741874,3221225522,1,13,14,15,16,1,2,2,1,9,9,73,74,9,2,2,2,3,4,5,12,3,4,5,12,9,9,13,14,15,16,2,2,2,1,1,1,65,49,2147483707,50,2,9,9,9,9,9,9,9,9,9,9,9,2,2,2,2147483697,37,38,13,14,15,9,9,14,15,16,13,14,15,2,2,2,2,9,76,77,9,2,2,2,9,9,61,56,57,9,9,9,9,9,1,1,1,1,2,2,1,1,1,1,1,1,1,2,2,9,9,9,9,2147483698,59,59,2,2,2,2,2,2,2,1,1,14,15,16,13,14,15,16,1,1,1,1,1,2,2,2,2,9,9,2,2,2,2,9,56,57,9,9,9,9,9,9,3,4,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,60,59,2147483697,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,56,57,9,9,9,9,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,37,38,37,38,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,56,57,9,9,9,9,9,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,3,4,79,80,81,82,5,12,2,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,56,57,9,9,83,84,85,86,51,8,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,9,9,9,56,57,9,9,9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,94,95,89,90,87,88,89,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,100,98,87,88,89,90,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,94,95,89,90,87,88,89,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,91,96,97,98,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,99,93,93,103,98,87,88,89,90,91,96,97,98,87,88,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,106,95,89,107,108,109,97,98,91,96,97,98,91,96,97,98,87,88,89,99,94,95,89,90,91,92,93,93,108,109,97,98,87,88,89,99,94,95,89,90,89,99,94,95,89,90,91,96,97,98,91,96,97,98,87,88,89,90,91,96,104,105,93,93,103,98,91,92,93,93,108,109,104,105,106,95,89,99,108,109,97,98,87,101,102,90,91,96,104,105,93,93,93,93,108,109,97,98,87,101,102,90,87,88,87,101,102,90,87,88,89,107,108,109,104,105,106,95,89,90,87,88,89,107,93,93,93,93,108,109,104,105,93,93,93,93,93,93,103,98,91,92,93,93,106,95,89,90,87,88,89,99,93,93,93,93,93,93,93,93,94,95,89,90,87,88,89,90,89,90,87,88,89,90,91,92,93,93,110,111,102,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,93,112,103,98,87,88,89,90,91,92,93,2147483760,93,93,93,93,93,93,100,98,87,88,89,90,87,88,87,88,89,90,91,96,104,105,93,93,103,98,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,113,108,109,97,98,87,88,89,99,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90,89,90,87,88,89,107,93,93,93,93,106,95,89,90,87,88,89,90,91,92,93,93,110,111,114,115,110,111,114,115,110,111,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,101,114,115,93,93,93,93,93,93,35,93,94,95,89,90,87,88,87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,88,89,99,93,93,103,98,87,101,102,90,87,101,102,90,87,101,114,115,93,93,93,93,93,93,103,98,87,88,89,98,87,101,114,115,93,93,93,93,110,111,102,90,87,88,89,90,89,90,87,88,89,90,87,101,114,115,106,95,89,90,87,88,89,90,91,92,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,89,90,91,92,93,93,93,116,102,90,87,88,89,90,87,88,87,88,89,90,87,88,89,90,91,117,100,98,91,96,97,98,91,96,104,105,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,103,98,87,88,89,90,91,96,104,105,93,93,118,119,87,88,89,90,87,88,89,90,89,90,87,96,97,98,87,88,89,120,108,109,104,105,106,95,89,99,93,93,93,93,106,95,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,108,109,97,98,87,88,89,99,93,93,93,93,94,95,89,90,87,88,89,90,87,88,87,88,89,99,94,95,89,90,87,101,114,115,93,93,103,98,91,92,93,93,93,93,103,98,91,96,97,98,87,88,89,90,91,96,97,98,87,101,114,115,93,93,93,93,108,95,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,88,89,90,89,90,87,101,102,90,87,88,89,90,91,92,93,93,108,109,104,105,93,93,93,93,108,109,104,105,121,109,97,98,87,88,89,99,94,95,89,90,91,92,93,93,110,111,89,90,87,88,89,90,87,92,93,93,108,109,97,98,87,88,89,90,87,88,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,106,95,89,90,87,101,102,90,91,96,104,99,93,93,103,98,91,96,97,98,87,88,89,99,93,93,93,93,106,95,89,90,87,88,89,90,89,90,91,96,97,98,91,96,104,105,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,110,111,89,90,87,88,89,90,87,88,89,99,93,93,93,93,106,95,89,99,94,95,89,90,91,92,93,93,110,111,102,90,91,96,97,98,87,88,87,88,89,99,108,109,104,105,93,93,93,93,110,111,114,115,110,111,102,90,91,92,93,93,93,93,103,98,91,96,97,98,87,88,89,90,87,101,114,115,93,93,103,98,87,101,102,90,87,88,89,99,93,93,103,98,87,88,89,99,94,95,89,90,97,98,91,92,93,93,93,93,93,93,93,93,103,98,87,101,102,90,87,88,89,99,110,111,114,115,94,95,89,99,94,95,89,90,87,88,89,90,91,92,93,93,108,109,97,119,87,88,89,90,91,92,93,93,108,109,97,98,87,101,102,90,87,88,108,109,104,105,93,93,93,93,93,93,93,93,94,95,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,101,102,90,87,88,89,90,91,96,104,105,93,93,93,93,106,95,89,90,87,88,89,99,93,93,93,93,108,109,97,98,87,88,89,90,93,93,93,93,93,93,93,93,93,93,110,111,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,35,93,93,93,93,93,103,119,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,35,94,95,89,90,87,88,89,90,91,92,93,93,93,93,103,98,87,88,89,90,114,115,110,111,114,115,110,111,114,115,108,109,97,98,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,91,96,97,98,91,96,104,105,93,93,93,93,93,93,103,119,87,88,89,90,87,88,89,99,93,93,93,93,94,95,89,90,87,88,87,101,102,90,87,101,102,90,91,92,93,93,108,109,97,98,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,99,108,109,104,105,93,93,93,93,110,111,114,115,94,95,89,90,87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,89,90,87,88,89,90,87,88,89,99,110,111,114,115,106,95,89,90,87,101,102,90,87,88,89,90,87,88,89,90,91,92,35,93,93,93,93,93,93,93,103,98,87,101,102,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,98,87,88,87,88,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,35,108,109,97,98,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,106,95,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,91,96,97,98,91,96,97,98,91,92,93,93,93,93,93,93,93,93,93,93,94,95,89,90,91,96,97,98,91,96,104,105,93,93,93,93,110,111,102,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,108,109,104,105,108,95,89,99,108,109,104,105,93,93,93,93,93,93,93,112,110,111,89,90,87,88,89,99,94,95,89,99,93,93,93,93,110,111,102,90,87,88,89,90,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,99,93,93,35,93,93,93,118,98,91,92,93,93,93,93,93,93,93,116,114,115,93,113,103,119,87,88,89,90,87,101,102,90,87,101,114,115,93,93,100,98,87,88,89,90,87,88,87,88,89,99,94,95,89,90,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,108,109,104,105,93,93,93,93,93,93,118,119,87,101,114,115,94,95,89,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,90,87,88,89,90,89,90,87,101,102,90,87,88,89,90,87,88,89,99,108,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,116,114,115,94,95,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,96,104,105,93,93,93,93,106,88,89,90,87,88,87,88,89,90,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,118,119,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,110,111,102,90,87,88,89,90,89,90,87,88,89,90,91,96,104,105,108,109,104,105,93,93,93,93,93,93,93,93,93,116,114,115,110,116,114,115,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,88,87,88,89,90,91,96,104,105,93,93,93,93,110,116,114,115,93,93,93,93,93,93,118,119,87,101,102,90,87,101,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,98,87,88,89,90,89,90,87,88,89,99,93,93,93,93,110,111,102,90,87,101,114,115,93,93,93,93,121,109,97,98,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,106,95,89,90,87,88,87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,89,99,94,95,89,90,91,96,97,98,87,96,97,98,91,96,97,98,91,96,104,105,93,93,93,93,110,111,102,90,87,88,89,90,89,90,87,88,89,90,91,92,93,93,94,95,89,98,87,88,89,90,91,92,2147483760,93,93,93,103,98,87,88,89,90,87,101,102,90,87,88,89,99,94,95,89,99,121,109,104,105,94,95,89,99,93,93,93,93,93,112,103,98,87,88,89,90,87,88,87,88,89,90,87,88,89,99,110,111,102,98,87,88,89,90,87,88,89,99,2147483761,93,93,93,108,109,97,98,87,88,89,90,87,88,89,90,87,101,102,90,91,92,93,93,93,93,103,98,91,92,93,93,93,93,93,113,108,95,89,90,87,88,89,90,89,90,87,88,89,90,87,101,102,90,87,88,89,98,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,89,90,91,96,97,98,91,96,104,105,93,93,93,93,108,109,104,105,93,93,93,93,110,111,102,90,91,96,97,98,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,103,98,91,96,97,98,91,96,104,105,121,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,99,94,95,89,90,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,121,109,104,105,121,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,101,102,90,87,88,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,102,90,91,88,89,98,87,88,89,90,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,110,111,114,115,93,93,103,98,91,88,89,90,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,35,93,93,93,93,93,93,110,111,114,115,110,111,102,90,87,101,102,90,87,101,114,115,106,95,89,90,87,88,89,90,87,88,89,90,89,90,87,88,89,90,91,96,97,98,87,88,89,90,91,96,104,105,108,109,104,105,93,93,93,93,110,111,114,115,93,93,93,112,110,111,102,90,87,101,102,90,87,88,89,90,87,88,89,90,91,92,103,98,91,96,97,98,87,88,89,90,87,88,87,88,89,90,87,88,89,99,108,109,97,98,91,88,89,99,93,93,93,93,93,93,93,93,93,93,100,98,87,101,114,115,93,113,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,122,123,109,104,105,94,95,89,90,87,88,89,90,89,90,87,88,89,90,87,101,114,115,94,95,89,90,87,101,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,101,114,115,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,103,119,87,88,89,90,87,88,91,96,97,98,87,88,89,90,91,92,100,98,87,88,89,90,87,101,114,115,93,93,93,93,110,111,102,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,105,93,93,93,93,94,95,89,90,87,88,89,90,89,99,94,95,89,90,91,96,104,124,123,109,97,119,87,88,89,90,87,101,114,115,110,111,102,98,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,99,121,109,97,98,87,101,114,115,110,116,102,90,87,88,89,90,87,88,87,101,102,90,91,96,104,105,93,93,93,93,106,95,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,99,106,95,89,90,91,92,93,93,106,95,89,90,87,101,102,90,87,88,89,90,87,88,89,90,89,90,87,88,89,107,110,116,114,115,110,116,102,90,87,88,89,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,105,106,95,89,90,87,101,102,90,91,96,104,105,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,87,88,89,90,87,101,125,90,87,101,125,90,87,88,89,90,87,88,89,98,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,91,96,97,98,91,96,104,105,93,93,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,106,95,89,99,110,111,114,115,93,93,103,119,87,88,89,90,87,88,89,90,87,88,89,90,87,88,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,110,111,102,90,87,101,102,90,87,101,114,115,121,109,97,98,87,88,89,90,91,96,97,98,91,96,97,98,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,98,91,92,103,98,87,88,89,90,87,88,89,90,91,92,126,127,106,95,89,90,91,96,104,105,108,109,104,105,106,95,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,91,96,97,98,87,88,89,99,110,116,102,119,87,88,89,99,93,93,93,116,114,115,100,98,89,99,94,95,89,90,87,88,89,90,87,88,89,90,91,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,99,106,95,89,90,87,101,89,90,87,88,89,90,91,92,93,93,118,119,91,92,108,109,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,91,88,89,90,87,88,89,90,87,88,89,90,87,88,102,90,87,88,89,90,87,88,89,90,87,101,102,90,91,88,89,98,87,88,89,90,87,88,89,99,110,111,125,128,129,130,114,115,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,100,119,97,98,91,96,91,92,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,122,123,109,131,109,104,132,104,124,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,110,116,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,98,87,101,114,115,93,116,102,90,97,98,91,96,97,98,91,101,102,90,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,92,118,119,91,96 - + + + + + +1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,6,7,2147483655,2147483654,8,9,2,2,2,2,2,2,2,2,2, +1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,10,11,2147483659,2147483658,4,5,12,2,2,2,2,2,2,2,2, +1,1,1,1,1,1,1,2,2,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,17,18,19,9,9,2,2,2,2,2,2,2,2,2,2, +1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,20,21,22,3,4,5,12,2,2,2,2,2,2,2,2, +13,14,15,16,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,14,15,23,24,14,15,16,1,1,1,1,1,1,1,9,9,9,2,2,3,4,5,12,3,4,5,25,26,27,9,9,2,4,5,12,3,4,5,12,2,2, +13,14,15,16,1,1,1,2147483676,2147483677,30,31,1,1,1,2,2,2,2,1,1,1,14,15,23,24,14,15,23,24,14,15,16,13,14,15,16,3,4,5,12,9,9,9,9,9,9,2,2,9,9,9,9,3,4,5,12,9,9,9,9,9,9,2,2, +1,1,1,1,1,1,32,30,31,33,32,30,31,33,2,2,2,2,2,14,15,16,29,28,34,28,28,34,2147483677,1,13,14,15,35,24,14,15,12,3,4,5,12,2,2,2,2,3,4,5,12,9,9,9,9,3,4,5,12,2,2,2,2,2,2, +1,1,1,1,32,30,31,33,32,30,31,33,2147483684,2,2,2,2,2,2,1,29,28,36,7,32,30,31,33,2147483684,2147483677,37,38,39,40,9,9,9,9,9,41,42,4,5,2,2,2,2,2147483657,2147483690,2147483689,2147483657,9,9,9,9,9,3,4,5,12,2,2,2,2, +1,1,1,1,2,1,1073741852,1073741852,1073741860,43,7,2,2,2,2,2,2,2,28,34,36,7,7,44,45,46,47,7,3221225508,3221225501,48,1073741873,1073741874,51,8,4,5,12,9,52,53,54,2,2,2,2,2,2147483702,2147483701,2147483700,2147483703,9,9,9,9,51,8,9,9,2,2,2,2,2, +1,1,1,2,2,14,15,16,1073741853,1073741852,1073741860,7,2,2,2,2,2,2,2,7,44,45,7,7,7,43,7,3221225508,3221225501,48,1073741873,1073741874,56,57,9,9,9,9,9,9,3,4,5,12,2,2,2,9,9,9,9,9,9,9,9,9,35,4,5,12,2,2,2,2, +1,1,1,2,2,1,1,37,38,1,1073741853,2,2,2,2,2,2,2,7,58,46,47,7,7,7,7,3221225508,2,2,1,49,2,2,9,9,9,9,9,9,9,9,9,9,2,2,2,2,2,2,9,9,9,9,9,9,9,40,9,9,2,2,2,2,2, +1,1,1,1,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,7,7,7,7,7,2,3221225508,3221225501,2,2,2,2,2,2,2,2,9,9,9,9,9,9,51,8,9,2,2,2,2,2,2,2147483707,2147483708,2147483707,50,9,9,61,59,59,2,2,2,2,2, +1,1,1,1,1,2,2,2,2,1,1,14,15,1,2,2,2,2,7,46,47,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,2147483710,59,63,50,9,2,2,2,2,2,2,2,2147483712,1,2147483713,49,2147483708,2,2,2,2,2,2,2,2,2, +1,1,1,1,1,2,2,2,2,1,1,1,13,14,15,16,32,30,31,33,7,7,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,63,2147483697,66,67,49,63,63,2,2,2,2,2,14,15,16,37,38,64,14,2,2,2,2,2,2,2,2, +1,1,13,14,15,16,2,2,1,1,13,14,15,23,24,14,15,7,7,7,46,47,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,37,38,1,13,14,15,16,2,2,2,1,1,66,67,1,13,14,15,2,2,2,2,2,2,2, +1,1,1,1,1,1,2,2,2,2,38,1073741873,3221225521,37,38,1,1,1073741852,1073741860,68,7,7,7,30,32,30,31,33,7,2,2,2,13,14,15,16,2,2,2,1,1,1,1,1,2,2,2,2,2,14,15,16,2147483715,2147483714,1,1,2,2,2,2,2,2,2,2, +1,1,1,1,1,2,2,2,2,2,1073741873,1073741874,3221225522,3221225521,13,14,15,16,1073741853,1073741860,7,7,32,30,31,33,32,30,31,33,2,2,1,1,1,1,2,2,1,1,1,37,38,1,2,2,2,2,2,2,1,1,1,1,13,14,15,2,2,2,2,2,2,2, +1,1,1,1,1,2,2,2,3,4,5,12,9,3221225522,1073741884,3221225521,65,37,38,1073741853,7,69,70,7,7,68,2147483654,2147483659,2147483659,30,31,33,7,7,2,2,13,14,15,16,1,1,1,14,13,14,15,16,2,14,15,16,2147483682,28,2147483682,2147483676,2147483677,2,2,2,2,2,2,2, +1,1,3,4,5,12,3,4,5,12,9,9,9,9,9,3221225522,1073741884,1073741884,1073741884,2,2,7,7,2147483655,2147483654,2147483659,2147483658,2147483657,9,30,9,30,31,33,2,2,2,1,1,37,38,1,13,14,15,1,1,1,2,2,7,7,7,7,7,7,2147483684,2,13,14,15,16,2,2, +3,4,5,12,3,4,5,12,9,9,9,9,9,2,2,9,9,2,2,2,2,2147483659,11,2147483659,2147483658,9,9,2,2,4,5,12,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,32,30,31,33,43,7,58,7,2,2,1,1,1,1,2,2, +5,12,9,51,8,9,2147483698,2147483708,2147483708,50,56,57,9,4,5,2,2,2,2,2,2,9,9,2,2,9,3,4,5,12,9,2,2,2,2,2,2,2,5,1073741884,3221225521,65,13,14,15,16,2,2,2,2,7,7,46,47,32,30,31,33,2,2,2,2,2,2, +3,4,5,12,2147483698,2147483708,2147483697,37,38,49,50,1073741833,9,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,2,2,2,2,2,2,3,4,5,12,3221225522,3221225535,3221225521,48,1,2,2,2,32,30,31,33,68,7,7,7,32,30,31,33,2,2,2,2, +63,63,50,2147483698,2147483697,1,1073741873,3221225532,3221225521,1,49,2,2,9,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,40,9,56,57,3221225522,1073741884,3221225531,3221225535,2,2,2,2,7,7,7,7,7,69,70,7,32,30,31,33,2,2, +1,1,49,2147483697,1,1073741873,1073741874,2147483657,3221225522,66,67,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,51,8,9,9,9,9,40,9,2,2,2,2,14,15,7,1073741852,1073741852,1073741860,7,7,58,7,3221225508,2,2,2,2, +1,1,1,1,1,9,9,2,2,1,13,14,15,16,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,4,5,12,3,4,5,12,9,9,9,9,9,61,51,8,9,2,2,2,2,14,15,16,1073741853,3221225500,3221225506,3221225500,3221225500,14,2,2,2,2, +2,2,2,2,2,2,2,2,2,1,1,1,13,14,15,16,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,9,35,4,5,12,17,18,19,9,9,9,9,9,9,2,2,2,2,2,2,2,2,1,66,67,1,64,48,1,13,14,2,2, +2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,61,40,9,9,9,20,21,22,9,9,9,9,2,2,2,2,2,2,2,2,2,2,2,1,1,48,1,13,14,15,16,2,2, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,50,61,9,9,9,25,26,27,40,9,4,5,2,2,2,2,2,2,2,2,1,13,14,15,16,66,67,1,1,13,14,2,2, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,3,4,5,12,13,14,15,16,1,49,50,56,57,9,9,9,9,41,42,9,9,2,2,2,13,14,15,16,13,14,15,16,1,64,1,1,1,64,2,2,2,2, +2,2,13,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,35,4,5,12,2147483657,14,15,16,13,14,15,16,49,59,50,9,9,9,55,52,53,2,2,2,2,2,1,1,1,1,2,1,1,66,67,1,1073741895,1073741884,2,2,1073741826,2,2,2, +2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,9,3221225481,3221225481,40,3221225481,3221225481,2147483698,2147483707,2147483697,1,37,38,1,1,1,64,1,49,50,9,9,9,9,9,9,2,2,2,2,2,2,2,2,2,2,1,1,1073741895,1073741884,1073741886,1073741833,2,2,2,2,2,2, +2,2,1,1,1,1,2,2,2,2,2,2,2,4,5,12,3221225481,3221225481,3221225481,51,8,3221225481,2147483698,2147483697,13,14,15,16,1,1,37,38,1,37,38,38,2,2,2,59,2147483697,2,2,2,2,2,2,2,2,2,2,2,1073741884,1073741887,1073741886,1073741833,3,4,5,12,2,2,2,2, +2,2,2,2,2,2,2,2,2,2,2,2,3221225481,3221225481,3,4,5,12,56,57,3221225481,9,3221225522,3221225521,66,67,1,37,38,1,1,67,1,66,67,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,2147483705,2147483704,9,9,9,2,2,2,2,2, +72,72,72,72,2,2,2,2,32,30,31,33,1073741835,3221225483,3221225482,3221225481,3221225481,3221225481,3221225481,3221225481,3221225481,3221225481,3221225481,3221225522,3221225521,2147483715,2147483714,66,67,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,3,4,5,12,2,2,2,2, +72,72,72,72,2,7,32,30,31,33,32,30,31,33,3221225478,3221225482,3221225481,3221225481,1073741833,1073741833,1073741833,1073741833,1073741833,1073741833,3221225522,66,67,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,14,5,12,9,9,9,9,2,2,2,2,2,2, +72,72,72,72,32,30,31,33,43,44,45,7,7,7,7,3221225478,3221225482,9,1073741833,1073741833,1073741833,1073741833,1073741833,1073741833,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,5,9,9,9,3,4,5,12,2,2,2,2, +72,72,72,72,2,7,7,46,47,7,7,7,2,2,2,2,2,3221225482,1073741833,1073741833,1073741833,1073741833,3,4,5,12,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,3,4,5,12,9,9,9,9,2,2,2,2,2,2, +72,72,72,72,2,2,2,7,7,3221225508,1073741852,1073741852,2,2,2,2,2,2,2,2147483690,2147483689,2147483657,1073741833,1073741833,1073741834,30,31,33,2,2,1,1,1,1,2,2,13,14,15,16,13,14,15,16,1,14,15,1,3,4,5,12,9,9,9,41,42,2,2,2,2,2,2,2, +72,72,72,72,2,2,2,1073741852,1073741852,3221225501,64,2,2,2,2,2,2,2,2,2147483701,2147483700,2147483703,1073741833,1073741834,1073741830,7,2,2,2,2,2,2,2,2,2,2,1,1,1,14,15,16,13,14,15,23,24,14,15,71,60,62,9,9,55,52,53,2,2,2,2,2,2,2, +72,72,72,72,2,2,2,64,1073741873,2,2,2,2,2,2,2,2,2,2,2147483657,2147483657,2147483657,1073741834,1073741830,32,30,31,33,7,2,2,2,2,2,2,2,2,2,2,14,1,37,38,1,1,29,34,28,28,28,2147483677,71,60,62,9,9,9,2,2,2,2,2,2,2, +72,72,72,72,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1073741835,1073741835,1073741835,1073741830,68,7,47,32,30,31,33,7,7,7,7,13,14,15,16,13,14,15,16,1,29,28,36,32,30,31,33,2147483684,28,2147483677,71,2147483719,2,2,2,13,14,15,16,2,2, +72,72,72,72,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1073741860,68,3221225508,1073741852,14,13,14,15,16,13,14,15,16,13,14,15,16,66,67,29,36,44,45,7,7,7,44,45,7,2147483684,28,28,28,2,2,1,1,1,1,2,2, +72,72,13,14,15,16,2,2,2,9,9,9,9,9,2,2,2,2,2,2,2,2,15,1073741853,1073741852,3221225501,13,14,15,16,13,14,15,16,1,1073741873,1073741884,3221225531,3221225521,1,37,38,1073741853,1073741860,7,7,7,7,7,7,7,7,7,7,7,2,2,2,1,1,2,2,2,2, +72,72,72,72,2,2,2,2,9,9,9,9,9,2,2,2,2,2,2,2,13,14,15,16,1,2147483715,2147483714,1073741873,3221225531,1073741884,3221225531,3221225521,37,38,1073741873,1073741874,9,9,3221225522,1073741884,3221225543,1,1,1073741853,1073741860,7,7,7,7,7,7,7,7,7,2,2,2,14,15,16,2,2,2,2, +2,2,2,2,72,72,2,2,2,9,9,2,2,2,2,2,2,2,2,2,2,37,38,2147483715,2147483714,1,1073741873,1073741874,9,9,9,3221225522,1073741884,3221225531,1073741874,9,9,9,9,2147483698,2147483719,1,1,2,2,7,32,30,31,33,7,7,7,7,13,14,15,16,1,2,2,2,2,2, +2,2,2,2,2,2,2,2,9,9,2147483656,2147483699,9,2,2,2,3,4,5,12,3221225531,3221225531,3221225521,37,38,1,49,50,9,40,9,9,9,41,42,9,9,2,2,2147483697,1,2,2,2,2,2,2,2,2,2,2,7,32,30,31,33,1,2,2,2,2,2,2,2, +2,2,2,2,2,2,3,4,5,12,9,2,2,2,3,4,5,12,3,4,5,12,3221225522,3221225521,66,67,1,2,2,61,56,57,55,52,53,54,2,2,2,2,2,2,2,2,2,2,13,14,15,2,2,1073741852,3221225500,3221225501,15,14,15,14,2,2,2,2,2,2, +2,2,2,2,2,2,2,9,3,4,5,12,9,2,2,9,9,61,9,9,9,9,2147483698,2147483719,1,1,1,14,2,2,2,9,9,56,57,9,2,2,2,2,2,2,2,2,2,2,2,2,2,14,15,23,24,14,15,16,1,1,2,2,2,2,2,2, +2,2,2,2,2,9,9,9,9,9,9,2,2,2,9,2,2,9,9,9,2147483698,59,2147483697,37,38,1,1,2,2,2,2,2,2,9,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1073741884,1073741884,3221225521,37,38,1073741873,1073741884,1073741883,2,2,2,2,2,2, +13,14,15,16,2,2,2,9,9,9,9,9,9,2,2,2,2,2,2,59,2147483697,1,66,67,37,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,5,12,3,4,5,12,3221225522,1073741884,1073741884,1073741874,3,4,5,12,2,2,2,2, +1,1,1,1,2,2,3,4,5,12,3,4,5,12,2,2,2,2,1,2,2,1,37,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,13,14,15,16,1,14,15,9,3,4,5,61,61,61,2,9,9,2147483698,2,2,2,2,2,2,2,2, +2,2,2,2,3,4,5,12,9,9,56,57,9,2,2,2,2,14,15,16,1,2,2,1,13,14,15,16,2,2,2,2,3,4,5,12,13,14,15,16,13,14,15,16,59,59,59,50,56,57,61,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,2,2,2,9,9,9,9,9,9,9,9,9,2,2,2,23,24,1,13,14,15,16,37,38,13,14,15,16,3,4,5,12,2147483698,14,15,1,1,1,1,1,13,14,15,16,65,49,50,56,57,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,2,2,1,9,73,74,9,56,57,9,9,2,2,2,1073741883,1073741873,1073741883,1073741883,1073741883,1073741883,1073741883,1073741883,1073741873,1073741883,1073741883,3221225521,3,4,5,12,61,2147483698,2147483697,1,13,14,15,16,13,14,15,16,1,37,38,1,49,50,9,2,2,2,2,2,2,2,2,9,9,9,9,9, +2,2,2,2,2,75,76,77,78,9,3,4,5,12,2,2,2,9,3,4,79,80,81,82,5,12,3,4,5,12,9,9,2147483698,2147483697,13,14,15,16,13,14,15,16,1,1,66,67,1,1073741873,1073741883,1073741883,59,1,1,2,2,2,9,9,9,9,9,9,9,9, +2,2,2,2,1,1,49,60,50,2147483657,9,9,3,4,2,12,9,9,61,9,83,84,85,86,9,9,9,9,2,57,2147483698,59,2147483697,66,67,1073741873,3221225521,1,66,67,1,1,37,67,1,1,1073741873,1073741874,3,4,5,12,1,2,2,2,3,4,5,12,3,4,5,12, +2,2,2,2,2,2,1,1,49,2147483707,60,50,9,9,2,4,5,12,9,9,9,9,9,9,9,9,9,9,2,2147483698,2147483697,37,38,37,38,1073741874,3221225522,1,13,14,15,16,1,2,2,1,9,9,73,74,9,2,2,2,3,4,5,12,3,4,5,12,9,9, +13,14,15,16,2,2,2,1,1,1,65,49,2147483707,50,2,9,9,9,9,9,9,9,9,9,9,9,2,2,2,2147483697,37,38,13,14,15,9,9,14,15,16,13,14,15,2,2,2,2,9,76,77,9,2,2,2,9,9,61,56,57,9,9,9,9,9, +1,1,1,1,2,2,1,1,1,1,1,1,1,2,2,9,9,9,9,2147483698,59,59,2,2,2,2,2,2,2,1,1,14,15,16,13,14,15,16,1,1,1,1,1,2,2,2,2,9,9,2,2,2,2,9,56,57,9,9,9,9,9,9,3,4, +2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,60,59,2147483697,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,56,57,9,9,9,9,9,9, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,37,38,37,38,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,56,57,9,9,9,9,9,9,9, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,3,4,79,80,81,82,5,12, +2,2,2,2,2,2,13,14,15,16,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,56,57,9,9,83,84,85,86,51,8, +2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,9,9,9,9,9,9,9,56,57,9,9,9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,94,95,89,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,100,98,87,88,89,90,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,94,95,89,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,91,96,97,98,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,99,93,93,103,98,87,88,89,90,91,96,97,98,87,88, +91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,106,95,89,107,108,109,97,98,91,96,97,98,91,96,97,98,87,88,89,99,94,95,89,90,91,92,93,93,108,109,97,98,87,88,89,99,94,95,89,90, +89,99,94,95,89,90,91,96,97,98,91,96,97,98,87,88,89,90,91,96,104,105,93,93,103,98,91,92,93,93,108,109,104,105,106,95,89,99,108,109,97,98,87,101,102,90,91,96,104,105,93,93,93,93,108,109,97,98,87,101,102,90,87,88, +87,101,102,90,87,88,89,107,108,109,104,105,106,95,89,90,87,88,89,107,93,93,93,93,108,109,104,105,93,93,93,93,93,93,103,98,91,92,93,93,106,95,89,90,87,88,89,99,93,93,93,93,93,93,93,93,94,95,89,90,87,88,89,90, +89,90,87,88,89,90,91,92,93,93,110,111,102,90,87,88,89,90,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,108,109,104,105,93,112,103,98,87,88,89,90,91,92,93,2147483760,93,93,93,93,93,93,100,98,87,88,89,90,87,88, +87,88,89,90,91,96,104,105,93,93,103,98,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,113,108,109,97,98,87,88,89,99,93,93,93,93,93,93,93,93,108,109,97,98,87,88,89,90, +89,90,87,88,89,107,93,93,93,93,106,95,89,90,87,88,89,90,91,92,93,93,110,111,114,115,110,111,114,115,110,111,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,101,114,115,93,93,93,93,93,93,35,93,94,95,89,90,87,88, +87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,88,89,99,93,93,103,98,87,101,102,90,87,101,102,90,87,101,114,115,93,93,93,93,93,93,103,98,87,88,89,98,87,101,114,115,93,93,93,93,110,111,102,90,87,88,89,90, +89,90,87,88,89,90,87,101,114,115,106,95,89,90,87,88,89,90,91,92,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,89,90,91,92,93,93,93,116,102,90,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,91,117,100,98,91,96,97,98,91,96,104,105,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,103,98,87,88,89,90,91,96,104,105,93,93,118,119,87,88,89,90,87,88,89,90, +89,90,87,96,97,98,87,88,89,120,108,109,104,105,106,95,89,99,93,93,93,93,106,95,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,108,109,97,98,87,88,89,99,93,93,93,93,94,95,89,90,87,88,89,90,87,88, +87,88,89,99,94,95,89,90,87,101,114,115,93,93,103,98,91,92,93,93,93,93,103,98,91,96,97,98,87,88,89,90,91,96,97,98,87,101,114,115,93,93,93,93,108,95,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,88,89,90, +89,90,87,101,102,90,87,88,89,90,91,92,93,93,108,109,104,105,93,93,93,93,108,109,104,105,121,109,97,98,87,88,89,99,94,95,89,90,91,92,93,93,110,111,89,90,87,88,89,90,87,92,93,93,108,109,97,98,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,106,95,89,90,87,101,102,90,91,96,104,99,93,93,103,98,91,96,97,98,87,88,89,99,93,93,93,93,106,95,89,90,87,88,89,90, +89,90,91,96,97,98,91,96,104,105,93,93,93,93,93,93,93,93,110,111,114,115,93,93,93,93,110,111,89,90,87,88,89,90,87,88,89,99,93,93,93,93,106,95,89,99,94,95,89,90,91,92,93,93,110,111,102,90,91,96,97,98,87,88, +87,88,89,99,108,109,104,105,93,93,93,93,110,111,114,115,110,111,102,90,91,92,93,93,93,93,103,98,91,96,97,98,87,88,89,90,87,101,114,115,93,93,103,98,87,101,102,90,87,88,89,99,93,93,103,98,87,88,89,99,94,95,89,90, +97,98,91,92,93,93,93,93,93,93,93,93,103,98,87,101,102,90,87,88,89,99,110,111,114,115,94,95,89,99,94,95,89,90,87,88,89,90,91,92,93,93,108,109,97,119,87,88,89,90,91,92,93,93,108,109,97,98,87,101,102,90,87,88, +108,109,104,105,93,93,93,93,93,93,93,93,94,95,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,101,102,90,87,88,89,90,91,96,104,105,93,93,93,93,106,95,89,90,87,88,89,99,93,93,93,93,108,109,97,98,87,88,89,90, +93,93,93,93,93,93,93,93,93,93,110,111,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,35,93,93,93,93,93,103,119,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88, +93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,93,35,94,95,89,90,87,88,89,90,91,92,93,93,93,93,103,98,87,88,89,90, +114,115,110,111,114,115,110,111,114,115,108,109,97,98,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,91,96,97,98,91,96,104,105,93,93,93,93,93,93,103,119,87,88,89,90,87,88,89,99,93,93,93,93,94,95,89,90,87,88, +87,101,102,90,87,101,102,90,91,92,93,93,108,109,97,98,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,99,108,109,104,105,93,93,93,93,110,111,114,115,94,95,89,90,87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90, +89,90,87,88,89,90,87,88,89,99,110,111,114,115,106,95,89,90,87,101,102,90,87,88,89,90,87,88,89,90,91,92,35,93,93,93,93,93,93,93,103,98,87,101,102,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,98,87,88, +87,88,89,90,87,88,89,90,87,101,102,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,35,108,109,97,98,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,106,95,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,91,96,97,98,91,96,97,98,91,92,93,93,93,93,93,93,93,93,93,93,94,95,89,90,91,96,97,98,91,96,104,105,93,93,93,93,110,111,102,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,108,109,104,105,108,95,89,99,108,109,104,105,93,93,93,93,93,93,93,112,110,111,89,90,87,88,89,99,94,95,89,99,93,93,93,93,110,111,102,90,87,88,89,90, +89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,99,93,93,35,93,93,93,118,98,91,92,93,93,93,93,93,93,93,116,114,115,93,113,103,119,87,88,89,90,87,101,102,90,87,101,114,115,93,93,100,98,87,88,89,90,87,88, +87,88,89,99,94,95,89,90,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,108,109,104,105,93,93,93,93,93,93,118,119,87,101,114,115,94,95,89,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,90,87,88,89,90, +89,90,87,101,102,90,87,88,89,90,87,88,89,99,108,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,116,114,115,94,95,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,96,104,105,93,93,93,93,106,88,89,90,87,88, +87,88,89,90,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,118,119,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,110,111,102,90,87,88,89,90, +89,90,87,88,89,90,91,96,104,105,108,109,104,105,93,93,93,93,93,93,93,93,93,116,114,115,110,116,114,115,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,88, +87,88,89,90,91,96,104,105,93,93,93,93,110,116,114,115,93,93,93,93,93,93,118,119,87,101,102,90,87,101,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,108,109,97,98,87,88,89,90, +89,90,87,88,89,99,93,93,93,93,110,111,102,90,87,101,114,115,93,93,93,93,121,109,97,98,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,106,95,89,90,87,88, +87,88,89,90,87,101,114,115,93,93,103,98,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,89,99,94,95,89,90,91,96,97,98,87,96,97,98,91,96,97,98,91,96,104,105,93,93,93,93,110,111,102,90,87,88,89,90, +89,90,87,88,89,90,91,92,93,93,94,95,89,98,87,88,89,90,91,92,2147483760,93,93,93,103,98,87,88,89,90,87,101,102,90,87,88,89,99,94,95,89,99,121,109,104,105,94,95,89,99,93,93,93,93,93,112,103,98,87,88,89,90,87,88, +87,88,89,90,87,88,89,99,110,111,102,98,87,88,89,90,87,88,89,99,2147483761,93,93,93,108,109,97,98,87,88,89,90,87,88,89,90,87,101,102,90,91,92,93,93,93,93,103,98,91,92,93,93,93,93,93,113,108,95,89,90,87,88,89,90, +89,90,87,88,89,90,87,101,102,90,87,88,89,98,87,88,89,90,87,101,114,115,93,93,93,93,106,95,89,90,87,88,89,90,91,96,97,98,91,96,104,105,93,93,93,93,108,109,104,105,93,93,93,93,110,111,102,90,91,96,97,98,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,103,98,91,96,97,98,91,96,104,105,121,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,103,98,87,88,89,99,94,95,89,90, +89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,121,109,104,105,121,109,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,95,89,90,87,101,102,90,87,88, +87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,102,90,91,88,89,98,87,88,89,90, +89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,110,111,114,115,110,111,114,115,93,93,103,98,91,88,89,90,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,91,92,93,93,93,93,93,93,93,35,93,93,93,93,93,93,110,111,114,115,110,111,102,90,87,101,102,90,87,101,114,115,106,95,89,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,90,91,96,97,98,87,88,89,90,91,96,104,105,108,109,104,105,93,93,93,93,110,111,114,115,93,93,93,112,110,111,102,90,87,101,102,90,87,88,89,90,87,88,89,90,91,92,103,98,91,96,97,98,87,88,89,90,87,88, +87,88,89,90,87,88,89,99,108,109,97,98,91,88,89,99,93,93,93,93,93,93,93,93,93,93,100,98,87,101,114,115,93,113,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,122,123,109,104,105,94,95,89,90,87,88,89,90, +89,90,87,88,89,90,87,101,114,115,94,95,89,90,87,101,114,115,93,93,93,93,93,93,93,93,106,95,89,90,87,101,114,115,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,93,93,93,93,103,119,87,88,89,90,87,88, +91,96,97,98,87,88,89,90,91,92,100,98,87,88,89,90,87,101,114,115,93,93,93,93,110,111,102,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,105,93,93,93,93,94,95,89,90,87,88,89,90, +89,99,94,95,89,90,91,96,104,124,123,109,97,119,87,88,89,90,87,101,114,115,110,111,102,98,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,99,121,109,97,98,87,101,114,115,110,116,102,90,87,88,89,90,87,88, +87,101,102,90,91,96,104,105,93,93,93,93,106,95,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,99,106,95,89,90,91,92,93,93,106,95,89,90,87,101,102,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,107,110,116,114,115,110,116,102,90,87,88,89,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,105,106,95,89,90,87,101,102,90,91,96,104,105,93,93,103,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88, +87,88,89,90,87,101,125,90,87,101,125,90,87,88,89,90,87,88,89,98,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,91,96,97,98,91,96,104,105,93,93,93,93,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,104,105,106,95,89,99,110,111,114,115,93,93,103,119,87,88,89,90,87,88,89,90,87,88,89,90,87,88, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,110,111,102,90,87,101,102,90,87,101,114,115,121,109,97,98,87,88,89,90,91,96,97,98,91,96,97,98, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,98,91,92,103,98,87,88,89,90,87,88,89,90,91,92,126,127,106,95,89,90,91,96,104,105,108,109,104,105,106,95, +91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,91,96,97,98,87,88,89,99,110,116,102,119,87,88,89,99,93,93,93,116,114,115,100,98, +89,99,94,95,89,90,87,88,89,90,87,88,89,90,91,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,99,106,95,89,90,87,101,89,90,87,88,89,90,91,92,93,93,118,119,91,92,108,109, +87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,91,88,89,90,87,88,89,90,87,88,89,90,87,88,102,90,87,88,89,90,87,88,89,90,87,101,102,90,91,88,89,98,87,88,89,90,87,88,89,99,110,111,125,128,129,130,114,115, +89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,92,100,119,97,98,91,96,91,92, +87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,122,123,109,131,109,104,132,104,124, +89,90,87,88,89,90,91,96,97,98,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,114,115,93,93,93,93,110,116, +87,88,89,90,87,88,89,99,94,95,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,101,102,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,90,87,88,89,98,87,101,114,115,93,116,102,90, +97,98,91,96,97,98,91,101,102,90,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,96,97,98,91,92,118,119,91,96 + + diff --git a/res/scripts/hallucination_cliff.lua b/res/scripts/hallucination_cliff.lua new file mode 100644 index 0000000..f351e1e --- /dev/null +++ b/res/scripts/hallucination_cliff.lua @@ -0,0 +1,5 @@ +hallucination_cliff = {} + +function hallucination_cliff.off_bottom() + ChangeMap("hallucination_interior", "fromTop") +end diff --git a/res/scripts/hallucination_interior.lua b/res/scripts/hallucination_interior.lua index 941f0a1..bd075f1 100644 --- a/res/scripts/hallucination_interior.lua +++ b/res/scripts/hallucination_interior.lua @@ -4,6 +4,10 @@ function hallucination_interior.off_left() ChangeMap("hallucination_beach", "fromRight") end +function hallucination_interior.off_top() + ChangeMap("hallucination_cliff", "fromBottom") +end + function hallucination_interior.mailbox1() StartCutscene() DisplayMessage("* The mailbox lid is open...\n* Peek inside?", "", SpeakerType.NONE) diff --git a/src/map.cpp b/src/map.cpp index d7c1e7e..4781231 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -50,7 +50,18 @@ Map::Map(std::string_view name) : name_(name) { tilesToStore.push_back(std::move(tile)); } - layers_.push_back(std::move(tilesToStore)); + bool above = false; + for (const tmx::Property& property : tileLayer.getProperties()) { + if (property.getName() == "above" && property.getBoolValue()) { + above = true; + } + } + + if (above) { + upperLayers_.push_back(std::move(tilesToStore)); + } else { + lowerLayers_.push_back(std::move(tilesToStore)); + } } else if (layer->getType() == tmx::Layer::Type::Object) { const auto& objectLayer = layer->getLayerAs(); @@ -137,9 +148,13 @@ Map::Map(std::string_view name) : name_(name) { } bool Map::isBlocked(int x, int y) const { + if (x < 0 || y < 0 || x >= mapSize_.w() || y >= mapSize_.h()) { + return false; + } + int i = x + y * mapSize_.w(); - for (const std::vector& layer : layers_) { + for (const std::vector& layer : lowerLayers_) { if (layer.at(i).blocked) { return true; } @@ -149,9 +164,13 @@ bool Map::isBlocked(int x, int y) const { } StepType Map::getStepType(int x, int y) const { + if (x < 0 || y < 0 || x >= mapSize_.w() || y >= mapSize_.h()) { + return StepType::none; + } + int i = x + y * mapSize_.w(); - for (const std::vector& layer : layers_) { + for (const std::vector& layer : lowerLayers_) { if (layer.at(i).step != StepType::none) { return layer.at(i).step; } diff --git a/src/map.h b/src/map.h index a311be1..9467d75 100644 --- a/src/map.h +++ b/src/map.h @@ -52,7 +52,9 @@ public: const vec2i& getTileSize() const { return tileSize_; } - const std::vector>& getLayers() const { return layers_; } + const std::vector>& getUpperLayers() const { return upperLayers_; } + + const std::vector>& getLowerLayers() const { return lowerLayers_; } const std::string& getTilesetFilename() const { return tilesetFilename_; } @@ -75,7 +77,8 @@ private: std::string name_; vec2i mapSize_; vec2i tileSize_; - std::vector> layers_; + std::vector> upperLayers_; + std::vector> lowerLayers_; std::string tilesetFilename_; int tilesetColumns_; std::vector prototypes_; diff --git a/src/renderer.cpp b/src/renderer.cpp index f8b2482..3b2bd21 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -36,7 +36,7 @@ Renderer::Renderer() { } } -texture_ptr Renderer::renderMapLayer(const Map& map, int layer) { +texture_ptr Renderer::renderMapLayer(const Map& map, bool above) { if (cachedTilesetName_ != map.getTilesetFilename()) { surface_ptr pfs(IMG_Load(map.getTilesetFilename().c_str())); if (!pfs) { @@ -64,32 +64,40 @@ texture_ptr Renderer::renderMapLayer(const Map& map, int layer) { SDL_SetRenderDrawColor(ren_.get(), 255, 255, 255, 0); SDL_RenderClear(ren_.get()); - const std::vector& tiles = map.getLayers().at(layer); - for (int y = 0; y < map.getMapSize().h(); y++) { - for (int x = 0; x < map.getMapSize().w(); x++) { - const Tile& tile = tiles.at(x + y * map.getMapSize().w()); - - SDL_Rect srcRect { - static_cast((tile.id % map.getTilesetColumns()) * map.getTileSize().w()), - static_cast((tile.id / map.getTilesetColumns()) * map.getTileSize().h()), - map.getTileSize().w(), - map.getTileSize().h() }; - - SDL_Rect destRect { - x * map.getTileSize().w(), - y * map.getTileSize().h(), - map.getTileSize().w(), - map.getTileSize().h() }; - - SDL_RendererFlip flip = SDL_FLIP_NONE; - if (tile.flipHorizontal && tile.flipVertical) { - flip = static_cast(SDL_FLIP_HORIZONTAL | SDL_FLIP_VERTICAL); - } else if (tile.flipHorizontal) { - flip = SDL_FLIP_HORIZONTAL; - } else if (tile.flipVertical) { - flip = SDL_FLIP_VERTICAL; + const std::vector>* layers = nullptr; + if (above) { + layers = &map.getUpperLayers(); + } else { + layers = &map.getLowerLayers(); + } + + for (const std::vector& tiles : *layers) { + for (int y = 0; y < map.getMapSize().h(); y++) { + for (int x = 0; x < map.getMapSize().w(); x++) { + const Tile& tile = tiles.at(x + y * map.getMapSize().w()); + + SDL_Rect srcRect { + static_cast((tile.id % map.getTilesetColumns()) * map.getTileSize().w()), + static_cast((tile.id / map.getTilesetColumns()) * map.getTileSize().h()), + map.getTileSize().w(), + map.getTileSize().h() }; + + SDL_Rect destRect { + x * map.getTileSize().w(), + y * map.getTileSize().h(), + map.getTileSize().w(), + map.getTileSize().h() }; + + SDL_RendererFlip flip = SDL_FLIP_NONE; + if (tile.flipHorizontal && tile.flipVertical) { + flip = static_cast(SDL_FLIP_HORIZONTAL | SDL_FLIP_VERTICAL); + } else if (tile.flipHorizontal) { + flip = SDL_FLIP_HORIZONTAL; + } else if (tile.flipVertical) { + flip = SDL_FLIP_VERTICAL; + } + SDL_RenderCopyEx(ren_.get(), tilesetTex_.get(), &srcRect, &destRect, 0, nullptr, flip); } - SDL_RenderCopyEx(ren_.get(), tilesetTex_.get(), &srcRect, &destRect, 0, nullptr, flip); } } @@ -116,8 +124,8 @@ void Renderer::render(Game& game) { if (cachedMapName_ != game.getMap().getName()) { cachedMapName_ = game.getMap().getName(); - renLay1_ = renderMapLayer(game.getMap(), 0); - renLay0_ = renderMapLayer(game.getMap(), 1); + renLowerLayer_ = renderMapLayer(game.getMap(), false); + renUpperLayer_ = renderMapLayer(game.getMap(), true); vec2i mapBounds = game.getMap().getMapSize() * game.getMap().getTileSize(); mapSwapTex_.reset(SDL_CreateTexture( @@ -150,13 +158,13 @@ void Renderer::render(Game& game) { SDL_RenderClear(ren_.get()); // Render lower map layer - SDL_RenderCopy(ren_.get(), renLay1_.get(), nullptr, nullptr); + SDL_RenderCopy(ren_.get(), renLowerLayer_.get(), nullptr, nullptr); if (effects.isMapFaded()) { SDL_SetRenderTarget(ren_.get(), mapSwapTex_.get()); SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 0); SDL_RenderClear(ren_.get()); - SDL_RenderCopy(ren_.get(), renLay1_.get(), nullptr, nullptr); + SDL_RenderCopy(ren_.get(), renLowerLayer_.get(), nullptr, nullptr); SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_MOD); SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); @@ -173,13 +181,13 @@ void Renderer::render(Game& game) { } // Render upper map layer - SDL_RenderCopy(ren_.get(), renLay0_.get(), nullptr, nullptr); + SDL_RenderCopy(ren_.get(), renUpperLayer_.get(), nullptr, nullptr); if (effects.isMapFaded()) { SDL_SetRenderTarget(ren_.get(), mapSwapTex_.get()); SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 0); SDL_RenderClear(ren_.get()); - SDL_RenderCopy(ren_.get(), renLay0_.get(), nullptr, nullptr); + SDL_RenderCopy(ren_.get(), renUpperLayer_.get(), nullptr, nullptr); SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_MOD); SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); diff --git a/src/renderer.h b/src/renderer.h index 489a7ec..4c6ccc4 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -138,13 +138,13 @@ private: void renderSprite(const Sprite& sprite); // Map rendering - texture_ptr renderMapLayer(const Map& map, int layer); + texture_ptr renderMapLayer(const Map& map, bool above); std::string cachedMapName_; std::string cachedTilesetName_; texture_ptr tilesetTex_; - texture_ptr renLay0_; - texture_ptr renLay1_; + texture_ptr renLowerLayer_; + texture_ptr renUpperLayer_; texture_ptr mapSwapTex_; // Text rendering -- cgit 1.4.1