/*
uuuuzzzzzvvrrrrtttllll==l=?=?????>>>>;;;;;::::::~:~~~~~~~~~~~~.~~..~............................................~..~~~~~~~~~~~~~:~:::::::::;;;;;>>>>?????===llllltttrrrrrvvvzzzuuuuuuZZZZZZZZZyyyyyyyyyy
uuzzuzzvvrrtrtttllll===?=????>>>>>;;;::::::~~~~~~~~~~~~~.~..............................................................~~~~~~~~~~~~~~~:::::::;;;;>>>>?????====lllltttttrrrvzzzzuuuuuuuuZZZZZZZZyZZyyZyy
uzzvzvvrrrttttllll====????>>>>;;;:::::::~~~~~~~~~~~~~.~....................`.```.``.```.````````.``..`......................~~~~~~_~~~~~~:::::::;;;;;>>>>?????===lllltttrrrrrvvvzzzuuuuZuuZZZZZZZZZZyyZy
zzzvrrrttttlllll===????>?>;;;;::;::::~~~~~~~~~~~~..................`..``````````````````````````````````````...........---.((JJJ---_~~~~~~~~~::::::;;;;>>>>?????====lllltttrrrrrzzzzuuuuuuuZZZZZZyZyZyyy
zzvrrrtttlllll===?????>>>;;;;:::::~~~~~~~~~~~~................``.```````````.`.```````````.``.``````````````` ....JgwVYY"7<<_____<7T8aJ-_~__~~~~:::::;;;;;>>>????===lllllttttrrrvvzzzuuuuuuuZZZZZZZZyZZy
vrrrrtttllll===????>>>;;;;::::::~~~~~~~~~~~..............``````````````.`````````````````````````````` ..(&ZYY"7!` `````..`.........._?Tm,__~~~~~~~~:::::;;;>>>>???====lllllttrrrrvvzzzuuuuuZZZZZZZZZZZZ
rrttttllll===?????>>>;;;::::::~~~~~~~~~............`..``````````.````````````````````````` ```` ..(dVY"!` ````````````````.``.`.`......._?Wx_~__~~~~~:::::;;;;>>>????====lllttttrrrvvzzzuuuuuuZZZZZZyZyy
tttlllll==?????>>>;;;;::::~~~~~~~~~~............`.```````.````````````````````` `` ``` ``...JVY"!`  ````````````````````.```````.`.`......_?Sx_.~~~~~~~~:::::;;;>>>????===llllltttrrrvvvzzuuuuuuZZZZZZZZ
ttllll===????>>;;;;::::~:~~~~~~~~............```.``.```````````````````` ` ``` `    ..JdY"!` ` `` `       ` ````` ` `   ````.````.``.........?H,___~~~~~~:::::;;;;>>>????====llltttrrrrvzzzzuuuuZZZZZZZZ
tlll===????>>>;;;;::::~~~~~~~~~..~.........``.`` ..``````````````` ` ` `  `    ..JV"7` `  ``  `  `  ` ` `  ``  ` ..gm. `````````````````.`.. --7m_..~~~~~~~::::::;;;>>>????===llttttrrrrvzzzuuuuuuZuZZZZ
ll===?????>>;;;;::::~~~~~~~.~..........`.````.``d#MMmJ,. ```` ` ` ` ` ``` ..JVY^`       ``  `  `  ` `  ``   ` .JHB=_M]```````````````.```.``_._ (N,._.~~~~~~~~:::;;;;>>>????===llllttrrrrvzzzzuuuuuZZZZZ
====????>>;;;;::::~~~~~~~~..........`.````````  MD++?vTHNg,.   ` `    .(dY=``  `           ` `       `  `  .&M9!....JN   ` ````````````````.`.`. _Ue_..~~~~~~~~~::::;;;>>>???====llltttrrrvvzzzzuuuuZZZZ
l==????>>;;;::::~~~~~~~~.........```.````````  .MC+????>?zTMNJ.`  .JV"!      `     `    `     ` ``` `   .+HY!_......(M;` `  ````````````.```````_  ?m_._...~~~~~~::::;;;;>>>???====lttttrrrrvzzzuuuuuuZZ
=????>>;;;;::::~~:~~~~~.........`..`````.``````.Mz>?>??>??>?+7HNND! ````      `      `   `      ```  .JMY!.......... db ` ` ` ` ````````````.```.`. ?h-....~~~~~~~~::::;;;>>????===llllttrrrvvzuzuuuuuuZ
???>>>;;;::::~~~~~~~~.........```````````````` .N<<???>?>??>?>?+?TNa,  `  ``               ``  `  .JH9!___...........,M, ` ` ` `   ``````````````.``.(N....~.~~~~~~~::::;;;>>>???===lllltttrrrvzzzzuuuuu
??>>>;;:::::~~~~~~~........`````.`````````  ` `d@>>?>>>>?>>??>?>?>>OTNa,  `  `   `            `..HB>-..............._-db` ``  `  `  ``````````.````.` (M,__-.~~~~~~~~::::;;;;>>????===llltttrrrvzzuuuuuu
?>>;;;::::~~~~~~~~........````.````````````    MD>?>??>??>>>?>>?>??<>+vHNa.`` ` `  `` `  `   .d#=_..................__.M;`  `  ` `      `````````````` .W,`.....~~~~~~~::::;;>>>????===lltttrrrvzzzzuuuu
>>;;;::::~~~~~~~........`.`.``````````` ` ` ``.#$??>?>?>>?>>>>>>>>>??+>>+7TNJ.      `   ` .+HY!.............`..`....__.dN    `  ` ` ` `   ` ````````````-H, ....~~~~~~~~::::;;;>>>??===lllltttrrvvvzzuuu
>;;::::~~~~~~~~........```````````` ``  `    .JMI?>>>?>?>>?>?>?>>>>>>>>?>><>7HNJ.       (H9!...............`...........-M[`  `      `  ``  ` ` `````.```..N........~~~~~~~:::;;;>>>?====llllttrrrvvzzzzu
;;;:::~~:~~~~........````````````` `` `` `.JY^(M??>>?>>>>>>?>>>??>?>>>>>>>>>?>?7MNJ.`.JM=_.-..................`.........?N.   `  `   `  ` ` ` ` ````````  ,N__. ..~~~~~~~~~:::;;;>>????===llttttrrvvzzuu
;::::~~~~~~~.......`.```.```````` `   `.-Y^   ,#??>??>>??>>>>?>>>>>?>>>>>>>>+>?+<+THMMI(JJJ+gggggggg+JJ---...............Hb    `          `  ` `` `````` ``(b.-.....~~~~~~~:::::;;>>???====lltttrrrvvzzu
::::~~~~~~...~.....``.`````````   ` .(V= `  ` J#>>>>>?>?>>?>>>>>>>>>?>>???><<+ugggNMMMMMMMMMMMMNMMMNMMMMNMNmgJ.-....`....(M, `     `  ` `  `  `  ```````````?L  ......~~~~~~::::;;;>>???===llltttrrvvzzz
::~~~~~~~........`````````````  ` .V=`  `  `  db>??>>>?>>>>>>>>?>?>>>>>>+uggNMMNMMNMMMMBYY""77777777TTWMMMMMMNNMNa.-....._qN` `     `    `  ` ` `  ``````````d[`.......~~~~~~~:::;;;>>???===lllttrrrvvzz
::~~~~~~.~.......```.```````   .JY!  `       `MD>>?>>>>>>?>>?>>>>>?>+ugMMMMMMMMHY=<~_....................._?THMMNMNMNg.__..M]` ` `             ` `  ` ``````` W,.......~~~~~~:~:::;;;>>???==llllttrrrvvz
~~~~~~~........``.````````` .(Y^`  `  `  `  ` #$>>?>??>?>>>>?>?>+ugNMMMNMMBY<_................................._7WMMNMMNa._-N. `      `  ` ` `  ` `` `  ````. .N.`.......~~~~~::::;;;>>????===lltttrrrvz
::~~~~........````.`````  .d"``           `` .#I>>?>>?>>?>?<<>ugMMMNMMB=~......................................._..?TMMNMNNedb    ```  `  `   `  `  ` ```````  /b. .....~.~~~~~~::::;;>>>??===lltttrrrrv
:~~~~~.~....````.````` .(@^ ``       `      `.MI>>>>>>?>+>>ugMNMNM#Y!.....................`..`..`..`..`..`..........-._TMNNMNMp  `   ` `  `    ` `  `` `````    d/  `....~.~~~~~::::;;;>>???===lltttrrrv
~~~~~......`.``. `   .JY``` `` ``      `    `.Mz?>>>?>>>+gMNMNM#Y~.............`...`..`.....................`............?TMMMMNMMHgHmmg+J...... `    `  ` `````.N.`......~~~~~~::::;;;>>???==llltttrrrv
~~~~......`.``.``` .d" ` `       `  `   `    ,M<>>??<+jgMMMNMY~_........`..`..`.........`..`..`...`....`......`..`........_-?MMNNNm+?>++zzOTTTWHMMHQgg+-..... `` (b`.`......~~~~~~:::;;;>>???==llllttrrr
~~~.......`.`.`  .V=``  `   `           ` `` ,M<>>><udMMNMB>.....................--.................`....`....................?WMMMMm+>?>>??>>>>?>>?>+1zTTTWMMMHmaMg-..-...~.~~~~~::::;;>????===lllttrrr
~~..~....`.`   .X^ ` `  `  `  `            ` ,M?<+jdNMMM9!..............`...`...--W-.`...`_-_....`...`.....`...`...`..........._(TMMMNm+>>>?>>>>>>>>??>>?>>?????=1zOTTHM<...~~~~~:~:::;;>>>>??===llttrrr
~....... _ . .d=`` ``` ` `       `      ``   -M>+dMMNM9!............`....`.....`_ (h_._-.(MMNm,........`.....`.......`............?WMMMNe>>??>>>???>?>>?????????????zuMF....~.~~~~~~:::;;>>???===llltttr
~~.......  .Jt  ` ` `   ` `  `     `    `   .-NjMMMM#!-.......`..`....`.........__.(h..-.MMMMMMe_.-.......`.....`......`........_...?MMMNNc+?>?>>>>?>>?>?>>?????????jdF_.....~~~~~:~:::;;>>>???=lllltttr
~...___` .(D``````` `` `  ``` ```  ...(gkHHBYHMNMMM3......................`..`......?h,._MMMMMMMN,-..`............`......`..........._7MMMMm?><?>>>>>>?>>??>>????1?zd#` ......~~___~:~(++++<?+====lltttr
~..... `-V!``````  ` ` ``  `...JgWHBY=!_.....dMMM#!......`..`..`..`..`..............._?S+JNNMMMMMMe_...`...`..`.....`......`........._.(WNNMNx>>>?>??>>???>???>?111d@N_ .`.....~-(JgWHH9UVHNx?1===lllttr
.......Jt`` ``````    ..(gWMBY=!..........--dNMM@~.-...................`..`...`.....-..__~MMMMMMMNMp___...`.....`.....`......`...........?MNMMs<<>>??>?>>??>?????udF d[ .. -(JgW9Cz?==lltttOMmz1==lllttr
~....(B! .   ` ..(ggMBY7!_..............__.dNMMD_~........`..`...`.........................MMMMMMMMMp..............`....`......`..........(MMMMR<>?>>>>?>?>>????uMD` ,b.-JYY^__++??===llllttwTNz==lllttt
___-dt . ..(gHH97>~.-...................--dMMM$..._..-.............`..`..`..`....`......_..(MMNMMMMMML_.....`..`.........`..`.............._WNNMN+>?>?>??>>???>uMt..Jd9=~.....~_<?=?==llllttOOdNs=lltttr
_.(#!`   d#>~~.....................`....-dNMMD..-.-u,__.....(--_......`.......`.....`.......(MNMMMMMMNc..`........`..`..........`..`........_XNMMNx<?>>>???>?+dMkY"!   `.......~_<?====lllttrwrZMmlllttt
_(D_.. `  TN,.._........................(MMMF_.....(W-__.-gMMMNe_..........`......`..........(MMMMNNMMb-....`..........`.....`......`..`......?MMMNx>?>>>1ugXY=````````..`.....~~_<1==llllttrOwrwHROlttr
d3_-`..`   (Wm-.~..........`.`..`...._.-MMN@_.._....(S._.(NMNMMMN,._....`......`......`....._.-TMMNMMNM_.....`..`...`....`..`....`............./MMNN21ugVY^```` ````````.`......~~~<1==llltttrrrzXWNltOt
!....`````` `?Ne_..~..........`...`..._MMMM!..-......(W,.(MMMMMMMN,.........`......`...........__TMMM#3...`......`............................../MMM#"!  ``` ` `````````.......~~~~~(1lllltttrrvzvzWNOtr
....`.``.```   TNx__.................`(NMMF.......... .TA.MMMMMNMMN/`.....`.....`..................._.........`......`..`....`......`..`...__.(dT"! ` ``    ` ` ``````.`.`......~~~~:(1llllttrrvzvzuWNOr
......```````` `.TN,--.-....`........-MMM#~............._~TMMMMMMNMN,........`....`...`..`..`...............`.............`....`.........((dY=``   ` `  ` ` ` `````````.`.......~~~~~:(1llttrtrrzzzzuVNO
...`.`.``.````` ` .WN,__.......`.`....MMMF.............._--WMMMMMMMMN__..............._...................`.....`..`..................JdY=`            ` ` ` `  ```````.`......~~.~~::::1tttrrrrzzzuuXdN
....``.``````` ```  .TN,............`dNMM!_....`..`......._.MNMNMMMMNb  .`..`..`...-(+J........`---.................`..`.....`...-(dY=`    ` ` `  ` `     ` ` ` ````````.`......~~~~:~::;1OttrrrzzuzuuuM
.....`.```````` `   ` .TNx-.........-MMM#._.........`.......(MMMMMMMMM[.........._dMMMM%..... (JxUr .....`...`..`........... _(JY=`                   `  `  ` ````````.........~~~~~:::::;+OrrrvzzuuXXuZ
...`..```````` ` ` `` `  ?Hm,.._.....MMNP. ...`..`...........?MNMMMMMMM/....`...._?""!.....JdY^``.@ ..`.....`......`....`-(JV"!` `                   `  ` ` ``  ````````.......~~~~~~:::;;;+OrrvvzzuuuZZ
....`.``.```` ```  `     ` (TNJ-.._ (MMM$ ...........`......_.(HMNMMMNMb..`...`....._._.JY=`` `  .D`...........`....._.(ZY!       `           `   `       `  ````````.`.`....~.~~~~~::::;;;>1OrvzuuuuZZZ
......```````` ` ` ``     ` ` ?Mm,-_JMMN] ...`....`....`.....__.TMNMMNMM...........--dY!   `   ` d:......`.........(dY=  ` `       ` ` `  `      `   ` ` ` `` ````````........~~~~~~::::;;>??1OvzzuuuuZZ
.....`..``````` ` ` `  `     `  _TNx(MMMr ._....`................?THMM9^....._--(JV=`       ` ` (%_....`......-(gY=``                               `   ` `` `  ``````.`.....~~~~~~~:::;;;>???=OzuzuuZZZ
......``.``````` `  `        `` `  ONMMN] .........`..`..`.........__........_JU= ` ` `` `  ` .d=_.-......-(JV"!` `                          `  `     `  ` ` ```````.`......~~.~~~~::::;;>>???==OuuuZZZZ
......`.``````` ```` `` `       ` .MWNMMb.....`............`...............`_(h.  ``   ` `  .d3_........(ZY!                                      ` `  ` ` `` ```````.`......~~~~~:::::;>>>???==lOuuuZZZ
_~.....`.````````  ``      `    `.MDjMNMN_.......`..`...`....`............... _?4A-.....-&Y=!......-(dY=`  ` ` `      `                   `         `   ` ` `` ````..`......~~~~~:~:::;;>>???==lllwXuZZZ
b.. ...`.`````````  ` ` `  `` ``.H8;?MMMN<...`.................`......`..`........-_<<!~......._(JV"!  `                                      ` `  ` ` ` ```````````..`....~~~~~~::::;;;>>???==lltlwuZZZ
Wc__....```.```````` ` ` `  ` `.dB<+>dNMNr....`...`..`...`..`....`..`...................._..((Z"!  ` `                              `  `   `     `  ` ` ` `` `````.`......~~~~~~:~:::;;>>>??==llltttwXyy
(N,....`..``````` ```   `   `  J@?><+jMNMN_....`.......`................`..`..`.........-(dY=                                   `                    `  `` ``````.`.......~.~~~~::::;;;>???===llltttrzXy
~(N-....`..``````` ` `` ` ` ` +#?<<>?>dNMM[_.`.....`.......`..`...`..................(JV"!    ``                                          `  ` `` ` `` ``````````.`.`....~.~~~~:~::;;;>>???==llllttrvrwX
__?R__...``..``````` ` `` ```(#<>??>?+zMMMN.....`.....`.............`..`.......`_.(JY^ `             `                             `    `     `  ` `  ` ````````.`.......~~~~~:::::;;>>???===llltrrrrvzz
~__?b_._...``.``````` ` ``  .MI?>>?>?<?dMMML.....`..`...`...`..`.........`.....JV"` `  `                                        `           `     ` `` `````````..`.....~~~~~~:~:::;;>>???==lllttrrrrvzu
~~~~?b_...`..```````````   .M3>?>?>>>>?+MMNN/_.......`....`......`.`-....._(JY=``      `                                    `        `   `   ` `` ` ``` ``````..`.....~~~~~~:::::;;;>>???==lllltrtrrvzzu
~~~..?b_...`..``.````` `  .M$<????>>>?>>dMMNN_-_..`....`......`........_(dY! ` `                                                        `  `  ` `` ` `````````.`.....~.~~~~~:::::;;>>???===lltttrrrvzzuu
~~~~~~?b._....`.```````` .MD>??>>?>??>>>>dNMNb ..............`..-...-(Z"!                                               `      `  `   `     `  `  ` ````````..`.....~.~~~~~~::::;;>????===lllttrrrrvzzzu
::~~~__?b_-...``.```````.M8+??>??>?>>?>><+MMMM2_..........`......(JV=` `                                                   `       `    `` `` ```` `````````.......~~~~~~~:::::;;>>????==llltttrrrvzzuuu
::~~~~~~?R_....`..`````.d8<?>??>?>?>>?>>?+?MMMM/....`.........(+Y=    `                                          `  `         `     `  `    `  `` ````````..`......~~~~~~:~:::;;>>????=l=llttrrrrvzzuuuu
:::~~~~~_?h_....`.`.` .dB?11?>??>?>?>>?>>?<?MNMNx.-...`._..(xY^ ` `    `                                               `        `   ` `  `` `` ``````````........~~~~~~~:::::;;;?????==llltttrrvvvzuuuuu
::::~~~~~_(N,....`.. .d@?????????????>?>?>?<?MMNMx._...-(dY!       `                                     `   `            `  `   ` `  ` `` ` `` ````````.`.......~~~~~~:~:::;;>>????==lllttrrrrzzzuzuuuZ
;:::::~~~__(N/._...` j#I???????>????>?>??>>>+zMMMMp.-(Z"!                                        `   `          `   `      `    `  ` ` `  ````````````....`....~~~~~~~:::::;>>>????==llltttrrrvvzuzuuuuZ
;:::::~~~~~~(W/_....(#C+==????????>???>???>??>?MMNM#"`                        `   `   `    `                          `  `   `  ` ` ` ` `` ````````.`........~~~~~~~::::::;;>>????==lllltrtrrvvzuuuzuZZZ
>;;:::::~~~~~_Up.__(MI1=?===????????????>???<?jg#"`         `  `          `                   `         `  `     `   `  `   ` ` ` ` `` ```````````..`.......~~~~~~~:::::;;;>?????==llllttrrrvvvzzuuuuZuu
>;;;::::::~~~~~?m_(M6z===?=??????????>???>?ugY=`     `  `  `        `  `                `         `  `       `      `    ` `   ` ` `````````````.`........~~.~~~~~~:::::;;>????===llltttrrrvzzzuuuuuZZZZ
>>;;;:::~:~~~~~~?NMMNHHHmmmmggggggggggggmkY=`       `         `              `  `  `                      `    `  `  ` `` ` `` `` ` ````````````.........~~~~~~~~:::::;;>>>???===lllttrrrrvzzuuuuuuZZZZZ
?>>>;;;::::~~~~~_(W;._...._______````(JY=``` `  ` `  `  ` `  `  ` `  `   `            `    `   `       `        `  `  `  `  ` ` `````````````..`.......~~~.~~~~~::::;;;>?????===lllttrrrrvvzuuuuuuZZZZZZ
???>>>;:::::~~~~~__7m-.........`. .JY=``````` ```` ` ` ` ``    `      `   ` `  `                ` ` `   `  `` `  `  ` ` ` `` ``````````````..`.......~~.~~~~~~:::::;;>>????===llllttrrrrvvuzuuuuuZuZZZZZ
=????>>;;::::::~~___(M,..... ...+Y=` `` ``````` `` `` `  ` `` `  ` `   `          `     `   `        `  `  `  ` `` `` `` `````````````````.........~~~~~~~~::::;;;;>>>????===lllttttrrrzwXuzuuuuZZZZZZyZ
==????>>>;;:::::~~~~~_Tm-__..JV=_.`.`.````````` ```  ` `` ` ` ` ``  `` `````  `  `  ` `  `   `   `  `` ` `  `  ` ` ` ` ``` ``` ```````...........~~~~~~~~~:::::;;;>>????=?=llllttrrrrvzwXuuuuuuuZZZZZyyZ
l===???>>>;;;:::::~~_~_(TaJW=~  ._..`.``.```````````` `` ``  ` `  ` ` `    ` ` `  `  `  `  `  ` ` ` ` ` ` ``````` `````````````````.`..`........~~~~~~~~:::::;;;>>>????===lllttttrrrwvdSuuwuuZZZZZZZZyZy
ll====???>>>;;;::::::~_(gE!~~...........`.```````````````` ```` `` ` ` `` ` ` ` ` `` ` ` `` ` `` ` ` ` ` ` `  ` ```````````````.`..`.........~~~~~~~~~:::::;;;;>>????==l=llttttrrvwwwWUzuuuuZZZZZZZyyZyy
lll====????>>>;;;:::++M6=z__~~~............`.``````````````````` `` ``` `` ` ` ` `  ` ` `  ` `  `` `` ```````````````````````.`..`.........~~~~~~~~:::::::;;;>>?????=lllllttttrrwwXd8zuuuuuZZZZZZZyZyyZy
tllll====???>>>;<<jgB3aeae&JJJJJJJ((((((((((((((((((((((((((........................................................(((((((((-(-((((((((JJJJJJJJ++++++++&&&&&&&&eeeeewAAAAywrrrrwqHSuuuuuZZuZZZZyyZyyyyy
tttllll===?????>+kBOlzppWbpkZZuuZuuuuuzzuzzzuuzzuzzzzzvvvvrvvvvvrrrrrrrrrrvrrrvrvrvvrvrvrvrrvrvrvrvrvvrrrvvvrvvvrrrrvvvvzzzzXVkwXuuuuuuuuZuZZuZZZyyyyyyVVVVVffpfppppppbbkbKtwrvAHSXwuuuuZZuZZyZZyZyZyyyy
rrtttllll====???dDttttpbppppWZZZuZuZuuuuuuuuzuzzuzzzzzzzvvvvvvvrrrvrvvrvvvvrvvvvvvvvvvvvvvrvvvvvvvvvvvvvvvvvvvvvvzzzzzzzuuwXo/1&/WuwuuuZZZZZZZyyyyyyyyVVVVffpfppppppbbkkkbKrvwdBuuuuuuuZZZZZZZyZyyyyZyyy
rrrttttllll===??dKrrttbbbppppWZZZZZZZuuuZuuuuuuuuzzuuzzzzzzzzvvvvvvvvvvvvvrvvvrvrvrvvrvrvvvvrvrvvvvvvvvvvvvvvzzzzzuzuzzuzuwXV(XTCJSuZZZuZZZyZyyyyyyyVVfffffpppppppbbkkkkkkRAdB0XuuuuuuZZZZZZZyZyyZyyyyyy
vrrrrrtttlllll==dNrwrrbkbbbppWyZyZZZZZZuZZuuuuuuuuuuuuuzzXzzzzzvzzzzzvwvwvvvvvvvvvvvvvvvvvvvvvvrzvvrvzvzzzzzuzzzuuzuzuuuuuuuWokJudZZZZZZyZyyyyyyyyVVVffpppppppppbbkkkqkkqHNBuzuuuuuuZZZZZZyZyyyyZyyyyyyy
zzvvrrrttttlll==zMmZrrkkkkbbbbVyyyZZyZZZZZuuZZuuuuuuuuuuuzwTTXuXwuXzzwXVXwzzvzzzzvvvvvzzvvvvzzzzwXVVXuzzuuzuudVTXuXwuuuuuuZZuX77yZZyZZyyyyZyyyyyyfVfffppppppppbkbkkkqkqHMMKzuuuuuZZZZZZyZyyyZyyZyyyyyyyy
zuzvvvrrrrttlllllvNwvvkqkkkbf77777?7<<77XZXV7XZXuuuXZ0uuuuXA+---(SuzuXX.(uwzuXwzzzzzzzzzzzzzXuuXXX<,XwwuzuzuuZA+---(ZXX$<<<<<<~_<<<<<<WyVTXyVVWVVVWWWpWUYTUWkbkH0TWHHHMMqqKuuuuuZZZZZZZZyyyZyyyyyyyyyyyy
uuzzzzvrrrrtttttOOdKzzqqkqkkWkkkXkC_(+wwyyZ0.dZZZXy>(UuXXuuXuXUUuZuXXVC.?7TOk_OXuuuuuuuuuuuuXwwf<<-_<?XzuuuuuuXZUUUXZZZ$_X~dk+<<<<<~l.XXX+-4WffC_+WfX=_(&&.-?WHk%_JWMMkqqqKuuuZZZZZZyZyZyyZyyyyyyyyyyyyy
uuuuzzzvvvrrrrttOzzMkuHqqqkqkqkkf~JXyyyyyyy$-XZXZZZy/_WXXf<~-(J--jXXn(/_uOs_On.jXzuuuuuuuuuuuuXXuI.XZXZXXXuZf<~-(J-.jZX0<Z dS-(-((-_WWyVVVo_zX=(dWpW>(dWbWWk_(WHI-dqqqmqmmHuZZZZZZZZZyyZyyyyyyyyyyyyVyyy
uuuuuuzzzzvvrvrrOOtdNumqqqqqqqqH!(VWVVyyyWy%-XykyyZZk_(yXXwWZZuXr.XwXX>(ZXZ~(XI.4Zuuuuuuuuuuuuy<?!-<<<jXXkZXXwWWZyXr-yyW-+_X0&++++++UUVfWpWn.!.XbppS.(WHkkkW;(XMk.dqqqmmmgHuZZZZZZZyyyyyyyyyyyyyyyyyVVyy
ZuuuuuuuzzzzzvrrrrtOMRmmqqqqqqqk_(VWfVffVVVr-XXWWyXyyr XyyZZyZXX}.yZZf-dZZX-Juy+JXZZuuZZZZZZZXXZX>(XXXXk_OyXyyZyyXy%(WyySV l.x<?++>+x.XWpppfr-dpbbbW-(WkHqqS!(WHk(XHmmmmggHZZZZyyZyZyyZyyyyyyyyyyVyyyyVy
ZZuuuuuuuuuzuzzvvvrrZMHmmmmqqqqHo_?WfpWfffVn.OX:(XWyySJXyyyZXXXC_JWXX!(XXyf.dZZZZZZX=7XZZZZZZZZZW;(WZXyS.(yXyyyyXy$.JVWl((_Xkk&_1<_(kWWWppppr.Xbkkkbh_(4HH9!(dHqHWHgmmgggmHZZZZyyyyyyyyyyyyyyyyyVyyyyyyV
ZZZZZuuuuuuuuzzzzvvrwdNgggmmmmmmHk.-_~jWpffW&-_(XfVVyyWyyyyyT7~(dyyXl(XS_<!(yyyZyZyW&._?ZyZyZZZyWn-?77=~(dyyyyWY7~(dfVVWXS_XVY7^--_?7TWWppbbn(XHkkkkqWeJ-(JdWHmqn(dmmgggggHZyZyyyyyyZyyyyyyyyyyVVyVyVyyy
ZZZZZZZuuuuuuuuuuzzzvwMNggggggmmmgHHkWXWppppWWXWfffffVVVVVVyndXWyyyyXWyXXkXWyyyyyyyyyynJyyyyyyyyXyyAAewXWVyVVWWndXfVVffffkJX&&wXWppkA&WWkkbbkkkkqHHMMHmqmmmqmmmmggmgggmgggHyyyyyyyyyyyyyyyyyyyyyyVyyVyVy
ZZZZZZZZZZuuuuuuuuuuXwHMMHHHmmmqHHHqHHfWWWWWWWWWWWWWWWWWWWWWWWUUWWUUUUUUUUUUUUUUUUUUUUUXUUUUUUUUXUUUWXUUWWWWWWWWWWWWWWWWWHWWWWfWWfWfWHHWHHHbHbHHMMHHHkHHHHqHqqqqHmmHmHHmHmHyZyyyyyyyyyyyyyyyyVyVyyVyyVyV
yyZZyZZZZZZZZZuuuuuuuzuXNWXXyyyZyZZZZXOttllllllll========??????????>?>?>>>?>>>>>>>>>>>>>>?>>>?>>??>?????????????========l=lllltlttttrrtrrwAQHHSwzzuuuuuuuuuuZZZZZZZZZyyZXyyZyZyyyyyyyyyyyyyVyyVyVyyVyyyy
yyyyZZZZyZZZZZuuuuuuuuuzdNWZyyyZyZZZXZXOtrttttttlllllll==========????????=??????????????????????????????=?======llllllllttttttrtrtrrwwQkH90vuzwuuuuuuuuuuZuZZZZZZyyZyyZyyyyyyyyyyyyyyyyVyVyyVyyVyyVyVyVy
yyyyyyyyZyZZZZZZZZZuuuuuXMNWyyyyyyyZyyZXwrrrrttttttttllllllllll=l==l===========?=?==================l==l==lllllllllltttttttrOtwOwAQW9UzvzzzzuuuuuuuuuZZuZZZZZZZyyZyyyZyyyyyyyyyyyyyyyyVyyVyyVyyVyVyyyVyV
yyyyyZyyyZyZyZZZZZZZZuuuXuM#VyWyyyyyyyyyXzrrrrrrrrtttttttttttlllllllllllll=l===========l====llllllllllllllllltttttttttrrrrwAQkW9UvvrzuzuuzuuuuuuuuuZZZZZZZZZyyyZyyZyyyyyyyyyyyyyyyyyyVyyVyyVyVyyVyyVyyyy
yyyyyyyZyyyyyyZZyZZZZZZZXXXMHWVffVVyVyyyyXvvvvvvrrrrrrrtrtttrttttttttttlllllllltllllllllllllllllttttltttttttttttOrrwwwQXWUUzvrzzzuzzuuuuuuuuuuuuZZZZZZZZyZZyyZyZyyyyyyyyyyyyyyyyyyyVyyVyyVyyVyyVyyVyVyVy
yyyyyyyyyyyyyyyZyyZZZZZZZXXUMKffffVVVVVyVyXzzzzzzvvvvrrrrrrrrrrrrrttrttttttttttttttttttttttttttttttrtrtrtwwwwAwUUUUUvrvrzzzzzuzzuuuuuuuuuuuuZZuZZZZZZZZZyyyyZyyyyyyyyyyyyyyyVyVVyVVyVVyVVyVVyVVyVVyVyVVV
yyyyyyyyyyyZZyyZZyyyZZZZZZZZUNWfpfffffVVVVyXuuuzuzzzzzzzzzvvzvvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrXXXXXzvwzvzzzzzzzzzuuuzuuuuuuuuuuuuuZZZZZZZZZZZyyyyyyZyZyyyyZyyyyyyyyVVVyVyVyyVyVyVyVyVyVyyVyyVyVyyV
yyyyyyZyyyyyyyyyyyyyyyZZyZZZXWNWppffpffffffVXuuuuuuuuuuzuzzzzzzvvvvvvzvvvvvvvvrvvrvvvrvrvvrvvvvvvvvvvvvvzzzzzzzzuzuzuuuuuuuuuuuuuuZZZZZZZZZZZZyZyyyZyZyyyyyyyyyyyyyyyyyyVyyVyyVyVyVyyVyVyVyVyVyVyVyVyVyy
yVyVyyyyyyyyyyyyyZyyZyyyZyZyWXMNWppppppffpffWXuuuuuuuuuuuuuuuuzzuzzuzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzuzzuzuuuuuuuuuuuuuuuuuuZuZZZZZZZZZZZZZyyyyyyZyyZyyZyyyyyyyyyyyyyyyyVyVyVVyVyVyVVyVyVyVyVyVyVyVyVyVV
yyVyyyyyyyyyyyyyyyyyyZyyZyyyyZXMHpfWppppffffpWXuZZuuuuuuuuuuuuuuuuuuzuuuzuuzuzuuzuuzuuzuuzuuzzuuuuuuuuuuuuuuuuuuuuuuuZuZZZZZZZZZZZZZZZZyyyyyyyyyZyyyyyyyZyyyyyyyyyyyyyVyVVyVyyVyVyVyyVyVyVyVyVyVyVyVyVyV
*/
#include "bits/stdc++.h"

using namespace std;
#define ok1 printf("ok1\n");
#define ok2 printf("ok2\n");
#define M 1000000000000000000LL
#define rep(i,n) for(int i=0;i<n;++i)
#define REP(i,s,n) for(int i=(s);i<(n);++i)
#define repr(i,n) for(int i=n-1;i>=0;--i)
#define REPR(i,s,n) for(int i=(s);i>=(n);--(i))
#define all(a) (a).begin(),(a).end()
#define reall(a) (a).rbegin(),(a).rend()
#define pb push_back
#define pf push_front
#define MIN(a,b) a=min((a),(b))
#define MAX(a,b) a=max((a),(b))
#define SIZE(v) (int)v.size()
#define DOUBLE fixed << setprecision(10)
#define fi first
#define se second
const double pi = acos(-1.0);
typedef vector<int> vi;
typedef vector<string> vs;
typedef long long ll;
typedef vector<ll> vll;
typedef vector<vi> vvi;
typedef vector<vll> vvll;
typedef vector<char> vc;
typedef vector<double> vd;
typedef vector<bool> vb;
typedef deque<ll> dll;
typedef pair<ll, ll> P;
typedef vector<P> vP;
const ll mod = 1e9 + 7;
ll dx[4] = { 1,0,-1,0 };
ll dy[4] = { 0,1,0,-1 };
template <typename T>
bool chmin(T& a, T b) {
	if (a > b) {
		a = b;
		return true;
	}
	return false;
};
template <typename T>
bool chmax(T& a, T b) {
	if (a < b) {
		a = b;
		return true;
	}
	return false;
};
void Pvll(vll v) {
	cout << "------------------------------------------------\n";
	rep(i, v.size()) cout << v[i] << " ";
	cout << endl;
	cout << "------------------------------------------------\n";
}
void Pvvll(vvll v) {
	cout << "------------------------------------------------\n";
	rep(i, v.size()) {
		rep(j, v[i].size()) {
			cout << v[i][j] << " ";
		}
		cout << endl;
	}
	cout << "------------------------------------------------\n";
}

void Ps(string s) {
	cout << "------------------------------------------------\n";
	rep(i, s.size()) cout << s[i] << " ";
	cout << endl;
	cout << "------------------------------------------------\n";
}

void Pvs(vs s) {
	cout << "------------------------------------------------\n";
	rep(i, s.size()) {
		rep(j, s[i].size()) {
			cout << s[i][j] << " ";
		}
		cout << endl;
	}
	cout << "------------------------------------------------\n";
}

void Yes(bool x) {
	if (x) cout << "Yes\n";
	else cout << "No\n";
}

void YES(bool x) {
	if (x) cout << "YES\n";
	else cout << "NO\n";
}

void yes(bool x) {
	if (x) cout << "yes\n";
	else cout << "no\n";
}

void Yay(bool x) {
	if (x) cout << "Yay!\n";
	else cout << ":(\n";
}

//最大公約数
ll gcd(ll m, ll n) {
	if ((0 == m) || (0 == n))
		return 0;

	// ユークリッドの方法
	while (m != n)
	{
		if (m > n) m = m - n;
		else         n = n - m;
	}
	return m;
}
//最小公倍数
ll lcm(ll m, ll n) {
	if ((0 == m) || (0 == n))
		return 0;

	return (m * n / gcd(m, n));
}

ll  n, m, r, l, k, h, ans = 0, ret = M;
bool flag = false, flag2 = false, flag3 = false;
string s,t;

void INIT() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	cout << DOUBLE;
}

int main() {
	INIT();
	ll a, b;
	cin >> a >> b;
	cout << max(a + b,max(a - b, a*b)) << endl;
}


Measured memory_bytes: 256