* disable loading of xpm files by the xforms image loader.

* prevent a crash when the file browser dialog is shrunk too much.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5932 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2003-01-12 19:35:40 +00:00
parent 9ae9b9df62
commit 7a0ca9b48c
10 changed files with 45 additions and 326 deletions

View File

@ -1,3 +1,10 @@
2003-01-06 Angus Leeming <leeming@lyx.org>
* configure.m4: added a few graphics formats (gif, jpg etc).
* images/banner.xpm: removed.
* images/banner.ppm: Re-create the LyX banner in ppm format.
2003-01-10 Martin Vermeer <martin.vermeer@hut.fi> 2003-01-10 Martin Vermeer <martin.vermeer@hut.fi>
* layouts/jgrga.layout: * layouts/jgrga.layout:

View File

@ -441,6 +441,8 @@ cat >$outfile <<EOF
\\Format fig fig XFig "" \\Format fig fig XFig ""
\\Format agr agr GRACE "" \\Format agr agr GRACE ""
\\Format html html HTML H \\Format html html HTML H
\\Format gif gif GIF ""
\\Format jpg jpg JPG ""
\\Format latex tex LaTeX L \\Format latex tex LaTeX L
\\Format linuxdoc sgml LinuxDoc x \\Format linuxdoc sgml LinuxDoc x
\\Format lyx lyx LyX "" \\Format lyx lyx LyX ""
@ -450,11 +452,14 @@ cat >$outfile <<EOF
\\Format pdf3 pdf "PDF (dvipdfm)" m \\Format pdf3 pdf "PDF (dvipdfm)" m
\\Format png png PNG "" \\Format png png PNG ""
\\Format ppm ppm PPM "" \\Format ppm ppm PPM ""
\\Format pgm pgm PGM ""
\\Format pbm pbm PBM ""
\\Format ps ps Postscript t \\Format ps ps Postscript t
\\Format program "" Program "" \\Format program "" Program ""
\\Format tgif obj TGIF "" \\Format tgif obj TGIF ""
\\Format tiff tif TIFF "" \\Format tiff tif TIFF ""
\\Format word doc Word W \\Format word doc Word W
\\Format xbm xbm XBM ""
\\Format xpm xpm XPM "" \\Format xpm xpm XPM ""
\\Format lyxpreview lyxpreview "LyX Preview" "" \\Format lyxpreview lyxpreview "LyX Preview" ""

BIN
lib/images/banner.ppm Normal file

Binary file not shown.

View File

@ -1,324 +0,0 @@
/* XPM */
static char * banner_xpm[] = {
"425 290 31 1",
" c None",
". c #FFFFFF",
"+ c #2B4782",
"@ c #CB3300",
"# c #FFBF00",
"$ c #007FFF",
"% c #29437C",
"& c #233A6B",
"* c #263F74",
"= c #203562",
"- c #36528B",
"; c #405C92",
"> c #4B669B",
", c #000000",
"' c #9A3302",
") c #FF8200",
"! c #192B56",
"~ c #5671A4",
"{ c #00BDFE",
"] c #617CAD",
"^ c #0171D9",
"/ c #0360B9",
"( c #02A4F2",
"_ c #6A382C",
": c #574651",
"< c #0D82B9",
"[ c #E16D0A",
"} c #3B3953",
"| c #BB6B24",
"1 c #94613B",
"2 c #73615B",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,",
",==&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&&&&***&&&&&&&&&*--+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=*=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*+-;>>>>;>;;-%%%*=&&&&&&&&&&&&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-;;;;;;;;;;;;;;;;-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-;;-;-;;;-;;-;;;-;;;;;;;;;;=!,",
",&++++++++++++++++++++++++++++++++++-]]>+++++++++;]]>-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;>~~~]]]]~~~~~~>~>>>>>>-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-&&,",
",&+++++++++++++++++++++++++++++++++-~]];-%++++++-~]~;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;-+++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->]]~]]~]~~~~>>>~>~~>~~~~~>>>;--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->>~~~~>~~>~~>~~~~~~~~~~>~~~~~~~~~~~~~~~~~~~~~~>~~>~~~~~~~~~~~~~~~~~>~~~>~~~~~;+!&,",
",&+++++++++++++++++++++++++++++++++;~~~--%++++++;~~>;+%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-]~>+%+++++++++++>~>-++++++++++++++++++++++++++++++-->>>~>>;--++++++++++++++++++++++++++++++++++++++++++++++++->]]]]~~~~~>>>;;;;;>;;>>>>>~>>>>>>;--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>>;>>>>>>>>>>>;>>;>>;>>;>>;>;>;>;>;>>;>>;>>;>>>>>>>>;>>>>>;>>>>>>>>>>>>>>>>;-*=&,",
",&++++++++++++++++++++++++++++++++--~>>--%*++++-;>>;;-%&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>]]>-%%+++++++++-~]~;+%++++++++++++++++++++++++++>~~]]]~~~~~>>;-+++++++++++++++++++++++++++++++++++++++++++++-]]]]~~>>>;;--+++++++----;;>;>>>>>>>>>--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+--+--+--+--+-+-+-+--++-+--+-+-+-+-+-+-+-+--+%!&,",
",&+++++++++%%++++++++++++++%+++++++;>>;-+%&++++--;>;-+%&+++++++++++++++++++++++++%+%+++++++++++++++++++++++++++++++++++++-~~~;-%*+++++++++>]~>-+*++++++++++++++++++++++-+>]]]]]~~>>>>>~>>>;-++++++++++++++++++++++++++++++++++++++++++~]]]~~>---+++++++++++++++++++++-;;>>>>>>;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--*!&,",
",&++++++------+--+---+-----------+->>>;-++%----;>>;;--%*+---+-------+-----+-+--+------+--++++++++++++++++++++++++++++++++;>>>--%&++++++++->>>>-+&%+++++++++++++++++++++-~]]]]>-++%%%++-;>>>;-++++++++++++++++++++++++++++++++++++++--~]]]~;;--++++++++++++++++++++++++---;;>;>>>;;-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+%=&,",
",&+++-~]~~~~~~~~~~~~~~~~~~~~~~~~~~]]~>;;;-;~~~~~]]>;;--;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;+++++++++++++++++++++++++++++->>;;+%!++++++++-;>>;++&*++++++++++++++++++++;]]]~-+%&&!====&%%+-;;>-+++++++++++++++++++++++++++++++++++->~]]]~>-+++--++++++++++++++++++++++-+%%+--;;>>>;;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+%!&,",
",&+++>~]~~~~~~~~~~~>~~~~~~~~~~~~~~]~~>--;;~~~~~~~~>-;;;~~~~~~~~~~~~~~~>~>~~~~~>~~~~>~>~~~~~>+%+++++++++++++++++++++++++++;>;;-+%=%+++++++-;>;--+&&+++++++++++++++++++;]]]>+%=!!!!!!=!!!&*%+;;;-++++++++++++++++++++++++++++-;;;;~~]]]]~>+*&&+---+++++++++++++++++++++-%&&**+---;>>>>;;-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--*!*,",
",&++-->>>;>;>;>;>;>>>>;>;>;>;>;>;>>>>;;;;;;>;>;>>;>-;;;>>;>;>>;>;>;>;>>>>>>>;>>>>;>>>>>;>>>+%&+++++++++++++++++++++++++++-;;;;+%!%++++++++;>>--%&&++++++++++++++++++;]]~;%&!!!&%+++++%&=!*%+--;-+++++++++++++++++++++++++-~]]~~~]]]~~>-+*&!!%-;-++++++++++++++++++++-+*!!=**%++--;;;>>;;--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+*!&,",
",&++++--++++++++++%+%%++%++%++%++%++---;-+-++++-+--;---++++%+%+%+%+%+%%%%+%%+%%+%+%+%+%+%+%%*!+++++++++++++++++++++++++++;;>;-+%!%+++++++-;;;--+&&+++++++++++++++++-~]~;%!!!&+++++++++++*!&%+--;+%%+++++++++++++++++++++;]]]~~~~~~~>--*&!!!**+---+++++++++++++++++++-%=!*&!==**++--;;>>;;;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--*=&,",
",&++%***&&&&==*=&&=&&&&&&&&&&&&&&&*%--;-+%*&&&&**---;+%*&&&&&&&&&&&&&&&&&=&&&&&&&&&&&&&&&&&!!=+++++++++++++++++++++++++++-;>;-+*=+++++++++;;>-+%=&+++++++++++++++++~~~-%!!=++++++++++++++%&&%----%%++++++++++++++++++++-~]]~~>>>>>--+*=!!&++*+--;++++++++++++++++++-+&!=+++*=!=*%%+--;>>>>;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++%--;>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+*!&,",
",&+++=!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*-;--+*!!!!!!*-;--+*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%+++++++++++++++++++++++++++->;;--*!++++++++-;>;--+&&++++++++++++++++;~~>%!!=+++++++++++++++++*&+--;-%%++++++++++++++++++;]]~~;-------%*=!!*++++*+---++++++++++++++++-+*&!%+++++%=!!**%+-;;>>>;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;++++++++++++++%+-+-++++++-----+++++++++++++++++++++++++++++++++++++++++++-+%!&,",
",&++++*&====&=====&===============&;;>;--%!====!->>;--%========&=====&===&=================*+++++++++++++++++++++++++++-+-;>;-+%!%+++++++-->;-+%&&++++++++++++++++~~>+&!=+++++++++++++++++++**+---+%+++++++++++++++++-~]]~-+*++--+%&!!&++++++*%+---++++++++++++++-+*&!=+++++++++*=!*--;+-;;>;>;;+++++++++++++++++++++++++++++++++++++++++++++++++++++-->;;+++++++++++++---++----++-+%%++---++++++++++++++++++++++++++++++++++++++++--*!&,",
",&+++++++++++++++++++++++++++++++++->;;-+%&++++%-;>-;+*&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%=%+++++++-;;>--%&&+++++++++++++++-~~-%!!+++++++++++++++++++++*%---+*%+++++++++++++++-~~]>-+*&!*--+&!!*++++++++**++--++%+%+%+%%+--%*=!!%+++++++++++%+;>;+++-;;>;;;-+++++++++++++++++++++++++++++++++++++%++++++++++++++-;>-++++++++++++-++***%++----*&&&*+--+++++++++++++++----++++++++++++++++-+-++-+*=&,",
",&++++++++++++++++++++++++++++++++%->;;-+*=+++++-;;;-+%=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;-+*!%+++++++-;>;--+=&+++++++++++++++>~>+&!%+++++++++++++++++++++%%---+%*+++++++++++++++->~~;-*!!!&+--*&-----+-++++!*++------+-+---%*&!!=++++++++++++-~]~~;++---;>;>;;;++++++++++++++++++++++++++++++++++++-++++++++++++++->;;++++++-----+-+&=!!=**---+*!!!=+---+++++---++++-+%++--++++-+---+++-+-+++---++!&,",
",&++++++++++++++++++++++++++++++++++-;;-%&&++++++-;;+%&=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>;--*=%++++++++;>;--%&&++++++++++++++->~-%!!+++++++++++++++++++++++%+-;-%&+++++++++++++++-;>;--&!*+*-;-->~~~~>~>;--++&&*%%++-+--++%%&=!!&+++++++++++->]]]~>--++++--;;>;;;-++++++++++++++++++++++++++++++++++++++++++++++++--;>-++++-++%%+---+*!&!=!*--;-%&*%&%+---+++-%++--+-+%&&%%--++-+++++--+-+%%*%+--+%!*,",
",&+++++++++++++++++++++++++++++++++%---+*=&+++++*+--+*!&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!%+++++++-;;>--%&&++++++++++++++->>-*!%+++++++++++++++++++++++%----+&%++++++++++++++-;>>--+*%+;>>;>>~~~~~~~>>>--+&===********=!!!!%++++++++++->]]]]~>;-+%**%+---;;>;;--+++++++++++++++++++++++++++++++++++++++++++++++;>;;+++-+%&==*+---+&%++%%-;---+*+%*++---+-+**++---+*!!&*-;--+&=&&+---+*!=!&%--+*!&,",
",&+++++++++++++++++++++++++++++++++*%++*=!%+++++**%*&!!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;-+%=%+++++++-;;;--%&&++++++++++++-+->>+&!++++++++++++++++++++++++++-;-+*&++++++++++++++-->;-;--;~]~~>;>>>>>>~>>>>>>;-%&!!!=!!==!!!=%+++++++++-;~]]]]~~;;-+%&!!*%+---;;>;>;-++++++++++++++++++++++++++++++++++++++++++++++-;>-+++-%&!!!&-;;--%*+++%+-;;-+*++%=&%--;+*!!&++---%&*=%--;-+&!!=+-;-+*!!!&%+-+*=&,",
",&+++++++++++++++++++++++++++++++++*=&&!!&+++++++!==!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;;+%!+++++++++;>>--+=&++++++++++++++;>;%*!+++++++++++->--+++++++++++;;-+*&++++++++++++++-;;;--;;>~]~~---------;;>>>>>>;;--%&*==!=&+%%++++++->~]]]]]~>>;-+%*=!!*!&*%----;;;;-=+++++++++++++++++++++++++++++++++++++++++++%-->;;++-%&!!%+%+--;-+*%+++%--;--+&++*&%-;--%&&=*+-;--+*%%--;-+%&*%--;--%*%+%*%-+%!&,",
",&++++++++++++++++++++++++++++++++++=!!!=%+++++++%!!!&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->>;-+%!%+++++++-;;;--+&&++++++++++++++;>;+&!++++++++++-]~>-+++++++++++-;;+&&+++++++++++++++->;--;>>~~>;--++*%++----;>>>>>>>>>>;;;;------;>>~~]]]]~~~>>;-+%*&!!!%++&=*++--+;--*!++++++++++++++++++++++++++++++++++++++++++++-->;;+-%*=!*++%+--;--**+++%+-;--+&+++++-;;-+*&+*+-;--+*%%+--;-+%%%%--;--%*++%&%+%!*,",
",&+++++++++++++++++++++++++++++++++++%&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;-+*=%+++++++-;;>-+%&&++++++++++++++->-%&=++++++++++>~~>-*%++++++++-->-+*!+++++++++++++++----++-;;;-++*&&=&&**%++---;;>>>~>~~~~~~~~~~]~]]~]~]~~~>;;++%*=!!!&+++++%=*%+----+%!+++++++++++++++++++++++++++++++++++++++++++++-;>--%*!!&++++%-;;--+&++++-;;;-+**++++;;;--+&+%+-;;-+**+%-;;--%&+%+-;--+*%++**+*!&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>;-+%!+++++++++;>;--%=&++++++++++++++-;;+&&+++++++++-;>>-+&%+++++++++;>;+*&+++++++++++++++*+-------+%*&!!!!!!!!***++---;;>>>>>>>~>>~~~]~~~~~~>>;;--%%&=!!!&++++++++%=*%%+--+*!++++++++++++++++++++++++++++++++++++++++++++--;>-%*!!&+++++%-;;;-+**+++-;;;--*&++++-;;;-+&*++->;-++&++-;;--+&+%+-;;-+%*+++&%*=&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;;+*=%+++++++-;;>--%&&++++++++++++++-;;+*=+++++++++++-++%!%++++++++->>-%&!+++++++++++++++**%*++++**&!!!=*+++*&!!!&**%++---;;;>>>>>>>>>>>;>;;;--++*&!!!!*++++++++++++==*%++%&!+++++++++++++++++++++++++++++++++++++++++++++->;+*!!*+++++++-;;;-+*&+++-;;;--*=+++-;>;--+*&++;;;--+&++-;;;-+%&++;;;--+&++++&*!&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!+++++++++;;;--%&&++++++++++++++-;;+%=++++++++++%**&!!+++++++++->>-%=&++++++++++++++++&!=&&&==!!!&++++++++++&!!&&**%%+-----------;--;+--++**==!!=*+++++++++++++++*=&*%%==++++++++++++++++++++++++++++++++++++++++++++-->-*=!&+++++++-;>;;-+*&++->>>;--%=%++;~>>--+&&+--;;;-+*&+-;;;-+*&++-;;;-+&%%+++&!&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;;+*=%+++++++-;>>--%&&+++++++++++++++-;-%&%++++++++++=!!=%++++++++-;>>-%=&+++++++++++++++++%=!!!!!!*++++++++++++++*=!!==&*%++%+++----++__::}&=!!!!&%++++++++++++++++++%==*=!&+++++++++++++++++++++++++++++++++++++++++++++--+&!&++++++++->~>--+*=++;>~>--+*!%+->~>;--*&&+->>>--%&&+>>>;-+%&+--;;--+&*+++++!&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>;-+%!++++++++-->;--+=&+++++++++++++++---+%*+++++++++++++++++++++++->~;-&!%++++++++++++++++++++%%%++++++++++++++++++++*&=!!=&&***%%%%**_''''''___}}+++++%+++++++++%++++++*=!=%+++++++++++++++++++++++++++++++++++++++++++++%%&!!%+++++++->>>>-++&!++>~>>-+%*!++;~~>--+*!&->~>;--%&&;~>>--+*!+->>>--+&&++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!%+++++++-;;>-+%&&++++++++++++++%----%*+++++++++++++++++++++++;~~-%&!+++++++++++++++++++++++++++++++++++++++++++++++%*=!!!====&==!_'''''''''''''_::%++++-++++-+++++++%*+++++++++++++++++++++++++++++++++++++++++++++++%!!!%++++++++->~>;-+*=&+-~~>;-+&!!+-~~>>-+*!!+->~>;-%%&&>~>;-+%*!+>~>;--+&=++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;--*=%+++++++-->;;-+&&+++++++++++++++%-;--%%+++++++++++++++++++++-~~>-%!=++++++++++++++++++++++++++++++++++++++++++++++++++%%&==!!!!!!}'''@'@''''''''''''':_}+++++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++*++++++++++>~~>--%=!*+~~~>;+%=!%+;~~>;-*&!*+>~>>-+%=!+~~>;-%*!=->~>;-+%=&++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!%+++++++-;;>-+%&&+++++++++++++++%+---+%++++++++++++++++++++-~~~;%&!*+++++++++++++++++++++++++++++++++++++++++-+++++++++%+%%%%*&*%%'''@@@@@@@'@''''''''''''__:}%++++-++++++++%+++++++%-%++++++++-+++++++++++++++++++++++++++++++++-~~>>-%*!=+;~~>;-+&!&+-~~>>-+*=!+;~~>>-%*!&>~~>-+%!!+>~~>--%&!&++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+->;;--*=%+++++++-->;;-%=&++++++++++++++++%+-;--%+++++++++++++++++++>]~>-%!!+++++++++++++++++++++++++++++++++++++++++++++++++%++%%%%%%%*%*%_''@@@@@@@@@@@@@@'''''''''''''__:}++-+-+++-%++++%++++-%+++++++++++++++++++++++++++++++++++++++->~~>--*=!%-~~~>-+%=!++>~~>;-%&!*->~~>-+%=!-~~>;-%&!*-~~~;-+&!!+++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;>;-+%!%++++++%-;>;--%&&++++++++++++++++*++----+++++++++++++++++-~]~~-%!!%++++++++++++++++++++++++++++++++++++++++++++++++%++%%%%%%%%%*%*:''@@@@@@@@@@@@@@@@@@@'@''''''''''''__:}-++%+++%-++++%+++++++++++++++++++++++++++++++++++++++%;~~>>-+*!&+>~~>;-+&!*+;~~~;-+*==+;~~>;-+&!*~~~>-+*=!+>~~>--%=!%+++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;--*=%+++++++-->;--+=&+++++++++++++++++*%------++++++++++++++;~]]~;%&!=+++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%********'''@@@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''_::*++++++++-%+++++++++++++++++++++++++++++++++++++-~~~>-+%=!%->~~;-+%=!%+>~~>--*&!*-~~~>-+%==;~~>--+&!*;~~>;-+&!&++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;-+%!%+++++++-;;>-+%&&+++++++++++++++++**%--;;;--++++++++++-~]]]~;%&!!++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%*%%%******_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''_:%++++++++++++++++++++++++++++++++++++++++++-~~>;-+*!=+->>>;-%&!&++;>>;-+*!!+>~~>;-%&=&~~~>-+*==+~~~>--%=!%++++++++&,",
",&++++++++++++++++++++++++++++++++++--+++++++++++++++++-+++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++-->>;--*=%+++++++-->;;-%&&++++++++++++++++++*&%+-;;>;;;---+-->~]]]]~-%&!!%+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%*******&*_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''_-+++++++++++++++++++++++++++++++++++++++++;>>>-+*=!%+-;>;-+*=!%++->;;-%=!*+;~>>-+*=!->>>--%&!&;~~>;-+*!=+++++++++&,",
",&+++++++++++++++++++++++++++++++%->~>;+++++++++++++->~~>+++++++++++-~~>;+++++++++++;~;-+++++++++++++-+++++++++++++++++++-;;;-+%!%+++++++-;>;--+=&+++++++++++++++++++*&%+-;;>>>~>>~~~]]]]~;-*&!!*+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%*%****&**&&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}+++++++++++++++++++++++++++++++++++++++++-;;;-+&!&+++-;;-+*=*++++----%&&++;;>-+%&!&->>;-+*!!+;>>>-+%=!%+++++++++&,",
",&+++++++++++++++-;-+++++++++++++-~]]~>--++++++++++;]]]];+%++++++++-~]~>>-%++++++++-~~>;-+++++++++>~~~>++++++++++++++++++-;>;-+*=%+++++++-;;>--%=*++++++++++++++++++++&=*%%-;>>>~~~~]~~~;-%*=!!%+++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*%****&*&&&&_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++++%%++++++++++++%--;-+*=+++%+-;--%*%+++%+;;--+*%+-;;;-*&=%-;;;-+&!%+;>>;-%&!=++++++++++&,",
",&++++++++++++++>]]>-%++++++++++-]]]~>>;;+%+++++++;]]]~>;++++++++++>~]~>;-++++++++->]]>;-+++++++-~]]]~;-+++++++++++++++++%;;;-+&!+++++++++-;;-+%=&+++++++++++++++++++++%!&%%++-;;>>>;;-+%*=!!!++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%******&&&&&_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++++++%-++++++%+++++*--;--+**+++++-;;-+*+++%+-;;-+%*+%--;-+*&+%+-;-+%&%%-;;--%&!+++++++++++&,",
",&++++++++++++-~]]]>-%+++++++++;~]]~>;;;;+*++++++;]]~~>;;-;++++++-~]]>>;;;-+%+++++;~~>>;;-%%++++>]]]~>>;-%++++++++++++++++----*=!+++++++++--;-+*!*+++++++++++++++++++++++=!=&**%%%+%%**&=!!!*++++++++++++++++++++++++++-++++++++++++++++++++++++++++%%%%%*%***&&*&&=&}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':%+++++++++++++++++++++++++++%++++++++++++%--;--+*+++%-;;--+%*++++-;;--+*+%+-;;-+*%++-;;--%*+%--;-+%&+++++++++++&,",
",&+++++++++++-~]]]>;-+%%+++++++>]]>>-+-;;-%*++++>]]~>;-+;;;--%+++;]]~>;+;;--+++++;]]~>--;-%*+++;>~>>>;;;-+*+++++++++++++++%++*&!&+++++++++++-+*=!+++++++++++++++++++++++++%&!!==&=====!!!=&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&*&&&&&&}_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_-+++++++++++++++++++++++%++%-+-++-++-++++%-;;;-+*%++++-;;--%*+++%+;;;-+*%%+-;;--%&+%--;--+*+%+-;;-+*%++++++++++&,",
",&++++++++++;]]]~>;;;--+++++++>~~~>---+;---%+++~]]]>>---;;;;-+%+;]~~>;+++;;;-+++>]]~>;+-;-+%++-~]~>;++-;--+%++++++++++++++&&&=!!++++++++++**+&!!&++++++++++++++++++++++++++++*&!!!!!!!=&%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%****&&&&====_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++%+%+++%%%}:_:}-+%++++++-;;-+**++++-;;--+*%+++-;;;--%*+%--;;-+**%-;;;-+%*++--;--+&++++++++++*,",
",&++++++++->]]]~>;+-;;;;-%+++>]]>>--+++-;--+%-~]]]>;-+%++;;;---;~]]>-+----;;;;-~]]]>;+++---+->]]]>>++++-;--+%+++++++++++++%&!!=++++++++++++&!!!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&===}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++%+++++++%+%-%''''''__::*++-;;;;-+*%+++->;;--%*+++-;;-;-+%%%-;;;--**++-;;--%*+%-;;--+*%+++++++++&,",
",&++++++++~]]]~;-----;;;;+%-~]]]>;+%***+-;;;;>]~~>;+%&=*%+-;;;;~]~>;--+++--;;;>]]~>>------;;>]]]>>-+-+++;;-+*+++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&*&=&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''-+++++++++++++++%++%%+%%%%*'''''''''''''__:2;-;-%%+++;;;-;-+%%+++;>;---+%%-;;;--+*++;;;;-+%%%--;;--%*+++++++++&,",
",&+++++++>]]~>;-%%%%--;;--;]]]]>;-+*!==*+;;;;~]~>;-+&!!=*++-;;>>]~;+-+*&*+-;;;>~~>;-++%+--;>>~~>>--++----;-+*%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%**&&&&&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}+++++++++++++%++%++%%%%%%_'''@@'@''''''''''''_::}+++->;--;-+&++-;;;+;;+*&-;;;;--+%+;;;---+*%-;;;;-+*+++++++++&,",
",&++++++;~]~>;-%&=&*%--;;;>]]~>;-%&!!==*--;;>>>>--+%=!**=*+--;;>;;--+*!!=%+-;;;>;--+%&&*+-;;>>>;--%%*%+-----%&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&*&&}&====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_++%+++++++++%++%+*++*%%*_'''@@@@@@@@@@'''''''''''''_2:;----+=%+-;>;+--+*&-;;;-;-++;>>;-;--%*-;>----+*%+++++++&,",
",&+++++-~]~>;-+*!!!=&%--;>>>>>--+*=!*++*+--;-;;+;+%=!=++%=%+-----%+-+&!&&*+----+%-%%=!!=%+;-+++-+%&!=&%+--;-%*%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%-+++++++++++%+%%%%*%%%:'''@@@@@@@@@@@@@@@@@'''''''''''''_:}=%+>>>;+-+*==;;;;+---;]]>>+---%&+;;;-;-+%%+++++++&,",
",&+++++;>~>;-+%&=*+*=%--;;;>;-++&!!=++++%+----+-+%&!=%++++&%+---+--+*=!++&%++-----*=!!%&%+---+-+%&!!=!*%----+**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*%**&*&&======!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+%+++++++%%%%%*+*+*%*}'''@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''_12;--%&=!=;>>;%-;;>]~>-++-+*=-;;;+---*&+++++++&,",
",&+++++-;>;-+*=!!%+%%%+---+++-%&!!&+++++&&%++-+%*=!!*+++++*&%++-+-%&=!&%++&**+++%+=!=%++**+----+&!!%++&*+---+*&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&====}}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%-++++++%++%+%+%%****'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@''''''''''''__}}-~~>;+-;;>>>;++-%*==->>;+--%*=+++++++&,",
",&+++++%-+-+*&!=%++++%%++----%%!!*+++++++&&*%%*&=!!*+++++++*=&****==!!+++%%=!=*-*=!!++++%&*%++%%=!%++++**%+%*=&++++++++++++++++++++++++++++++++++++++;-;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&=&====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+%+++++++%%%%*%***%*'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''''_1::-++-;-+++-+*!!*>~>;-++&==+++++++&,",
",&+++++%%%*&=!!+++++++&&%%-+%&!!*+++++++++====!!!=++++++++++*====!!!=++%++++*<({{<!*+++++%=&*&&=!&+++++%==*&=!&++++++++++++++++++++%++++++++++++++-~]]]~~>;+++++++++++++++->>~>>--+++++++++++++++-;>>~>-++++++++++++++++++++++++++++++++++++++++++++++++%+*%*&*&&&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++%%%%+*%*%***'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''''__2:++-+*=!*>~~>--+&!!*+++++++&,",
",&++++++&!=!!=+++++++++&&&*&=!!=+++++++++++%=!==*+++++++++++++*==!&%%+%+++-<{{{{{(+++++++++&!!!!!%+++++++&!!!=+++++++++++++++++++++-%++++++++++++;]]]]~~>>>;-+++++++++++-~]]]]~~>;-++++++++++++->~]]]~~>;-+++++++++++++++++++++++++++++++++++++++++++++%%%%*%**&*&=&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''-++++%+%%%%******_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''':;+%=!&;~~~;-+*!!*++++++++&,",
",&+++++++%*=%+++++++++++&==!!!%++++++++++++++++++++++++++++++%+%%-%+%++--<{{{{{{{{<+++++++++%%%%+++++++++++*++++++++++++++++++++++++++++++++++++~]]~~>;>;>;>--+++++++++;]]]]~~~~>;>-%++++++++++~]]]]~~>>>>-+++++++++++++++++++++++++++++++++++++++++++++%%+*%***&&&&====}!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}%++++%%%%****&*_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@''''_+%=!=+~~~>-+%!!*+++++++++&,",
",&+++++++++++++++++++++++%&&*++++++++++++++++++++++++++++%+++%%+%%%%%%-<{{{{{($${{(++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~]~>-+%++-;;;-%%++++++>]]]>>>;;;>>;--%+++++++-~]]~~>;;>;>;--++++++++++++++++++++++++++++++++++++++++++++%%%**%**&*&&=&====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_-%+%%%%%*%****}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_+&!!+>~~~;+*=!=++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%++%**%-({{{{{($$$$({{-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->]>>+**&*%+--;+%%+++++-~]~>-+++++-;;;-%+++++++>~]~>-++++-;;;-*%+++++++++++++++++++++++++++++++++++++++++++%%+*%*&*&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++%%%%%%***&*}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_-*=!%->~>;+%=!=+++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%+*%%<({{{{{($$$$$$({{(+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>~>-*=!!!!*+---%&+++++>~~>+%&&&*%%--;+%%+++++-~~~>+*&&**%--;+%*+++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+%%%%*%**&*&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;+%!&+->~>--*!=++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++%+%++%%%%**<({{{{(($$$$$$$$${{{-%++++++++++++++++++++++++++++++++++++++++++%+++++++++++++>>~-%&!!!!!&%---%&%+++-~~>+%!!!!!=*+---%*+++++;~>~+%=!!!=*+---+*+++++++++++++++++++++++++++++++++++++++++++%%%+***&&*&=&====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%%%%*%****&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''';-+*=%+-;>>-+*!%++++++++++++*,",
",*+++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%+<{{{{{{$$$$$$$$$$$$({{<-%++++++++++++++++++++++++++++++++++++++++++++++++++++++->~>+*!!+++%=+;;-%&%+++-~>;%&!!&%&!&%-;-%&++++->>~-+&!&*&==%---%=+++++++++++++++++++++++++++++++++++++++++++%+%**%**&&&&======_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+%*%****&&_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_--;+%&*+-;;;-+&!+++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++%%+%%%%+%%-<{{{{{($$$$$$$$$$$$$$${{(-++++++++++++++++++++++++++++++++++++++++++++++++++++++-;~~;%=!*+++++-;>-+&*+++>~>+*!!*+++%&+;;-%&++++->~>+*!=++++&+;;-%&%+++++++++++++++++-+++++++++++++++++++++++++%%+*%***&&&=&===!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%%%***&&_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}%-;-+%*++--;-+%=+++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++%++%%+%**-<{{{{{($$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++++++++++++++++++++++++++++++++->>-+&&++++++-;;-+&*++-~>;%=!!+++++%-;;-%&++++;~~;%=!++++++-;;-+&*+++++++++++++++++++++++++++++++++++++++++++%%+*****&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%%%*&*&:'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''**%----+%%%%+-;-+*%++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++%+%%%%+*%-({{{{{($$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++++++++++++++++++++++++++++++++--;;-+&*++++++-;>-+&*++->>-+=!%+++++-+;>-+&%++-;>>-%&*++++++-;>-%&*++++++++++++++++++++++++++++++++++++++++++++%*+*%*&*&&&}====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}*****}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':%%*+--;--%%*+----+%++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++%%%%%%**;({{{{{($$$$$$$$$$$$$$$$$$$$$$({{-++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>-%**++++++->;-+*&++-;>-%&!%++++++->;-+**++--;>-+&%++++++->;-+**++++++++++++++++++++++++++++++++++++++++++++%%%****&*&&=&====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_***&&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':-*&*+-;;--+*%%+;-;-+%+++++++++++&,",
",&+++++++++++++++++++++++++++++++%+++++%+%+%%%%%%**<{{{{{(($$$$$$$$$$$$$$$$$$$$$$$$({((+++++++++++++++++++++++++++++++++++++++++++%+++++++++--;;-+&*++++++-;>-+&=+++>;-+=!++++++--;>-+**+++-;;-%**++++++-;>-+*&++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&====}!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''*&&*'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;+&&++-;;;-%&+%+-;;--%*++++++++++&,",
",&++++++++++++++++++++++++++++++%++++%++++%%%%%%%<({{{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++++++++++++++++++++++++++++++++++++-++++++++++-;>-%&%++++++->;;+*&+++;>-+&!%++++++->;-+**+++-;>-%&%+++++-->;-+*=++++++++++++++++++++++++++++++++++++++++++++%%%******&&=&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':&&_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;-%*=%+;;;--+&%%--;;;-%&++++++++++&,",
",&+++++++++++++++++++++++++++++%-++%+++%%+%%+++<{{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%-++++++++++++++++++++++++++++++++++++++++%%+++++++++-;>-+&*++++++-;>-+%=++-;>-+=!++++++--;>-+**+++->;-%&%++++++-;>-+*&+++++++++++++++++++++++++++++++++++++++++++++%%+*%***&&&&====!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_*_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;--+&=%-;>>-+%&&+-;;;-+%&++++++++++&,",
",&++++++++++++++++++++++++++++++%+++%%%%%%%+-<{{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++%++++++++++++++++++++++++++++++++++++++++-%++++++++-;;-+**++++++->;;+*=+++;>-%&!%++++++->;;+%&+++-;>-%*%++++++-;>--*&+++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''1;;-%*&!+>~>>-+*!*+->>;--%!%+++++++++&,",
",&++++++++++++++++++++++%+++%-%+++%%%%%+%*;<{{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++++++++++++%-++++++%++++++++-;>-+&*++++++-;>;+*=++-;;-+=!%++++++-;>;+*&+++-;>-+&*++++++->;;+*=+++++++++++++++++++++++++++++++++++++++++++++%%+******&&&=&===!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''>>;%%&!=>~~>;%*=!+-~~>--%*!++++++++++&,",
",&++++++++++++++++++++++-++%+++%%%%%%%*%-({{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++++++++++++++%+++++++-%++++++-;;-+&*++++++-;;;+%=++-;>-+&!%+++++--;>-+%&+++-;;-+&%++++++->;;+%=+++++++++++++++++++++++++++++++++++++++++++++%+%%*%**&&&&=}====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''>>;-*&!!+~~>;+%=!&+>~~>-%*!!++++++++++&,",
",&++++++++++++++++++++++%++++%%%%%%%**<({{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{;++++++++++++++++++++++++++++++++++%-++++++++++++%++-;>-+**++++++->>;+*!+++;>-+=!+++++++->;;+*&+++-;>-+&%++++++-;>;+*=++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&====!}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_2~;;%&!!-~]~>-%&!=+;~~>;+*!!*++++++++++&,",
",&+++++++++++++++++++++++++%%%%%%%*+<({{{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(%+++++++++++++++++++++++++++++++++++++++++++++++-*--;;-+&*++++++-;>-+*=++-;>-+&!%++++++-;>-+*=+++-;>-+&%+++++--;>-+*!++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&=&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''2~>;+*=!&>]~~;+*!!+>]]~>+%=!*+++++++++++&,",
",&+++++++++++++++++++++++%%+%%%%%%-{{{{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++++++++++++++++++++++++%-%+++%++++1|112:-+->>;+**+++++%->;;+*!+++;;-%=!++++++--;>;+*&+++-;>-+&*++++++-;>-+*=+++++++++++++++++++++++++++++++++++++++++++++++%+*+****&*=&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':>>;-%=!=-~~~;+*=!%-~]~>-%&!=++++++++++++&,",
",&+++++++++++++++++++++%+%%%%*%%**<{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%++++++++++++++++++++++++++++++%++%+++++-))))))))[[|11::-++-+-->;;+*=+++>>-%&!%++++++-;>-+*&+++-;>-%&%++++++->;;+*=+++++++++++++++++++++++++++++++++++++++-+++++++%%%*****=*=&=&===}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':;;;-%*=!*>~>>-%&!&+>~~>;+*!!+++++++++++++&,",
",&++++++++++++++++++++++%%%*%%****<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++++++++%+++++%+%%+:)))))))))))))))))[|1122>;+*=+++;;;+&!++++++--;>-+*&++++;;;+&%+++++--;>-+*=+++++++++++++++++++++++++++++++++++++++++++++++%%%%****&*=*=====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*-;;-+&!*+-;>;-%=!++>~>>+%=!*+++++++++++++&,",
",&++++++++++++++++++%++%%%%%%%****%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%+++++++++++++++++++++++++++%++%+%%%%%%%%|)))#)#))))))))))))))))))[[|1222>-+&!%++++++->>--*&+++-;>-%&*++++++->;;+*&++++++++++++++++++++++++++++++++++++++++++++++++%%%*%**&*&==&====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&*%---++*%%-----+%*++>>>-+*!&++++++++++++++&,",
",*++++++++++++++++%+++%%%%%%*****&*<{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++++++++++++++++++++++++++++++%+%%%%%%%%%+[))#########)#)))))))))))))))))))[|112:-+--->>;+%&++++;>-+&%++++++-;>;+&&+++++++++++++++++++++++++++++++++++++++++++++++%+%%%****&&=*=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&=*&%+--;+*%*+-----%%++----+*%++++++++++++++&,",
",&++++++++++++++++++%++%%%*%****&*&+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+++++++++++++++++++++++%++%+%+%%%%%%%%*%*1)))#################)#))))))))))))))))))[[|1222%&+---;>;%**++++++-;;-+%=++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&*&==&==}!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_-*=***%----%*%*%--;-+&%%+-----%%+++++++++++++&,",
",&+++++++++++++++++++%%%%%%******&&=({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{(+++++++++++++++++++++++++++++%%%%%%*%%%*%%[))##########################)#))))))))))))))))))[|111>;+**+++++++;>;+*=++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&=*=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_:%%&&%&%+---%&+*%+---%*%**+-;--%*+++++++++++++&,",
",&++++++++++++++++++%++%%*%****&&&&&-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{-+++++++++++++++++++++++%+%%+%%%%%*%******2)))#################################)#)))))))))))))))[-%&&++++++-;;-+&!++++++++++++++++++++++++++++++++++++++++++++++++%+%%****&*&=&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''%--%%%%*&%---+**+*%----**+*%+---%&%++++++++++++&,",
",&+++++++++++++++++%+%%%%%%****&&&&=}({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++++%%%%%%*%*******[))##########################################)#)))))))|!!&++++++%-+%*&=+++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&*=&====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}%%%-++*%%%----+%+%*+---+%%%*%---+*%++++++++++++&,",
",&++++++++++++++++++%%+%%*****&&&&===<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-%+++++++++++++++++++++%+%+%%%%**%****&*&*:)))################################################)))}=+++++++**&==!&+++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=====}_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&*==%--+**+%+----+%+%+----+%+%*-;--%%++++++++++++&,",
",&+++++++++++++++++%+%%%*%***&*&&&===={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++%%%%%%%*******&&*|)[#################################################))|%++++++++!!!!=++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&&&=====!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''':***&+;;+*&+%%%---+%%%%++--++*+%+----%%+++++++++++&,",
",&++++++++++++++++++%%%%%****&&&&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++%+%+%%*%*****&*&*&&&:)))################################################)))-%+++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++*+%*****&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}**%*->;;+%=+%&*+;--%&+*&+-;-%&+%%%+-;-%%++++++++++&,",
",&+++++++++++++++++++%%%%%****&&&&====={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{;++++++++++++++++++++++++%%%%%%*****&&&&&&&|))################################################)))1++++++++++++++++++++++++++%++++++++2|[|122:-+++-+++%++++%++++++++%%%%**&*&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_=***+;>>;+*=%++-;>;+%&+++;;;-%&%+&*+--+%&++++++++++&,",
",&++++++++++++++++++%%%%%***&*&&&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(%+++++++++++++++++++%+%+%%%*%******&&&&&=&:)))################################################)))-+++++++++++++++++++++++++++%++%+++[)))))))))[|112:-++++-%++++++++%%****&&&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_!=*%*+>~;-+&!+++->>;+%=%+->>>-%**%+%;>;-%&++++++++++&,",
",*+++++++++++++++++++%%%%%***&&&&======%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{-+++++++++++++++++++++++%%%%%****&&&&&&=&==|))#################################################))1+++++++++++++++++++++++%++%+++%%+|))))))))))))))))))[|112:+%-++%%%**%***&&&&====!}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_=!&*%%>>>>+%&!++->~>-+&!++;~>;+%!*++;>>;+%=%+++++++++&,",
",&+++++++++++++++++++%%%%%***&&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-++++++++++++++++++++%+%%%%**%**&*&&&=&===})))################################################)))++++++++++++++++++++++%+%+%%%%%%2)))####)#))))))))))))))))))[||12:-****%**&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*=!*%%+>>~--&!*++;~>>-%&!+->~>-+&!+++>~>-+*!%+++++++++&,",
",&++++++++++++++++++++%%%*%****&&&=}===!+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{+++++++++++++++++++++++%%%%%**&**&&=&======|))################################################)))1+++++++++++++++++++++++%%%%%%%%)))##############)#))))))))))))))))))||1_::&===!&=_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''*=!!%%%+>>>-%&!%++>~~;+%!&+;>~>-%&!++-~>>-%&!++++++++++&,",
",&++++++++++++++++++++%%%%***&&&&=&======({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%%%*%***&&&&&======})))################################################)))++++++++++++++++++%+%%%%%%%%%%|)))######################)#))))))))))))))))))||1_:_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''+*=!=%%%;>>;+*!=++->~>-%&!%+;~>;+%!&++>~~;-%==++++++++++&,",
",&+++++++++++++++++++++%%%%****&&&&=====!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{+++++++++++++++++++++++%%%%***&*&&&&=======|))#################################################))1+++++++++++++++++++%%%%%%%%+1)))###############################)#))))))))))))))))))[[[[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''-%&!!%%%+-;>-*&!%++->>>+*=!+->>>-%&!%+->>>;%&!*++++++++++&,",
",&++++++++++++++++++++%%%%%***&&&&=&&====={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+++++++++++++++++++++%++%*%***&&&&&&}===!=})))################################################))[-++++++++++++++++%%%%%%*%*%:)))########################################)#)))))))))))))))))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}-&=!=%%+++--+&=!+++;>>-+&!*+->>>+*!!++->>>+%=!%++++++++++&,",
",&++++++++++++++++++++++%%%*****&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{(+++++++++++++++++++++++%%%*%****&&&=&======|))################################################)))1+++++++++++++++%%%%%%*%***[))#################################################)#)))))))))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':%==!!%+%++++&&!!%++++;-+*=!+++-;-%&!%++->>;+&!&+++++++++++&,",
",&+++++++++++++++++++++%%%%%***&*&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;++++++++++++++++++++++++%%****&&&&&=====!=})))################################################))[-%++++++++++++%+%%*%%***%1)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}!!!!!&%+%++%!!!!*+++++-%*=!&+++-+%&!!++++;;+%=!%+++++++++++&,",
",&+++++++++++++++++++++++%%%***&*&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++%%%%%%*****&&&=&=====!|))#################################################))2+++++++++++++%%%%%****%:)))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':*%===%%%++++++%*++++++*==!!=++++&==!!*++++-+*=!&++++++++++++&,",
",&++++++++++++++++++++++%%%%%****&&&&=====!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++++++++++++++++++++++++%%%*%*&*&&&&=&}====:)))################################################))[-+++++++++++%%%%*%****&)))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_**%%%%%%++++++++++++++++*&!*+++++*=!=+++++%===!!+++++++++++++&,",
",&+++++++++++++++++++++++%%%%%**&*&&=&======<{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%%%%****&&&&=======!|))################################################)))2+++++++++%+%%%%*****&|)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_***%%%%%++++++++++++++++++++++++++++++++++++*=!&++++++++++++++&,",
",&++++++++++++++++++++++++%%%%****&&&&======+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++++++++++++++++++++++++%%*%***&*&&&=&===!=:)))################################################))[++++++++++%%%*%*****2)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_***%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++%%%%***&*&&=&}===!!({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+++++++++++++++++++++%++%%%****&&&&&======}|))################################################)))2++++++++%%%%%*****})))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''***%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++%%%%%&**&&&&=&=====-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{(%++++++++++++++++++++++%%%%%****&&&&=&===!=:)))################################################))[+++++++%%%%%*****&|)))########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%*%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++%%%%%**&*&&&=&===!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;++++++++++++++++++++++++%%%****&&&&=======!|))################################################)))2+++%+++%%%******1)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''&**%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++%%%%&%**&&&&=&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%+++++++++++++++++++++%%%%****&*&&=&====!=:)))################################################))[++++%+%%+*%**&&:)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}%*%*%%++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++%%%%%*&**&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++%-++++++++++%++%%%%%***&&&&&=======[))################################################)))2+++++*+*****&*[))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':***%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++%%%%*%*&*&&=&====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%%%%*****&&&&}======_)))################################################))|+%%+*%%****&*1)))#########################################################[)[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}**%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++%%%%*%&*&&&&&=====*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+++++++++++++++++++++++++%%*%***&&&&&&=====![))################################################)))2++%+%******:)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':***%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",*+++++++++++++++++++++++++++%%%%****&*&========<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<*++++++++++++++++++++++%%%%*****&&&======!=1))#################################################))|++%*%****&&)))#########################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_**%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++%%%*%***&&&&&====!+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+++++++++++++++++++++++++%%%%**&*&&&&=======[))################################################))):%%%****&&|)))########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_***%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++%%%%***&&&&========({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;-%+++++++++++++++++++++%%%%%****&&*======!!1)))################################################))|+%*%****2)))#########################################################)))@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_**%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++%%%%****&&&&=====!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++%++++++++++++%+%%*%**&**}&&======}[))################################################))):%*****})))#########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''***%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++%%%%*%***&&&&&======({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++-%++++++++++++%%%%***&*&&&&=======1)))################################################))|%%*&&&|)))########################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_**%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++%%%*%**&&&&=}====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++++++++++++++++%%%%%****&&&&=}==!=!)))################################################)))}**&*1)))########################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&*%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++>~;-+++++---+++&,",
",&+++++++++++++++++++++++++++++%+%%%*&**&&&=&&====={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++%+++++++++++++++++++++%%%%****&&&&==&=====1))#################################################))|***:)))#########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':*%%%%+++++++++++++++++++++++++++-++--;>--++++++++++++++-~]]~-++++>~~;*++&,",
",&++++++++++++++++++++++++++++++%%%%*%**&*&&&====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++++++++++++++++%%%%%***&&&&&====!=})))################################################)))}*&[))#########################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%%%%+++++++++++++++++++++++++++-;>]~]]~>>;;----++++++->]]]~>-+%+~]]~+&++&,",
",&+++++++++++++++++++++++++++++++%%%****&&&&&======&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++%%%******&&&&=======|))#################################################))|=1)))########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':%%+++++++++++++++++++++++++->]]]]]]~~~>>~>>~>>>>>>~~]]]]~>;--+;~]~-*!++&,",
",&+++++++++++++++++++++++++++++++%%%%%****&&=&======<{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;++++++++++++++++++++++++%%%%%*&*&&&&=====!=})))################################################)))2)))#########################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++->]]]]~~~>~>>>>>>>~~~~~~~~]~~~~>-;---]~~+*=!++&,",
",&+++++++++++++++++++++++++++++++%%%%*%&**&&&=======+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%+++++++++++++++++++++++%%**%**&&&&=&=====!|))#################################################)))))#########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++++++-~]]]]~>;>-----;>>>>>~>>~~~~~>>;+---;>~~+&!!&++&,",
",&+++++++++++++++++++++++++++++++++%%%*%*&*&&&======!({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++++++++++++++++%%%%%*****&&&======!:)))################################################)))))########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++++++++--]]]~~>;--+++++++++-;-;;>>;>;;----++%%++*&!!*+++&,",
",&++++++++++++++++++++++++++++++++%%%%%***&&&&=&}====+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-++++++++++++++++++++++++%%%*%*&&&&&&====!=![))#################################################))#########################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++-~]]~>;-+++++++++++++++++++-++--+%%&&==!&!!!%++++&,",
",&+++++++++++++++++++++++++++++++++%%%*%****&&&=====!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++%%%%%*****&=&=====!=:)))###########################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''*+++++++++++++++++++-~]~~;-+++++++++++++++++++++++-+%*==!!!!!!=&%+++++&,",
",&+++++++++++++++++++++++++++++++++%%%%***&*&&&&&====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%+++++++++++++++++++++++%%%*****&&&&====!=!![))##########################################################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':%++++++++++++++++++~~~~;-+++++++++++++++++++++++-+*=!!!!*%+++++++++++&,",
",&++++++++++++++++++++++++++++++++++%%*%%***&&&========{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++%%%+***&*&&====!=!!*2)))########################################################################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++;]]]~>-+++++++++++++++++++++++-+*=!!*+++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++%%%***&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-%+%+++++++++++++++++++++%%%%***&&&=&===!*<<<[))########################################################################################################))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++-~]]]~>-+++++++++++++++++++++++++%=!=%++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++%+%*%%***&*=&&=====*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(%-++++++++++++++++%++++%%+%*%**&&&&=!!&<<<<<2))#######################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++;]]]~~>-+++++++++++++++++++++++-+%&!=++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++%%%****&&&&&======!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++++++++++++++%-*%%*****&===*<<<<<^//)))#####################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++%+++++--->]]~>-++----++%++++++++++++++++-+%&!!%++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++%%%%%****&&&======*{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%+%+**&&=&&<<(<<^////2)))###################################################################################################)))[''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+%->>>~~~]~]];*&&***++-----++++++++++++++-+*=!!%+++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++%%%**%&*&&&&======!({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+++++++++++++++++++%++%%%****&&&<<(<(<///////)))###################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+-~-*->~~~>-*!!!!!!=&*+++-+----+++++++++-+*=!!+++++++++++++++++++++*,",
",&+++++++++++++++++++++++++++++++++++++%%%%****&&=&======+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++++++++++++%+%%%**&*<((((^^^/^/////1))##################################################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''-;=!&&->-*=!!!&*%*&&!!&****%+++---++++++-+*!=++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++%%%%*%&*&&&&=======({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++%+%%%%***<(((((^^/^///////-)))################################################################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':&*++~>;*!!!*++++++++*!!!!&&&**%--++++++--%!+++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++%%%%*****&&&=&===!}<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++++++++++%%%%%*%*<(({(($^^^^^^^//////|))###############################################################################################)))[@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''=+;~]>%!!*+++++++++++++*&!!!!=*-;-+--++-+%&%++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++%%%%***&*&&&=====!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+%++++++++++%%+*+%%***<({{{($^^^^^^///^/////;)))##############################################################################################)))@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}-~]];&!&+++++++++++++++++++&&%-;;-++-----+*++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++%%*%***&&&&}&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++++%%+%%%***<{{{{((^$^$$^^^^^^/^/////[))#############################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_]]~>%==+++++++++++++++++++++++-;-+%*%+---+%%+++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++%%%%%****&*&&=====!&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%+++%+%+%+%%%%+*<({{{{($$^$^^^^^^^/^///////>)))###########################################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''']];+*==+++++++++++++++++++++++;;-*!=&*+---%*%++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++%%%%***&&&=&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+%++++%+%%%%%+*-({{{{($$$$$$^$^$^^^^^^^//////[))###########################################################################################)))'@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+*&!!%++++++++++++++++++++++->;-%!=!&%++-+*%++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++%%%%****&&&&&=&===!%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%+%+%%%%%%++-({{{{($$$$$$^$^$^^^^^^///^/////2)))#########################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_!=!!&+++++++++++++++++++++++;;>-%&*+&&%--%=*++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++%%*%****&&=&=====!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{+++%%%%%++-<{{{{{$$$$$$$$$$$^$^^^^^^^^/^/////)))########################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''!=&+++++++++++++++++++++++++;>>+*=&++*+;-%&&++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++%%%%*%**&*&&&=====!-{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+%%%%%%-<{{{{{$$$$$$$$$$$^$$^$^^^^^^////////2))#######################################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++++++->>>+&!%+++-;-%=*++++++++++++++++++++&,",
",&++++++++++++++++++++++++-+++++++++++++++++%%%%***&&&&======!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%%%%%-<{{{{{$$$$$$$$$$$$$$$^$^$^^^^/^^/^////-)))######################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++++++++++++++++++;~~-*=!++++-;-*!*++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++%%%%*%&**&&&=&}===!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{-*%%<{{{{{($$$$$$$$$$$$$$$^$^$^^^^^^/^///////1))#####################################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}-+++++++++++++++++++++++->~>%&!*++++;>+&!+++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++%%*%****&&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%<{{{{(($$$$$$$$$$$$$$$$$$$^$^$^^^^^^/^/////;)))###################################################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_++++++++++++++++++++++++;~>+*!!+++++;>%==+++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++%%*%***&&&&=&====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{{{{{{($$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////|))###################################################################################))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++->~;*!!%++++->;*!*+++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&&=====&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{($$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////>)))#################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++->>%!!*+++++->;&!++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{($$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^/^/////[))################################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++%;~;&!&++++++;~-&!++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++%%%%***&*&&&&====!%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$($$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^/^//////2)))##############################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++%->>+&!++++++->>+&=++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&======!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^^/^//////)))##############################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_!_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++++++->~>*!&++++++>~>%=&++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&======-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^/^/////1))#############################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''=!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++;>;->~]]]-&!++-;;->~~>%=&++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&}===!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^/^//////-)))###########################################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}!=!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++>]~~~~]]~>+=!+-]]>~]]>-*!*++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++%%%%%**&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^/^//////|))##########################################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++;>~>~~~>>-&!*%>]~>>~>-%=!+++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&==&===!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^^//^/////;)))#########################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_====!_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++%%%%++%%%*&!*+--***&&&=!=+++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++%%%***&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////|))########################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}=====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++*==!&&====!&++&!!!!!!!!!++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&&======&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////2)))######################################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}======='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++%&=!!!!!!!++++*&&&**%%+++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////)))######################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_=======!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&=&====!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////2))#####################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_}==&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':-++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&=}====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^^/^/////;)))###################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}=&========'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&=&=====+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$$^^^^^^^^/^//////|))##################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&=&=&}====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&&=&====!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^/^/^////;)))#################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&&&&=&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////[))################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''=&&&&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++-+++++++++++++++%%%%%***&*&&&=====!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////2))###############################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':*&&&&&&&======'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////)))##############################################################))[@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*&&*&&&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%**&*&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^$^^^^^^/^/////1))#############################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''*&**&*&&&&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&==&====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^//////;)))###########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}%****&&*&&=&}===!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%**&**&&&=====!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^/^/^////|))##########################################################)))[@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_********&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&}=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^^^^^^^/^/////<<2))##########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_********&*&&&==&==!_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''*+++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%*&*&&=&=====!+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$$$^$^^^^/^/^<<<<<)))########################################################)))''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&*%**%******&&&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&}====({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^^$^^^^^^/<<<<<<*|))#######################################################)))[''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':*%*%%*%***&&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&=&===!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$$^^^^^<<((<<<*!!})))######################################################))[_'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*%%%%%%*%****&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&=====!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^(((<<<*!!!!![))#####################################################)))}!=}__''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_**%%%%%%%*%**&&&&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_++++++++++++++++++++++++++--+++++++++++++++++-*+++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&=&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^((((((<*!!!!!!![))#####################################################))|=!!=!!!__'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}*%%+%+%%%%*****&&=&===!}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++%+++++++++++++->~;++++++++++++++->>~-%++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&=&==!=={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$((((((<*!!!!!!!!!)))####################################################)))_=}!=}=====}_'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_%%%%+%+%+%%*%**&&&&======'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++--+++++++++++;]]]>--+++++++++++-~]]~--++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%******&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(({{{{<*=!=!=!}!!!}))######################################################)):=!==========}!__'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*%%%%%++%+%%%**&*&&&}&===!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++;~>-+++++++++-~]]~>;;+*++++++++-]]]~~;--%++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&=&&}==!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+===!=!!!!!!!:)))####################################################)))=================}}_'''''''''@@@@@@@@@@@@@@@@@@@@@@@'''**%%%%+++%%%%%****&&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%++++++;]]~;-%++++++->~]~>;;;-*%++++++-]]]~>>;>;-%+&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&&&&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%======!=!==!!=_))#####################################################))[=======&===&=======}=!__'''''''''@@@@@@@@@@@@@@@@@@''':*%%%%+%+%+++%%***&*&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++-~]~~;;-+++++-~]]>>+-;;--%*++++-]]~~>-+-;;-+%&,",
",&++++++++++++++++++++++++++++-+++++++++++++++++++++++++++%%%%%***&&&&=======+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+&==&&======!=!=!|))#####################################################))|==&==&&======&=======}===}_'''''''''@@@@@@@@@@@@@@'''_%%%%%%+++++%%%%%***&&&&=&===='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++~~~~;;;;-+++>]]]~>-+++----%++++>]~~;-+++-;;-+!,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&*&&&=&====!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+&&&&*}&=======!=!=|))####################################################)))1&=&=*=&=&}&===}============!}__'''''''''@@@@@@@@@@''_*%%%%%+++++%++%%****&&&&&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':+++-~~~;--;;;--]]]]~>-++++-;;--++->~~~;-+++++-;+=!,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&======-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%&&&&&&&&&&&=&=&}====[))#####################################################)):*&&&&&&&&&&&&&===&=======}=====}}_'''''''''@@@@@@'''}%%%%%%+++++++%%%%****&&&&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++>~~>-++--;;>]]]~>-+------;;---~]]~>-+-----+-+*!,",
",&+++++++++-++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&=&====!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{{{(<*&&&&&*&*&&&&&}&=======)))####################################################)))}&&&*&*&&&*=&&=&&&==&==============!}__''''''''@@'''_*%%%%++++++++%+%%%%*&**&&&====!='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++>~~>;++++-;;>~~>;++-+%*---;;;;~]]~>;++-++----%&!,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&&&&=&}====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{{{{<&&*&&&*&****&&&&&&&=====})))####################################################))[&*******&*&&&&&&&=&&==&==&=======}===}=}:_'''''''''_*%%%%+%+++++++++%%%%***&&&&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':;~]~>-+++++-->>;-++-+*&&%+--;;>>~~>;++-*&*++--+*!,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&*&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(<&&&&&&*******&*&*&&&&&====_))#####################################################))|*************&&&&&&&&&&=&===&==============}__'''''&*%%%%%++++++++%+++%*%***&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_~]~>;+----++++++++-+*=!!*%+---->>--++-+&!=&%+-+*!,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&&====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(({{{{{;&*&&*&*&**********&&&&&=&=&=1))#####################################################))1***%***********&*=*&&&&&&&=&==&==&=======&=&&*}:__}%%%%%++++++++++++%%%%****&&&&=&===}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''>]>;+-+++---++++++-+&!!+**+----+++++-+*!!*&*+++*!,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&*&&=&=====*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(-&&&&&*&*******%%******&*&&&===|))#####################################################))2*%*%**%************&&*&&&&&&&&=&===&=&=&=&&&&&&****%%%%+%+++++++++++%%%%****&&&&==}==!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''2>>--+*&++----+++-+%!!+++%*+-;-++++-+*=!&++%*++*!,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&=====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(-*&&*=*&******%**%*%*%***&&&&&=&=|))####################################################)))%%%%%%%%*%************&&*&&&&&&&&&&====&&&&&&*&***%%%%%%+++++++++++++%++%*%***&&&=&====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''';+-+*!!*%++-----+%&!&++++%+----++-++&!!++++%***!,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&&====!+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(-&=*=&&********%*%%%%*%****&*&&&&==)))####################################################)))%%%%+%%%%%%*+**+*********&*&*&&&&&&&&&&&&&&&*&*****%%%%+++++++++++++++%%%%***&*&&&====!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}-+*!!&*&**++++%*&!!++++++%++----++&!!++++++%!=!,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&========({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(+&&&*&********%*%%%%%%%%%*%**&&&&=&=})))####################################################))|%%+%%%%%%%%%%*%**%*%********&*&*&&&&&*&*&&**&****%%%%%+%+++++++++++++%+%%%****&&&=&====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+*!!=++%=&&%*&!!!!*+++++++**+++%*&!!&++++++++%!,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&&&&&====!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+&&&&&&******%*%%%%%%%+%%%%%*****&&&==:)))####################################################))1+%+%++%+%+%%%%+*+**%**%********&**&*&&&&&*&******%%%%%++++++++++++++++%%%%%***&&&&&====!''''''@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&!!&+++++*&!!!!=&+++++++++%&*&&=!!!&++++++++++&,",
",&++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++%%%%*%*&*&&==&=====({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<-&&&*&*********%*%*+%%+%%%+%%*%%**&&&&==1[)#####################################################))2+++++++%+%%%+%%%%%%%*+*%*%********&***********%%%%%%+%+++++++++++++++++%%%%****&&&======_''''''''''''''''@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_!=+++++++++&*++++++++++++++&!!!!*++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%**&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%&&*&&&&*******+**+%+%%%%%++%+%*+}***&&=&=1))####################################################))):++++++++++++%+%+%++*+*%%%*%%*%****************%%%%%%%+++++++++++++++++%+%%%%**&*&&&&=====__''''''''''''''''''''''''@'@'@@@@@@@@@@@@@@@@@@@@@@@@@''_*++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%**&&&&=&==}=!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%*&*&&******%***%%%+%*+%++++%%+%*+*%&*&&&===|))####################################################)))+++++++++++++++%+%%%%%+*+%%%%*%**%*********%%%%%%%%+%+++++++++++++++++++%%%%****&*&&&=&====!!!!!}}____''''''''''''''''''''''''@'@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&=&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%&&&&&&***%*%***%%%%%%%++++%-%+++%%%***&&&&=&=[))####################################################))[%+++++++++++++++++++++%+%%%%%%%%%%%%%*%*%%%%%%%%%%%%++++++++++++++++++++%+%%%%***&&&&&=&&===!!!!=========}}}}____'''''''''''''''''''''''''@'@@@@@@''_-+++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%***&&&&=======&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{(<%&&&*&*********%%%%%%%+%+++++++++%%%*%%&**&&&===)))####################################################))1%%+++++++++++++++++++++++%%+%+*%%%%%%%%%%%%%%%%%%%+%++++++++++++++++++++%%%%%%****&&&&&=============================}}}____'_'''''''''''''''''''''''_++++++++++++++++++++++++++++++++++++++++++++&,",
",*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%%**&*&&&======<{{$$$$$$$$$$$$$$$$$$$$$$$$$$(({{{{(<*&&&*&&*******%*%%%%%+%+%++++++++++++%%%***&&&&==}))#####################################################))2+++++++++++++++++++++++++++%%%+%%%%%%%%%%%%%%%%%+%++++++++++++++++++++++++%%%*%****&&&&&&&=&=&==&====&==&=====================}}}}____'''''''''''''''++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%*****&&&&======*{{{$$$$$$$$$$$$$$$$$$$$$$$${{{{{(<&&&&&*&*****%**%*%%%%%%+%%+++++++++%+%+%%%&***&&&=&2)))###################################################))):-++++++++++++++++++++++++++++++%+%%%%%%%%%%%%+%%+%++++++++++++++++++++++%%%%%%%******&&&&&=&=&=&=&&====&==&=&&&==&===============&==&=&&&}}::____'''}++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%**&*&=&=====!({{($$$$$$$$$$$$$$$$$$$$({{{{{(<*&&&&*&*********%%%%%%+%++%-+++++++%-%++*+*%***&&&==&_))####################################################)))%%+++++++++++++++++++++++++++++++++%+%+%%%+%%+%+++++++++++++++++++++++++++++%%%%*%**&**&&&&&&&&&&&&=&&&&&&=&====&===&====&=&===&====&=&&&&**&%*%%%%+%+++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&=}=!=+{{($$$$$$$$$$$$$$$$$$(({{{{(-**&&&*&*******%%%%%%%+%+%++++++++++++++++%+**+**&*&&&==|))####################################################))|++++++++++++++++++++++++++++++++++++%+%+%%%++%+%++++++++++++++++++++++++++%%%%%%%***%&&**&&*&&&*&&&&&&&&=&&&&&&=&=*=&=*=&===&==&====&=*=**&*%**%%%%+++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%**&&&&=======({{$$$$$$$$$$$$$$$$({{{{{(-&&&&*&*&*****%*%%%%%%%+%%+++++++++++++++++++%%%****&&&=&=|))####################################################))|%%+++++++++++++++++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++%%%%%%%&%***&*&**&&&*&&&&&&*&&&&&&&&&=*=&=&&=*=&=&===*==*=*&*&***%*%%%%+%++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&&&&=&====!<{{($$$$$$$$$$$$$({{{{{(-&*&&*&&*******%*%%%%%%+%++++++++++++++%++++++%%%%****&&&===)))###################################################)))2%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%%&%&****&***&*****&*&*&*&&&*&*&*&*=*=*=*=*=*=&&=*=*&****%*%%%%%+++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%*****&&&=&====!{{{$$$$$$$$$$$({{{{{(+&&&&*&&********%%%%%%%%+%++++++++++++++%-++++++%+%****&&&&&==)))####################################################))2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%*%**%&****&******&**&*&*&*&&&*&&&&&=*=*=*=*&&=&&*&*&****%*%%%+%%+++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++%%%*%**&&&&=======<{{($$$$$$$$({{{{{<-&*&*&*&*****%*%%%%%%%%+%+++++++++++++++++++++++++%+*%%&&*&&==&:))####################################################)))+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%%%%*%****%******************&********&*&*=*&*&&*&****%**%%%%%+++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%*****&&&&=&=}==&{{{$$$$$$({{{{{<+&&&*&&*&*******%%%%%%%+%+++++++++++++++++++++++++%+%+*+****&&&&&_)))###################################################))[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%%%%%%%%*%*****%***************************&**&******%%%%%+%+%+++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=======<{{($$$({{{{{<+*&&*&*&*******%%%%%%%%+%++++++++++++++++++++++++++%%%%%****&&&&&==1))####################################################))|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%%%%%%%%%%%%%%*%**%*****%******%********************%%*%%%%%++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*****&&=&=====*{{{$({{{{{<%&&&*&&*&*****%*%%%%%%%+%+++++++++++++++++++++++++++%-%++%%%***&&&&==|))###################################################)))1%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%+%%%%%%%%%%%%%%%%%%%%%%%%*%*%*%*****%***************%**%%%%%+%%++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&&=======({{{{{{{<%=&&*&&*&**&%**%*%%%%%%%++++++++++++++++++++++++++++++++%+*%****&*&====[))####################################################)):-%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%+%+%%+%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%*%**%******%**%%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&&==&==-{{{{(<*&&&*&*&*****%**%%%%%+%++++++++++++++++++++++++++++++++++++%+%%****&&&&&=)))###################################################)))%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%+%+%+%+%%%+%%%%%%%+%%%%%%%%%%%%%%%%%*%%%*%*%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%******&&&=&===&=<{(<*&&&*&*&****%**%%%%%%+%+%++++++++++++++++++++++++++++++++++++%%%%**&&&&&==:))####################################################))[+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+++++++++++%+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+%%+%+%+++++++++++-;;>>>;;;;;-+++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++%%%%%****&&&&&&=&=&=**&&&*&&*******%*%%%%%%%%+++++++++++++++++++++++++++++++++++++++%%%*****&&&=&:)))###################################################))|+%++++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%+%%%%%%%%%%%%%%%%%%+%++++++++++++->]]~~~~~~~>~>>-+++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;~~>-*%+%%*%***&*&&&&&&&=*=*&&&******%**%%%%%%%%++++++++++++++++++++++++++++++++++++++++%%%+*%**&&&&&==_))####################################################))1++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+++%+%+%%%%+%+%+%++++++++++-~]]]]~~~~~~~~~>>>;;-++++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-]]]~>&&+%%%%******&*&&&*=*=*&&********%*%%%%%%+%++++++++++++++++++++++++++++++++++++++++%-%%%*%****&&&==|))####################################################))2%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----;;>;;;;;;;;;;;;;;;;;;>>;>>+++%++%+++++++++++>]]]]~~>>>;>;>>;>>>>>>;+++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-~]]]~;*!*+%+%%%*%****&*&*&&*=*********%*%%%%+%+%++++++++++++++++++++++++++++++++++++++++++++%++****&&&&&==|))###################################################)))%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~~~~]~~~~~~~~~~~~~~~~~~~~~~~~~>+*++++++++++++++-~]]]~~>;-+-++-+---;;>>>;-++++++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->]]]]~;%&!+++%%%%**%******&**********%*%%%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++%+%*%%***&&&===[))###################################################)))+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~]]~]~~~~~>~~~~>~~>~~>~~~~~~~~>-*=+++++++++++++-]]]~~>-+++---+-------;;>;--+++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++;]]]]~>;+*!=+++%+%%%%*%*%*************%*%%%%%+%+++++++++++++++++++++++++++++++++++++++++++%+++++%%%****&*&&&==)))###################################################))|%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;~~~>>>>>>>>>>>>>>>>>>>>>;>>>;;-*==++++++++++++-~]]~>;-++--++%+%%+++---+-;;-+*+++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++++-;]]]]~~>;+*!!%++++%+%%%*%***%**********%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++%-+++%+%+*+**&*&&&==:))####################################################))1%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->>>;-----------------------+--*&!%++++++++++++>]~~>-++--+%&&&!==&&*++----;-+*+++++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++++++++-~]]]]]~>;--%&!&+++++%%%%%%%%%%**%*%***%%%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++%%%***&*&&===:)))###################################################))2%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;--++++++++++++++++++++++++-*&!!++++++++++++>~~>>-++-+*&!!!!!!!!!=*%+--+---%*++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++--]]]]]~~>;-+-%&!!++++++++%%%%%%%*%%%**%*%%%%%%+%%++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%****&&&&==1))###################################################)))%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++--+++++++++++++++++++++--%*!!++++++++++++-~~~>-++-+*&!!=*+++++*&!&+------+*%+++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++++++++++-;>]]]]]~~>>-++-+&!!+++++++++%+%%%%%%%%%%%%%%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&==|))###################################################)))+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%***%+--++++++++++++++++++-+%*!!*++++++++++++->~>;++-+*&!!*++++++++++&*+---;--**+++++++++++++&,",
",&+++++++++-+++++++++++++++++++++++++++++++++++~]]]]]~~>>--+++-+*!!*++++++++++%+%%%%%%%%%%%%%+%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&=&=[))###################################################))[%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*!=*%---++++++++++++++++-+*=!!&+++++++++++++;>>>-++-*=!!+++++++-;-++%*%+-;---%&+++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++>]]]]~~~>>--++++-+*&!*+++++++++++++%+%%%%%%%+%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*%**&&&&===[))###################################################))1++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&=*+---++++++++++++++++%=!!*++++++++++++++>>>;++-%*!!++++++;~]~];-+%=%-----+&*++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++;]]]]~~>>;-+++++++-+*!!+++++++++++++%+%+%+%++%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%%**&*&&&&=}))###################################################)))2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%&%+-;++++++++++++++--*==+++++++++++++++->>>-++-%=!++++++>]]]~~;+&+++-;;--%*&++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++-~]]]]~>--++++++++-++&!!+++++++++++++++++%+%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-*+%%%****&&&&==:)))###################################################)):++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%-;;++++++++++++++--++%+++++++++++++++->>>-+-+%=&+++++-~]]~>;-*!++-->;--+&&++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++-]]]]~>;-++++++++++-+&!!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&&=*!1))###################################################)))%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>>++++++++++++++--;--%++++++++++++++->>>++-+%!*+++++~~~>>--*&!+%-;>;+-+&=++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++++>]]~>;-+++++++++++-+*!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%++%%*%**&&&&&==1))###################################################))[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>>;+++++++++++++++;;;--%+++++++++++++;;>;++-+*!%++++-~~>;-++&!&++-;;;--%&&++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++;~~>>-+++++++++++++-%=!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-++%%%*%***&*=&==|))###################################################))|%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~>;++++++++++++++++-;;-+%++++++++++++;>>;++-+*!++++-->>>--+*!!+++-;;;--*&=++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++-~~~>-+++++++++++++--*&=++-++++----;;--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%***&&&&===[))##################################################)))2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->~>>++++++++++++++++++-;--%%+++++++++++;>>;++-+*!+++++->>;---*!*+++->>;-+*!*++++++++++++&,",
",&++++++++++++++++++++++++++++++++++++~]]>;++++++++++++++--+-;~>~>>>~~~~~~~~>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&*=*==)))###################################################)):+++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~>;++++++++++++++++++--;-+*++++++++++-;>>-++-%&!+++++-;>;+-+*=++++>~>;-%&!+++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++>]~~;-+++++++++++++++-;;~~~~~~~~]]~~~~>>-*%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%***&&&===:)))##################################################)))++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~~>+++++++++++++++++++++;--%*++++++++++-;;;+--%&=+++++-;;;+---%+--~~~>;+%=!+++++++++++++&,",
",&++++++++++++++++++++++++++++++++++;]]~>-++++++++++++++++-;>~>~>~>>~>~>>>;-+*=*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%**&*&&*==:)[###################################################))[%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-~]~>-+++++++++++++++++++++-;-+*++++++++++-;>-++-%&&+++++-;;;----;;>]]]~>-+*!*+++++++++++++&,",
",&+++++++++++++++++++++++++++++++++-~~~>-++++++++++++++++++--;;;;;>>>;;---%&&!!++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-*+%*****&&&===1))###################################################))|+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>~>;+++++++++++++++++++++++--+%*+++++++++-;;;+-+%&&++++++------;>>~]~~>;-+&!++++++++++++++&,",
",&++++++++++++++++++++++++++++++++-~]]>;+++++++++++++++++++++++++++++++--*&!!!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-%+++%%%***&*=&=&|))##################################################)))1%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>>++++++++++++++++++++++++---%*+++++++++-;;;+--+*&+++++*%+---+;;>~>>>--+*!!++++++++++++++&,",
",&++++++++++++++++++++++++++++++++>]~>;+++++++++++++++++++++++++++++++-+*&!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%****&&&===[))###################################################))2%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;;+++++++++++++++++++++++++;-%&%+++++++++-;;+---+%%+++++*+---+++-;----+*=!*++++++++++++++&,",
",&+++++++++++++++++++++++++++++++;~~~>-++++++++++++++++++++++++++++++-+*&!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+****&&&=&=[))##################################################)))%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++--%&*++++++++%+-;-+;--+*++++++*+---------+%*!!=+++++++++++++++&,",
",&++++++++++++++++++++++++++++++-~~~>-+++++++++++++++++++++++++++++-++&=!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*%*****&&&==})))))#)##############################################))[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>;;+++++++++++++++++++++++++--%&*+++++++++%-;;++;--+%+++++*%+%++++++%*=!!=++++++++++++++++&,",
",&++++++++++++++++++++++++++++++;~]>;+++++++++++-++++++++++++++++--+*&!!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+++%%***&&&&==}|))))))))))#)########################################))|+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++-+%=&+++++++++%--;-+-;-++%+++++&=&*&***==!!!&+++++++++++++++++&,",
",&+++++++++++++++++++++++++++++-~~>>+++++++++--+---++++++++++++--+%*&!!&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&==}||)))))))))))))))###################################))1+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>>-+++++++++++++++++++++++++--%=&+++++++++%+-;-++;;-++++++++&!!!!!!!!!*+++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++>~~>-++++++++-+*+*+--+++++++++--+**&!!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%+*%***&*&&&=====!}:_||[))))))))))))))#)###########################))2%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>;-+++++++++++++++++++++++++-+*=*++++++++++%--;++--;--++++++++%**&*&%+++++++++++++++++++++&,",
",&+++++++++++++++++++++%%+++++-~~~;-+++-+---+*&!&%+---+-+---++**=!!!&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%***&&&&&&=========!==:_1|[)))))))))))))))#####################)))%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;-+++++++++++++++++++++++++-+*!+++++++++++%+-;-++-;;--+++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++--;-+-~~~>-++--++++%*&!!!&+++-+-++++**=!!!&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%******&&&================!==}:_||))))))))))))))))##############)))+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%--;+++++++++++++++++++++++++-%&!++++++++++++%+-;-++-;;;;--++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++-;~]]>>>~~~;+-++%%*&==!!!*+&&**%%***&!!!!!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*%**&*&&&&}=====================!}:_||[))))))))))))))#)#######))|%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+;;-++++++++++++++++++++++++-%&!++++++++++++%++---++-;>>;;---+++++++++++++++++++++++++++++&,",
",&++++++++++++++++++;~]]]]~~>~]~;--+**=!!!!!!&++++&&=!!!!!!!!&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%*&*&&&&&&&===&=======================!:_1|[)))))))))))))))#)))1+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+--;+++++++++++++++++++++++-+%!&++++++++++++%*%+---++-;;>>>>>;;+++++++++++++++++++++++++++&,",
",&++++++++++++++++-~]]]]~~>>>~~>--%*=!!!=&*++++++++*&!&&=&&%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%**%*&*&&&&&&&&}===}===&===================!==}_11[[))[)))))))))2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+---++++++++++++++++++++++-+&!%+++++++++++++*&*++-;+++-;>>>>>>>>;;--+++++++++++++++++++++&,",
",&+++++++++++++->~]]]~~~>>--;;;---%&!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%*%****&*&&&&&&&&&&&&&==}==========&=================}:1||[)))))):%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%+---+++++++++++++++++++++-%=!+++++++++++++++*&*++--+++-;;>>>>>>>~>>>>;--++++++++++++++++&,",
",&+++++++++++-~]]]]~~>>--+++++++-+%!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%**%***&&*&&&&&&&&&&&&&&&&}&==&===}=======}=========&&&&&*%:21|%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%---+++++++++++++++++++-+*!&++++++++++++++++%=*%++--++++-;;>>>>>~>~>~>>>>;-++++++++++++&,",
",&++++++++++>]]]]~~~>-++++++++++-+*=*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++++++++++++++++++++++++++++%+%%%%%%**%***&*&&*&&&&&&&&&&&&=*=&}&&=&&==}&&==&=====}=&&&&*&*&%**%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%&%+---+++++++++++++++++-+%=!%+++++++++++++++++%&&%%+---+++++-;;>>>>>>>>>~>~;;+++++++++++&,",
",&+++++++++%;~]>>>;--+++++++++++--%=*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%******&&*&&&*&*&*&&&*&&&=*&&&&&=&&&==&==&==&=&&&&&&&****%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%&%%+---++++++++++++++-+%&!=++++++++++++++++++++=!**+++---++++++--->;>>>>~>>;+%+++++++++&,",
",&++++++++++->>>;+++++++++-+++++-+%&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*%****%&*****&*&&&*&&&*&*&&&&&&&&&&&&==&==&==&&&&&&*&**%*%%%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%=*%++--+--+++++++-+-+%*!!++++++++++++++++++++++%==&*%++---+++++++++--;;>;>-+*+++++++++&,",
",&++++++++++--;;+++++++---+----+--+&&++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++;-+++++++++++++++++++++++++++%+%+%%%%%*%***%*%&******%&*&*&*&&&&*&&&&&&&&&&&&&&&&&&&&*&*&%**%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%=&*%+++++---+---++*&=!!*++++++++++++++++++++++++&!=&**%++----++++++++++--+*!%++++++++&,",
",&++++++++++%+-;-+++++-+*+*%++----+*=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%->>>-+++++++++++++++++++++++++++++%+%%%%%%%*%***%*%****************&*&&*&&&*&*&&&&&&&&&&*&**%**%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&=****%%%%+++%%%&=!!!*+++++++++++++++++++++++++++*=!=&*%++++-------+--++*&!+++++++++&,",
",&++++++++++%%--;+----+*&!!&&*+-;--*&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~]~-&+++++++++++++++++++++++++++%+%+%%%%%%%%%%%*%*******%*************&*&&&&&&&&*&&*&*&*&%**%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%!!!!!==&**&==!!!!%+++++++++++++++++++++++++++++++%&!!=&*%*%%%%%%%%***&!!=+++++++++&,",
",&++++++++++++;>--+++**=!!=!!&+-;-+%=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~~~-*&+++++++++++++++++++++++++++++++%+%+%+%%%%%%%%%%%%%**%****%***************&*&&&*&***%***%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%*&&=!!!!!!!!=%++++++++++++++++++++++++++++++++++++*=!=!===&&======!!!=++++++++++&,",
",&+++++++++++++++%*&&=!!!++++;>>;;-+&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%;~]]>*=*%++++++++++++++++++++++++++++++%+%%%%%%%%%%%%%%%%%%%*%%*%*************************%**%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*&*%+++++++++++++++++++++++++++++++++++++++++++*==!!!!!!!!!!=&%+++++++++++&,",
",&+++++++++++%&%*!!!!!!*+++++>~>;--+**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>++++++++++++++%%;>]]~%&!+++++++++++++++++++++++++++++++++++++++%+%+%%+%%%%%%%%%%%%%%%%%*%**%****************%*%%%%%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++*!!!=&*%++++++->>>----%&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~;*+++++++++++++-;~]~+*!*+++++++++++++++++++++++++++++++++++++++++%++%+%+%+%%+%%%%%%%%%%%%%*%%*%****%***%**%*%%%%%+%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++%*%+++++++++;>>>;-+--+&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;]~+*+++++++++++++;]]~;%==+++++++++++++++++++++++++++++++++++++++++++++++%++%++%+%+%%+%%%%%%%%%%%%%%%%*%*%**%*%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++-~]]~>++--+**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+;;+%*+++++++++++->]]>%&!+++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%+%+%%+%+%%%%%%%%%%%%%%%%%%%%+%++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++>~~~>-++---+*%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;-%&++++++++++%->~>-*!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%+%%+%%%%%%%%%%%+%%+%++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++-~~>>;++++---+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;-%*+++++++++++;>>;*&!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%+%+%%+%%+%+%%+%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++~~~>-+++++-;----++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;+*%++++++++%->>~+*!%++++++%%++++++++++%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%%%%++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++;~~~;+++++++--;;;--++++++++++++++++-+-+--------++++++++++++++++++++++++++++%--;%%&+++++++++;~~>%&=++++++++;~;+++++++-;;;++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++--;-++++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++;~>>-+++++++-;;>;;;-;--+-+---;-;;>~~~~~~]~~>~~>>-+++++++++++++++++++++++++++%-;-+%%+++++++->~~;*=*++++++%-~]>;+-;;;>~]~>-%+++-+-++++++++++++++++++++++++++++++++++++++++++++++++;>~~~>>+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++;>>;++++++++++;;>>>>>>>>~~~~~~~~]]~~~~~~~~~~~~~>;-++++++++++++++++++++++++++%;;;-%*+++++++;>~>+*!++++++++-;]>;;~~~]]]]];**++++>>;;;+++++++++++++++++++++++++++++++++++++++++++->]]]]]~>;%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++;;>-+++++++++++-;;;>~>~~~~~~~~~~~~~~~>>~>~>~>~>>>--*++++++++++++++++++++++++%+;;;%&+++++%-;~~;%&&++++++++;>>>;>~~~>;;+*=!%++++;>~>>;;++++++++++++++++++%++++++++++++++++++%+++~]]]]~>>;;;%%+++++++++%+++++++++++++++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++->;;+++++++++++++-;>>>>>~>~>>~>>>>>;;;;;------;;;;---+++++++++++++++++++++++%+-;-%&+++++++>>>-*!%++++++++>~>>-%*&====!!!%+++++;>>~>>>++++++++++++++++++;--++++++++++++++++++%;]]]>;---;;;-%%+++++++-;;+++++++++++++++;;>>;%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++->;;++++++++++++++++---;;;;;;-----+++++++++++++--;;;;--++++++++++++++++++++++%--;+**++++%;>~>%*!++++++++->~>-%&!!====*%+++++++;>;;-;;;+%+++++++++++++;~]~>>*+++++++++++++++%;>~~>-%%*%+;;;-%%%++++%;~~-%+++++++++++%;]]~~;*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++--;;+++++++++++++++++++++++++++++++++++++++++++++;;>;>;++++++++++++++++++++++%+-;+%*+++++-;>;*&&++++++++->>>%&!&+++++++++++++->>;*&&%;;-++++++++++++~]]]];&&++++++++++++++++>~]>%*=!!*%%-;;%&+++++->~~;%%%++++++++++>]]>+&!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++;;;++++++++++++++++++++++++++++++++++++++++++++++-;>>--%++++++++++++++++++++%%+;-+*%++++->>-%!%++++++++->>;%&=++++++++++++++;>>-*!!%-;*=++++++++++>]]-*&=!%+++++%+;>%+++++;~]>-*!!&*=&*---%*%++++;~~>-+%%+++++++++-~~;*!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++-;;;-+++++++++++++++++++++++++++++++++++----+---+++--;;--*++++++++++++++++++++%+;--%%++++;>>-*!+++++++++->;;%=&++++++++++++++;>>+*!*-;+&=%+++++++->]>=!!!=%+++++++;~%&+++++;>~;%&!%+++**%-;+%*%++;]]~;;;-%%++++++++>~>%=!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++-;;-++++++++++++++++++++++++++++++++++-++%%*%---++++-;-+*%+++++++++++++++++++%%-;-+*%+%;>]>+*=+++++++++-;>;++-++++++++++++++;>>+%=-;;+&&++++++%->]]=!*++++++++++-~;!%++++++;;-%!&+++++%*-;+%=+++;>]>;;;-+*++++++%->];&!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++--;-+++++++++++++++++++++++++++++++---++&===*++--++++---+%++++++++++++++++++++*+;--%*++;>>;%&&+++++++++-;;;;;;;;>;;--+++++++;;>-%-]]]%=*+++++++-]]%!%++++++++++;~]*=+++++++;>%&!%++++++->>+*=%++->>;;;;;-%*++++++->>%&!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++%%+---+++++++++++++++++++++++++++--+++%%*!!!!=*++--+++-;--+%+++++->;%++++++++++%%-;-%&++->>-%!%++++++++++;>;;>;>>]>~>~++++++%;>;;;>]]-=!%+++++++-;>%=%++++++++++]]>&&+++++++;;%==+++++++-;;+&=+++->>-++-;;%&++++++-;>%&=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++**%+---++++++++++++++++++++++++-+%%*&&=!!*++*=*+---+++--;--%++++>~>%%++++++++++%+--%*%+;>>%&!+++++++++++;;;;;-;;>>>~>+*+++++;>;;;>>;*!*++++++++;;>+**+++++++++;>];*&++++++;;>*=&+++++++%-;%&=++++;;%**%--+%%+++++->;*=&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++=&*%---+++++++-----++++++++++-+*&=!!!!!*++++%&*+---++--;;-++++;]~-%&++++++++++*%--+*%%>>>%=&++++++++++%-;;-+**&&&%+*=&+++++;>>--;;+*!+++++++++;>>+*&+++++++++;>>+&=++++++->>%&*+++++++-;>%&=+++-;;&==%--;-%%+++%->;%!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++&=*+--++++++-+%%+--+++++-+--+*!!!=&*%++++++++*+---++++-;;-+->]]~-*&+++++++++++*%--->>]>;*=%++++++++++%-;>-%=!!!!!=!!%+++++>>>-%+;+%*-%+++++++;>>-%*+++++++++;>;+&&++++++;>;%=*++++++%;>>%=&+++-;;*!&*+---+%%++->>;*!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++++++++++++++++++**-;>+++++-+%&**+------+-++*=!=%++++++++++++%%-;;++++--;;>>]]~;%=!+++++++++++%*-;>>~]~-*!+++++++++++%-;;-%=&+++*&&+++++%->>;;;-;-;;;;;;-++++->;--+*++++++++;>;%&&++++++-;;%=*+++++%->>;*=*+++;>;%=**%+-;--+%+->~-*!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++->>---;++++++++++>;;-++++-+*!!=%+%++%%***%*==++++++++++++++++-;;-++++--;>>~>;+*!&++++++++++++%+;;;>~>%*=++++++++++++-;;-*=%++++++++++++-;>;++++;;>>>~>>;-+++%%--%&++++++++;>;%&&++++++-;;+-+%+++++;~~;*!%+++;;;%&*+*%+-;;;%%;~>+&!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++>]]~>;+**%%+%++++->>>++++-+%&!*&*&&&&=!!=!&%*++++++++++++++++-;>;++++++-+++-+%*!!+++++++++++++%%;;;-;-%&&+++++++++++++-;-%=*++++++++++++-;>+*&**%++->~>~;;;+&=%%-+**+++++%-;>;%=*++++++-;;;;+%++++;~~~+&!++++;>;+**++&*%-;;->~~>%&=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++-~]]>+=!%*%%%+++-->>>;++++-+&!!++&!!!!!!===&+-;>>>-*++--;;++++;>>;-++++-%*&=!=!!!*++++++++++++++%+;;---*=*++++++++++++%+;;---++-;--+++++++;;%=!!!*&*&%+-;;;;>*%&-;+%*++++++->>;%=*+++++++;;;---++->~]];*!&++++;>;%&=+++&*%-;>>]];%&=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++;>~>-%!*-;>;;>>~~~]~>;++++-%&!%+++++*%%+++++;;>>>+=*+>]]~>----~~>;++++-+%!!!!!=!*+++++++++++++++%+-;;-+*!+++++++++++++%%+-;;;;;~]>*+++++++;;+**%*=!!!&***&&*!=+;>>-%*%+++++-;>+%!%++++++%%+-;;;->~]]]>+&!%++++;>-&!*++++&*+-;>~>+&=&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++;>;;+%&*->~~~~~~]]~~;-+++-+%==+++++++++++++;>~>-*!=%>]]]~~;>>~]~~-++++-+%==%++++++++++++++++++++%*%+-+%==++++++++++++++*%--;;>~]]-&%++++++-;;%=++++++&!!!!!!&*~]]>%*!++++++-;>+*!++++++++&*%+-;>~~]]>%&==+++++>>*&!++++++*%%+;;+*!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++-;;+%%=*--;;-;;;-;-+++---+%&!&++++++++++++;]]>+*!!+>]]>;;-->>]]>;-------%&*++++++++++++++++++++++**%**&!%++++++++++++++%*+%%++--%=!+++++++-;+&=+++++++++%%+++>]]~;*==+++++++--*==+++++++++&&*%+;>>>+*=!!%++++++%=!&+++++++&&%++%&!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++%-%&==&*&%%*&&***&==*+%%+*&!!%+++++++++++->>-+%&!+;~~-+%*%%++--+++++++++*!*+++++++++++++++++++++++*=!!!&++++++++++++++++%=&=&&==!!%++++++++%&!&++++++++++++++;~;+%&!%++++++%&&!!%++++++++++*=&*%*%%&=!=+++++++&!!&+++++++++*&**&!=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++%*!!!!!=%&!!!!!!!!!!!&==&=!!%++++++++++++**&=!=!!+;;*=!!=!===&&&&******&=!%++++++++++++++++++++++++%%*+++++++++++++++++++%&=====&%++++++++*!!&+++++++++++++++-*&=!!&++++++++%&=%++++++++++++%&=&==!!!%++++++++++++++++++++++*=!!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&++++++++++==**++++%*&*%%&&*%+*=!!!!!+++++++++++++++*!==!=++*!!!!====!!!!!!!!!!!!!!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&=!==*+++++++++++++++++++++++++++%&===*++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++%%++++++++++++++++++++++++%*%+++++++++%%*&&*&&*&%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,",
",&+++++++%++++++++++++%+++++%++++++++%+++++++++%+++++%++++++++++++++++%+%+%+++++%+++++%++++%+++++++++%+++++++++%+%+++++++++++++++++%+++++%++++++++%+%+++++%+%+%++++%+%++++++%++++++++++++++++%+%++++++%++++++++%+++++%+%+++++%+++++%+%+++++++++%+++++++++++++++++%+++++++++++++++++++++%+++%++++%+%++++++++++++++++++++++++%++++++++++++%++++%+%+%+++++%+%++++++++++++++++++++%+%+%++++%+++++++++++++%+++++++++++++++++++++++++++++++++&,",
",==&&&=&&&&=&&&=&&&=&&&&&=&&&&=&&&=&&&&&=&&&=&&&&&=&&&&=&&&&=&&&=&&&=&&&&&&&&&=&&&&=&&&&=&&&&&=&&&=&&&&&&=&&&=&&&&&&&=&&&=&&&=&&&=&&&&&=&&&&=&&&=&&&&&&&=&&&&&&&&=&&&&&&&=&&&&=&&&&=&&&=&&&=&&&&&&&=&&&&=&&&&=&&&&=&&&&&&&&=&&&&=&&&&&&&=&&&&=&&&&&=&&&=&&&=&&&=&&&&=&&&=&&&=&&&=&&&=&&&&=&&&&=&&&&&&=&&&=&&&=&&&=&&&=&&&=&&&&=&&&=&&&=&&&&=&&&&&&&&&=&&&&&&=&&&=&&&=&&&=&&&=&&&&&&&&=&&&&=&&&=&&&=&&&&=&&&=&&&=&&&=&&&=&&&=&&&=&&&=&&&!,",
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"};

View File

@ -1,3 +1,7 @@
2003-01-11 Angus Leeming <leeming@lyx.org>
* screen.C (SplashScreen): load up banner.ppm rather than banner.xpm.
2003-01-05 John Levon <levon@movementarian.org> 2003-01-05 John Levon <levon@movementarian.org>
* LyXKeySym.h: pass Encoding to getISOEncoded * LyXKeySym.h: pass Encoding to getISOEncoded

View File

@ -86,7 +86,7 @@ SplashScreen::SplashScreen()
if (!lyxrc.show_banner) if (!lyxrc.show_banner)
return; return;
string const file = LibFileSearch("images", "banner", "xpm"); string const file = LibFileSearch("images", "banner", "ppm");
if (file.empty()) if (file.empty())
return; return;

View File

@ -1,3 +1,13 @@
2003-01-12 Angus Leeming <leeming@lyx.org>
* FormFiledialog.[Ch]: initialise and use new static member variables
minw_ and minh_ to prevent the dialog from being shrunk in size.
Shrink too much and xforms crashes :-(
2003-01-11 Angus Leeming <leeming@lyx.org>
* xformsImage.C (init_graphics): turn off support for XPM files.
2002-01-07 Jürgen Spitzmüller <j.spitzmueller@gmx.de> 2002-01-07 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
* FormTabular.C: typo. * FormTabular.C: typo.

View File

@ -180,6 +180,8 @@ public:
// static members // static members
FD_filedialog * FileDialog::Private::file_dlg_form_ = 0; FD_filedialog * FileDialog::Private::file_dlg_form_ = 0;
FileDialog::Private * FileDialog::Private::current_dlg_ = 0; FileDialog::Private * FileDialog::Private::current_dlg_ = 0;
int FileDialog::Private::minw_ = 0;
int FileDialog::Private::minh_ = 0;
// Reread: updates dialog list to match class directory // Reread: updates dialog list to match class directory
@ -389,6 +391,8 @@ FileDialog::Private::Private(Dialogs & dia)
// Creates form if necessary. // Creates form if necessary.
if (!file_dlg_form_) { if (!file_dlg_form_) {
file_dlg_form_ = build_filedialog(this); file_dlg_form_ = build_filedialog(this);
minw_ = file_dlg_form_->form->w;
minh_ = file_dlg_form_->form->h;
// Set callbacks. This means that we don't need a patch file // Set callbacks. This means that we don't need a patch file
fl_set_object_callback(file_dlg_form_->DirBox, fl_set_object_callback(file_dlg_form_->DirBox,
C_LyXFileDlg_FileDlgCB, 0); C_LyXFileDlg_FileDlgCB, 0);
@ -737,6 +741,12 @@ string const FileDialog::Private::Select(string const & title,
fl_set_button(file_dlg_form_->Ready, 0); fl_set_button(file_dlg_form_->Ready, 0);
fl_set_focus_object(file_dlg_form_->form, file_dlg_form_->Filename); fl_set_focus_object(file_dlg_form_->form, file_dlg_form_->Filename);
fl_deactivate_all_forms(); fl_deactivate_all_forms();
// Prevent xforms crashing if the dialog gets too small by preventing
// it from being shrunk beyond a minimum size.
// calls to fl_set_form_minsize/maxsize apply only to the next
// fl_show_form(), so this comes first.
fl_set_form_minsize(file_dlg_form_->form, minw_, minh_);
fl_show_form(file_dlg_form_->form, fl_show_form(file_dlg_form_->form,
FL_PLACE_MOUSE | FL_FREE_SIZE, 0, FL_PLACE_MOUSE | FL_FREE_SIZE, 0,
title.c_str()); title.c_str());

View File

@ -82,6 +82,10 @@ private:
/// ///
static FileDialog::Private * current_dlg_; static FileDialog::Private * current_dlg_;
/// ///
static int minw_;
///
static int minh_;
///
string user_path1_; string user_path1_;
/// ///
string user_path2_; string user_path2_;

View File

@ -442,7 +442,10 @@ void init_graphics()
flimage_enable_tiff(); flimage_enable_tiff();
flimage_enable_xbm(); flimage_enable_xbm();
flimage_enable_xwd(); flimage_enable_xwd();
flimage_enable_xpm(); // xforms can load most XPM files, but will occasionally crash
// with some files created by ImakeMagick's convert program.
// Turn off xpm support for the time being.
// flimage_enable_xpm();
// xforms stores this permanently (does not make a copy) so // xforms stores this permanently (does not make a copy) so
// this should never be destroyed. // this should never be destroyed.