Submission #61900343


Source Code Expand

Copy
/*
` ` `
` ` ``` ` .... ` ` `` ````` `
` `..JyQQHkmHWHQgHHWXaJ-. `
```` .-HHkMMMM@HMMMHHNH@HkWWma&-.` `
` `..WHH@MMMMMM#MMHMMNWHmgMHMNMMHHHk..``
` `` .dHHHMMMM@MMMMMMNKMMMMMHHmWWHHMHHHHe. ```
` ` ` .JHMHMMMMMMMMMHHMMMNMHMHHMMHHmHMqHHWWH+
`` .HNHHHMNM#HMMHHWHHHHHHMMM@HHHHHHHHWHNHkHHh.`
` `` (WMMNWMMMMMHHHNqHMM@H@HMM@HHHM@HMHMHMHgkHHh.` `
` ` (WHMHMHHHMHM@MHHMHHMMHHMHHMHH@MH@HHMHNWHHkgHb
` ` ` .HHMMHHHMMMHMMMMMHMNHMMMHWHHMgHHWHHH@MHHHHkHMH;``
` .H@HMMM#HM@@MHHHHHMMMMHHHMmqkHbkHHMHMHH@MkHmHHMg.`
` .HHHMMHMHHWMHpWHqHH@MM@KWMMWbHHqMkWUkHHMM@HMHHHg[
` ` ` N@MMH#MH0XXHHkWWHXWM@HHkXWHWWHHWWZyWHqMMMMH@NMH)
` MHHM#MMWwtOwUmR0zOCvWHHMkXWXXSWWWRZUVHHM@MMMHHH:`
` `WMMHH@MkwllOwH01?>;;<zOwWHZzVOOwwXv1OZWWMMMMH@H `
``,MMHHHMH0O=zZI==>;;:::<<<1z11juAQkkmsOwwXMMMHmS.
` ` ` HMMMMMSOz=1=z&zzz+++;;;;1zwXpWWUUUZOC1<zWMHN0O_` `
` ` WMM@HH0tOdkWkkHWWWXz+<;;1lOOwAgga&z+1<;+dHMKtl:``
` (HM@HNZOUWU0Ov1zzzttOz<<=zwwIdH9wV0Z1?>>+dHWZ+~
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/*
                                                                                  `  `                     `
                                                                         ` ` ``` `  .... ` ` `` ````` `
                            `                                                `..JyQQHkmHWHQgHHWXaJ-.   `
                                                                      ```` .-HHkMMMM@HMMMHHNH@HkWWma&-.` `
                                                                   `  `..WHH@MMMMMM#MMHMMNWHmgMHMNMMHHHk..``
               `                                                   `` .dHHHMMMM@MMMMMMNKMMMMMHHmWWHHMHHHHe. ```
                            `                                  `   ` .JHMHMMMMMMMMMHHMMMNMHMHHMMHHmHMqHHWWH+
                                                                `` .HNHHHMNM#HMMHHWHHHHHHMMM@HHHHHHHHWHNHkHHh.`
                                                           `    `` (WMMNWMMMMMHHHNqHMM@H@HMM@HHHM@HMHMHMHgkHHh.` `
                                                             `  ` (WHMHMHHHMHM@MHHMHHMMHHMHHMHH@MH@HHMHNWHHkgHb
               `            `                                  ` .HHMMHHHMMMHMMMMMHMNHMMMHWHHMgHHWHHH@MHHHHkHMH;``
                                                            `   .H@HMMM#HM@@MHHHHHMMMMHHHMmqkHbkHHMHMHH@MkHmHHMg.`
                                                             `  .HHHMMHMHHWMHpWHqHH@MM@KWMMWbHHqMkWUkHHMM@HMHHHg[
               `            `                                  ` N@MMH#MH0XXHHkWWHXWM@HHkXWHWWHHWWZyWHqMMMMH@NMH)
                                                            `    MHHM#MMWwtOwUmR0zOCvWHHMkXWXXSWWWRZUVHHM@MMMHHH:`
                                                             `  `WMMHH@MkwllOwH01?>;;<zOwWHZzVOOwwXv1OZWWMMMMH@H `
                                                               ``,MMHHHMH0O=zZI==>;;:::<<<1z11juAQkkmsOwwXMMMHmS.
               `            `                               `     HMMMMMSOz=1=z&zzz+++;;;;1zwXpWWUUUZOC1<zWMHN0O_`  `
                                                             `  ` WMM@HH0tOdkWkkHWWWXz+<;;1lOOwAgga&z+1<;+dHMKtl:``
                                                                ` (HM@HNZOUWU0Ov1zzzttOz<<=zwwIdH9wV0Z1?>>+dHWZ+~
               `            `                                      jHMHNZlztlwyWMH@OXkwI<<=OOOrtlz1+?>;>;><dk0z<`
                                                                   .XHMM0l=zwWUZOI=zOOwZz<1=?<<>>>><;;;;;><dKz+~ `
                                                                `   ztXMR=zl=zOllz<<+=tO<>????><;;;;:;;><><OC;!
                                                                 ` `.1ZHHz====<<><<?1=lz<:;<?=1<><<:::;;>?<v<!`  `
               `            `                                      `  <wWHz=??>;;;;>1Oz1<:::::<1>><;;;;<>??!
                                                                     ` (zdS==??>;;;+zO=lz<;+u&zz+?=zx<;????_  `
                                                                       ` 1zvzlz1+>+zlwUWWAwXwwOwXwwwwI;<??=!
               `            `                                       `  `  `.tOtOz=OwXXyXXOUVCCzIOOwwXC;+?=1` `
                                                                   ` `      jrrOz1XWWWXOOOv1v?<Id6zzrz+=??<`
                                                                          ` .OwtwzvUwVUSXz&+zzOtI?+zwz=1?==
                                                                          ` `.OrOXOOwzOrtlz++?=????zVO=?===_  `  `
               `            `                                                ` uwOXwkOtlOOwOZZI?<?+zwwzz==?+_`   `
                                                                         `   ``.wwwdWkO=l==z1=???>?1wuOI=??1_` `
                                                                          ```.K__TkXpywzzz=1zIz?11zww01????z_`(,``
               `            `                                             ` .MN/~~~7WHWkXwOwVwOltwvOOI??>??>   Mx   `
                                                            `  `           .###N/~~_?OUWWyXwwXwkUOv==>??>?j! ` (MNa, ` `
                                                            `` ````````` .d#HHH#N,~~~_<+zOVWkZXwO==?????11}     dM@@@HmJ...```````` ``
                                              `   `  `  `    ` ...  ` .&HHMMHHH##Hp_~_.~~<<<<?TXXOl=====zC     `(M@@@@g@g@H@mg....`      `  `
               `            `                  `  `` ```...(gMMMMMNadHHHMHHHHHHH#HHN,~.._...`._--?7zzzlzZ` `    .@@@@@gggggggggggHHHa..``  `
                                        `  `   `   ..(dqmgg@HHMB"YMHHMHHH@HH@HHHH##HMe......`.-___. ?OwC` .,.` ` W@@@@@gggggggggggg@gg@gm+, `  `` `
                                          ` `..(gW@ggggg@g@@#3(__~?MHH@HHHH@H@HHHHHHMHm_ . ..MN&-(+(-(C~ .MMMo. `(M@@@@@@gg@ggggmgmggggggg@gHa-.  ``
               `            `           ` ..MH@@@@@ggg@@@@#Y<>>_:~(M#HHHHHHHHHHHHHHHHHHN, `.MMMMNaga&J.+MMB11OX, .M@H@@@g@gggggggggmggg@gggggggmHHa., `
                                     `  `.M@H@@@@@@@@@g@@8<+<:::::<_TMMB"""TMMHHH@@HHH@MMx JvvM#MMHgMHHH#C~~_~<1I.W@@g@@ggg@@gg@ggggmgggggmmmmggggHH@h.
                                    ``` jM@H@@H@MHHHHM@@MI>??+<<::_<-_.~-__..`_?7WMH@HHHHM2~<_(ZMMH@HHMM%~_..~~_(?dM@gg@@@@@g@gg@gggggggggggggg@ggg@H@N ``
                                      `(@MH@@H@MMMM@Hg@@M<<<??zOVI<~~_.__<:_...~_~dHHH@@HHN, __<1TMHMgHM--_   _.~_dM@@ggg@@g@ggggggggmmgggg@ggggg@@M@@M)
               `            `        `.M@@@HMHHMM#MMMMMHD::;;<<1???++<<____(___:_(dHHHHH@@HN.  ..?OWHMHM/ .  ```~(dM@@@ggg@@gggg@MMggggggggg@H@@g@@@@@@b
                                      (@HMgHMMMMMMMNHHM#<:;;;:;;;;;;<;::~:::<-.-_jHHH@H@@HHMb` .~~_(MMMNH,.   ` _~dMM@@@@ggg@@@HMMMggggggg@@g@gg@g@@@@@M;`
                                     `dMHMMMNNNN#MMM#MMNc:;;;;;;;;<~::__((+?C+_-_WMHH@@@@H@MM;`_~~_JMHM#NHh.` ` ` JM@g@g@gg@ggHMMM@ggggggggggggg@g@HM@@@N.
               `            `         HMHN#MM@@HHHHHHM#=(<>>>>>>;<+11+11<<:~~jaJ(M@@@@HH@@@HHb  ~~(M@HHMNNbH.` ` `(M@@ggg@@gggggg@@@@@gg@gggg@ggg@@H@@@MM]
                                     .MMMHMHMMM@H@HHH3.0+>;<::~::::::::;<;:~~(HHH@MH@H@@@HHH@M-`_(HHHHHMM#Mkh     (M@@@gg@gg@gggg@gg@@gg@gggg@@g@g@H@@@@@N.
                                     `XMHHHMMMMMHkH#~d81z;;<:::::::::~~:__(((HHH@@@@H@@@H@@@HHb`.dMMHHHMMMMHH[`   ,M@@@g@ggg@g@g@gggggg@gg@gggggg@@H@@H@@ML `` ``
                                  `  ` MHMMHHbHWmH#`JHC?=z>>;<:::;:<<<<<<<<<:dH@@H@@@H@H@@H@H@N_.MHMq@MMHHMHqN.` .,M@@@g@@gg@@@@@@@@gg@@@@g@gggg@HMM@@@H@@H;`
               `            `        ` MMHHkWHg@@HD`M$;+=z>>><<::::::::::::~(d@H@H@H@@H@@H@@@HM[JH@Hqg@HHHHgqM) ``,MMHg@ggg@ggggg@gg@gMMg@gg@gggg@MM@@@@@@@N.   `
                                 `` .JHgHMHHH@@@@MF`WI;:>+?<>;:~~:~~~~~_(J+gHH@@H@@HH@@@@@@@H@@Nd@MmqggqbbHHqHb` `,M@@gggg@g@ggg@g@g@@@@@gg@g@@gg@MH@H@@@@@@b   `
                                   .MgH@MHH@@@@@@M% .k_:(<>+>?>;:~~_(dM@@HHMMHH@@@@@@@H@HH@H@H@HHHgqqmmqkbkqHgN.`.,M@@@gg@ggg@@ggggggHM@@ggg@@gg@M#H@@H@@@@@@[`
               `            ` `` .dMH@@MH@@@@@@@MMI_ (Xs++<;;::::_(+M@@@@@@HMM@H@H@@@H@@@H@@@H@@@HmqmqqkkkkqkHM;  (MH@ggg@@gg@gggggggMM@@@gggg@@@MHH@@@@@@@@@N `
                               `.dMHMHHMM@@@@@@MMMZ<_  ~<?77T"^` (NNM@@@gggM@MMMH@HH@@@@@@@@@@HHHHkkqqqkkkqkkqM]  (M@@ggggggg@@ggg@g@H@@gg@@g@g@@MH@H@@H@@@@@M[ `
  `  `                          dHM@MHHM@@@@@@@gMHNz__ `  `_.` -jNNNM@@@ggggH@MM@@@@H@HHH@@@@H@@HNqHqkkqqkkqqqH@` (MM@@gggg@g@ggg@ggMM@@@@g@@@ggHMH@@@H@@@@@@@N
  `   `                       `.MHM@HHM@H@@@@@@gMMNI<<___. ` _(dMNN#H@@@@@gg@@@MMHH@@@@@H@@H@@H@@MHkkqkkqqqqkqHM. (#M@g@ggggggggggg@H@@@@g@g@@@@MMHH@@@@@@H@@gM[
               `              `,MHMMHH@@@H@g@@gHMM#Rz+++-___(zdNN#NMH@@@@g@gg@@@MM@H@@H@@HH@@H@HH@qqkkqkqkkkqqmM; (#@@gggggggggg@ggHM@g@g@gg@@@ggMMHH@@HH@@@@H@N
                              ` ZH@@HH@HH@@g@@HHM#HNwz=+>++wXHN###NMHM@@@@@@@g@@HMMH@@HH@@@@H@@@@HHkqqqqkqqqqHmM[ (MM@gggg@gggg@g@gH@M@@@@@@@@@@gMHH@HH@@@@@@gMM-`
  `                            ` 4M@HH@H@@@HWHHHMNHMI1OwwXUUXM##H##MHHH@@@@@g@g@@@MMH@@@H@H@@@@@@@MqqqqqqHkqqqmHL`(M@@@g@gggggggg@MMM@@@@@@@@@@@gMHH@@H@@@@H@HHH]  `
               `            `     4MH@Hg@@HHgHHMMMHM$(dWQQmgMNN#H#HHHHH@@@@@g@@@MMMMM@H@@H@H@@@@H@Mqqqqqqqqqqqqgb-.MM@ggg@gg@@@@@@@@@g@@@@@@@@@g@MHHH@@HHM@@@@gMb `
                                   WMHHHHHggkQHHMM@HHZXM#N##N###HMMHHHHH@@@@@g@@@@@MHH@H@H@@@@@@H@@qqqmmmqqkqqqHN_.HHg@gggg@gggg@@@gg@g@@@@@@@@@gM#H@HH@H@@@@@@HN
                                   .M@HMqHgHHmggmHHMMHMHM#NN##M@MM##HHHHH@@@@@g@g@@@M#HM@@H@@@@@@H@mqmgHmqqkqmmHM:.dMM@@@g@g@gggHMg@@@@@gg@@@@@ggM#H@@HH@HH@@@@@M-`
                                  `  7HMHqgmkqqqmmkpHMM@@HHMMMM#####HHHHHH@@@@@@@@@@@HHM@@@@@@@@@@HHqqgHmqqqqmqHMI_dM@@g@ggggggg@@@@@@@@@g@@g@@@@M#HH@@HM@@@@@@@M] `
               `            `        ``?WgmmmqqqmqqqkbkbbbWHMNN####HHHHHH@@@@@@@@@@@@@MMM@@ggH@@@@MMqmmmqqkqqmqHM$<dM@@g@g@@gggH@@@@@g@@@@@@g@@@g@#HHHH@HH@H@@@@@]
    ` `                                 ` ?THmHmqqkqkkbWHHMHM#NH####HHHHH@H@@@@@@@@@@@@MMHMgg@@@@@@MmmmmqqqkmgqqMD:JM@@@ggggggg@@@@@@@@@@@@@@@@@@@#M@HH@HHH@@H@@H[`
                                           `   `~!!!OHHHM#HMN##HH#HHHHHHHH@H@@M@@@g@@@@@@MMMgg@@@@HMmggmqqkqmgmmMb<JMM@g@gggggMM@@g@@@g@@@@@@@@@@gMHH@@HH@H@@@H@@b`
               `                                    .MHMN#H#NHMHHH###HHHHHH@@@@@@@@g@@@@@@MMMHgg@@@HgmmmqqkqmgmqMb>j#H@@gggg@HH@@@g@g@@@@@@@@@@@@gMHHH@H@@@H@@@@@M-`
   `  `                     `                     ` `(MNNMMM##MH#HH#H#HHH@HH@HH@@@gg@@@@@@gHMMM@@@@MHggmqkkqqggqM#++MM@@ggggHMHM@gg@g@@@@@@@@@@@@gMHHH@HHHHH@@H@@HL
                                                       TMMM#MHMHH##HHHHHHH@@@@@@@@@@g@g@@@@@M#NM@@@HHg@gqkkqkmmHHN>>MH@gggggMHMM@@gg@@@@@@@@@@@@g@MHHH@H@HHHH@@@@@N. `
                                                      ` .MMMHHMH#H#H#HHHHH@H@@@@@@@@@g@g@gg@@MNNM@@@M@ggqqqkqqqqHN>;dHM@gggM#HH@@@g@g@g@@@@@@@@ggHM#HH@HHH@H@@@@H@M[
  `  `         `                                         dMHMMMHH###H#HHHHH@@@H@@@@ggg@@g@@@@H#NNM@H@ggHkqqqqkqmHMz;dMH@ggMHHH@@@@@@@@@@g@@@@@@@@gM#HHHHH@@HH@@@@HM@
                            `                            .MHHMMHHH#H###HHH@H@H@@@@@@@@@@@@@@@M###NM@@@gqqkkqqqmHgMv>JMH@gM#HHH@H@@@@g@ggg@@@@@@@@@M#HHH@H@HH@@@@@@@M- `
                                                          (MMMMHHH#HHHHHHHH@@H@@@@@@g@@@@@@@@M###NNMHggmqkkkqggmHMI>JMMHMMHHH@@@@@@@gg@@@@@@@@@@@gHNHHHH@H@@H@@H@@@@p `
               `                                         ` (MM@HHH#HHH#HHHHH@@@@@@@@@@@@@@H@HMHH###NMMgmqkkkHggqHMP>+MHHMHHH@H@@@@@@@Hg@@@g@@@@@ggHN#HH@HHHHM@@@@@@@b  `
                            `                            `` .MM@HHHH#HHHHHH@@H@@@@@@@@@@@H@@HMHHHHH#NMgmqqkqmgmmHMb><MMHH@H@H@H@@@@g@@@g@@H@@@@@g@@##HHHHHHHHHH@@@@@N
                                                             JHHHH#HH#HHHHHMH@@H@@@@@@@@@@@@@MHH#H##NHgqkbkqH@mqHMb>1dMH@HHH@@@H@H@@g@ggg@g@@@g@@gg##HHHHHHHHH@H@HH@H[`
                                                            `.MHHHMHHH#HHH@H@@@@@@@@@@@HH@H@@MH#MMMM#MgqkkkqmmgmmM#<>dHMH@HHMHH@@H@@@@@@@g@g@@@@gg@##HMHHHMM@@@@@@@@HN.`
               `                                             .HHHHHH#HHHHM@@@H@@@@H@@@@@@H@@@HMMWkkHMMmkkkkqggmmmM#??dMHH@@@@HH@H@@@@@g@@@ggg@@@@ggMN#HMH@@@@HHH@@@@@M]
                            `                                .@HHHHHHHHHHHH@H@@@H@@@H@H@@@H@H@MNHkWMM@qkkkqqm@mqmHN??dH@H@HH@@@H@@H@@@@@@@@g@@@@@gH####HHMMM@gg@@@@@@M]
                                                            `J@HHHHHHHHHH@@@@@@H@@@H@@@@H@@H@@HMHHMMMmkkqqqmmgmqmHHz+dMH@@@H@H@@H@@@@@@@@g@@@g@@@ggNN#NNNN##MMHg@@@@@@]`
               `                                         `   d@HHHHHHHHHHH@H@H@@@@@@@@H@@@@H@@@H@HHMmqqkkkqqggmqmHMI=dHMH@H@@@HHH@@H@@@@g@@gg@g@@g@NNN#NN#####M@@@@@@@b
                            `                               .H@@HHHHHHHHH@H@@@@H@@H@@H@@H@H@@H@@@HHHqqqqkkqkggqqqHMr+zMMH@H@@@@@HH@@@@@@@@@@@@ggggHNNNN######HM@H@@H@@N
                                                         ` `.M@HH@H@HHH@H@@H@@@@@H@@@@H@@H@@@@@HH@MqqqkkkkqmHmqqmgMP<1WH@H@@@H@@@H@@@@@@@@@@@@g@@gHNNNN##H#HHHH@@H@@HHH[` `
                                                         `  (@@H@@HH@H@HH@H@@@@@@@@@@@@@@@@H@@@@HHMkkqkkkmqmgmqqqmMb(1dMH@@@@@HH@HH@@@@@@@@@@@@gggMNNN#HMH@@HHHH@@H@@H@N, `
               `                                          ` W@@@@HHHHHHH@H@@@H@H@@@@@H@@@@H@@@H@@MHkqkkkkqqmgmqkqgH#(1vM@@H@@@@@H@@H@@@@@@@@gg@gggMN##HHHHMHHHHHHM@@@@HHN`
                            `                            ` .M@@@H@@HH@H@MH@@H@@@@@H@@@@@@H@@H@@@#dHqkkkkkHggmqqkqq@N~<=W@@@@@@@H@HH@H@@@@g@@@@g@@gMN##HHHHHHHHHHMH@@@@@HM|`  `
                                                           J@@@@H@@H@H@H@@H@H@@H@@@@@@@@@@@@@@HM%JHkkkkkqmgqqkkqqqHM<(+dMHH@@@H@HH@H@@@@g@gg@@@gggMNN#MMMMMHHHHH@HHHHH@H@b`
               `                                         `.H@@@@HH@@HH@H@@@@@H@@@@@@@@H@@@MHHHM# JHqqkkkHmmqkqqkqmgM;_<zMHHH@H@MHH@HH@H@@@g@ggg@ggMNNNNMM@ggM@HHHHHHHM@@@M_
                            `                         `  `(@@@@H@HH@@@H@H@@@H@@@@@@H@@@@@@HMMWH].(NqkkkbqqqkqkqkqmgMr~(+dH@@@@@M@@HHHH@H@@@@g@gg@@@MNNNN##MMMH@g@MM@g@@@HF`  `
                                                         .MH@@@@@@@HH@@H@H@@@@@@@@@@@@@@@@MMHMH%.(MqkkkbqqqqqkkqmmHH]~(<dMM@@@H@@H@@@@H@@H@g@@@@gM@@MNN######HHHMHMH@g@@M``
                                                     `` `.MH@@H@H@@H@H@@@@@@H@@H@@@@@@@@@@MHMMD._(MqkkbpkkkkkqkHqqqm@_:;1M@@@@@@@@@@@@@@@@@@@g@ggM@gM#N###HH#HHHH##H@@@@M<
               `                                       `.HH@@@M@H@H@H@H@@H@@@@@@@@H@@@@@@@@@HMl--(NqkbbpppppbkkqqqqmHqMMMMH@@@@@H@@H@HH@H@@@@g@@HHMH@MNN##HH####HM@@@@@HHb`  `
                            `                         ` JM@H@@@@@H@@@@@H@@H@@@@@@@@@@@@@@@@@@MN#MHNbkbbbbbbkkkkqqkkHHHNNNNM@@@@H@@H@@H@@H@@@@@ggMHMMMMMMMHHHMMMM@@@@@H@HHN_
                                                      `.WHH@MM@@@H@H@@@@H@@H@@H@M@H@@@@@@@@@@MNNN#NbkHkHkqqqqqqqqqqgHHMNNNM@@H@@@HH@HHH@H@@@g@g@MHMg@gMMMMMNNN#N###HHH@@HHr
               `                                       .@H@@@@@@@@H@HH@@H@@@@@@@HH@H@@@@@@@@MNNN#MNHbbpkkqkqmqkqHqHMM@MNNNNM@@@@H@@H@@HH@@@@@@@@MHM@ggMMNMMHHMMMM##HHHHHHMN
                            `                       `  dMH@M@@@@H@H@@@@H@@@@@@@@@@@@@@@@@@@@MNNNMMMMMHkbbHWkbkkHHHMHMHWMMMNNMM@@@@@HH@@@HHH@@@@gMHM@ggHHgMMMMHgg@@@@MH##HM#   `
                                                     `.@HHH@@@@M@H@@@H@@@@@@@H@@H@@@@@H@@@@@NM#HNNNNHHNUHbHpbkqHNNMNN#N#N#NNM@@@@@HHHHHHHH@@@@g@MM@@gmMMMHggMMMHMH@@HH@@MM%
                                                  `   JMH@@@@@@@H@HH@@H@H@@H@@@@@H@H@H@@@@@MN#HHHHHHHHMNMNWpbHM#NHHHH#H####NNM@@@@M@HH@H@HH@@@@H#H@@@@MNNMMgggMHHHM@@HH@MF`
               `                                     .H@H@@@@@@@@@@HH@@H@@@@@@@@@@@@@@H@@@@N#H#HHHHHHHHHH##NNM#HMHHHHHHHHH##NNM@@@@@@H@HH@H@@@HH#HH@@@HMN#HMHggMMMM@@MHH#
                            `                     `` .@HH@@@@@@@HH@@@@@@@@@@@@@H@@@@HMMMM@M##HHHHHHHHHHHHHHHMHHH#H@@H@H@HHH##NM@@HMH@HHH@H@H@@@M#HHHHH@M@@@H@@ggmM@MMHMM\ `
                                                   ` dMM@@@@@@@@H@H@@@H@@@@@@@@@@@@H@MWkHqM##HHHHHHHH@H@H@HHHH@HMH@@HHH@HHHH#NNM@@@@HHHHH@H@H@@M#HHMHHHHHH@H@@@@ggH@HMHF
               `                                    .HMHH@H@@g@@HH@H@H@@@@@@@@@@@@@@MNHHWW##HHHHHHHHH@HH@H@@HHHHHM@@H@HH@HHHH#NNM@H@@H@MHHHHHH@MHHHHHHHHH@HH@@H@@@ggMM@
                            `                 `   ``(@@@@H@@@@@@@@@@@@H@@@@@@@@@@@@@@MMMM###HHHHHHHHHH@H@H@H@HH@MM@HHH@H@@HHHH##NM@HH@HMH@@H@@@@@@MMHMHHHHHHHH@H@@Hg@M[`
                                                    W@HH@@@@g@@HHHH@HH@@@@@@@H@@@@@@@@@@M##HHHHH@HHHHHH@HH@HH@HHHM@@@H@HH@@HHHH##MM@H@HH@HH@HHH@@@ggMMMMHH@@M@H@@@@H@M\
                                               `   .M@HH@@@@@@@@@@@H@@H@@H@@@@@@@@@@@@@@HH#HHHHHHHHH@H@H@@H@H@HHHMH@H@HH@HHHHHHH#N#M@H@@@H@H@@@@@@@@gggg@@@@@g@@@@@@@M;
               `                                  `JH@@H@@@@@H@H@@@H@@@@@@@@@@@@g@gg@@gMH##HHHH@HHHHHHHHHH@@@H@HMM@@HH@@HHH@H@HHH##MM@@H@@H@@@H@@@@@@@@gggggg@gg@@@@@HN.
                            `                     `dMHH@H@@@@@H@H@H@@H@@@@@@@@@@g@@@@gH##HHHHH@H@HHHH@@HH@@@HH@@HMH@@H@HH@HH@HHHHH##NMH@HH@H@H@H@@H@@@@@@@@ggggg@@@@H@HL``
                                                   H@@H@@@@@@@@H@@H@@@H@H@@@@@@@@@@@@MMH#HHHHHHHHHHHHHH@HHH@@HH@H#H@H@HHH@@HHHHHHHH###M@@H@@H@@@@H@@@H@@@@@@@@@@@@@@@@MN  `
               `                                  .@@H@@@@gg@@H@@H@H@@@@@@H@@H@@@@@@@MNHHH#HHH@@HHHHHHHH@HH@@@HMH#M@@H@@HHH@H@HHHHHHH#NMH@@H@@@@@H@@H@@@H@@@@@@@@@@H@MMN_
                            `                 ` ` (MMH@H@@@@@@@HHH@@H@@H@@@@@@@@@@@@MNNHHHHHHHH@@HHHHHH@H@@HH@@@H#M@@@H@@HHHH@@HH@HHHHMNMM@@H@@@H@@@@@@@@@@@@@@@@@@H@@H# `
                                               `  d@@@@@@@@@@@@H@@H@@H@@@@H@@@@@@@@HM#NMHHH@H@@HHHHHHH@HHH@HH@@@HMM@@@HH@H@H@HHH@HHHHHHH#NM@@H@@@H@H@H@@@H@@H@@H@MH@H@H%  `
                                                ` H@@HH@@@@@@HH@H@@HH@H@H@@@@@@@@@@M#NNMH@HHHMH@HHHHHHH@H@H@HH@@@MM@@H@HH@HH@H@HH@@HHHHH#MNM@HH@@@H@@@H@@@H@@@@H@@@@HH#
               `                               ` .M@@H@@@@@@@@H@@H@H@H@H@H@@@@@@@gM##NNMMHHHH@HHH@HHHHH@H@H@@H@@@HMH@@@@H@@HH@@@HMH@@HHHHH##MMHHH@@@@H@H@@@@@H@@H@@H@M'
                            `                  ` J@@@@@@@@@@@@HH@H@@@@H@@@@H@@@@@MM###NM@H@H@@H@H@HHH@HH@H@HHH@H@@#@@@HHHH@HH@H@HHHH@H@HHHHHH#MH@HHHH@@@H@H@@@H@@H@HHF
                                               ` d@@@H@@@@@@H@@@H@H@H@@@@@@@@@@@@M##H##N@HH@HH@HHHHHH@HH@HH@HH@H@@HHH@@H@H@@@HHH@H@HH@H@@HHHHHHMM@H@H@@H@@H@H@H@@@HM#``
               `                                .@@@H@@@@@@@@HH@@H@H@H@@H@@@@@@@M#H###NNH@HHH@HHHHHHHH@H@@H@@@H@H@M@@H@HH@HHH@@HH@H@@HHHH@@HHHHHMNM@HH@HHH@@H@@HH@HM'` `
                            `              `   `jM@@@@@@@@@@H@@HH@H@H@HH@@H@@H@M###H#H#NMH@@H@@MH@H@@HHHH@HHHH@@@HM@@@@MHH@HH@@@@HHH@@H@@MH@HHHHHMNNM@HH@@HH@@@H@@M%
                                            `  .H@@@@@@@@@@@H@@H@HHM@H@@@@@@@@M#HHHH####M@HH@H@@HHHHMMHHHHHHH@HH@@MHH@@HH@H@@HHH@@H@@HHHHHH@HH@@@@HHHMM@H@@@HH@H@HF   `
                                               ,M@@@@@@H@@@@@HH@H@@H@@H@@H@@@M##HHH#HH#MM@HH@HH@HH@HHMHH@HH@@H@@H@MH@@H@@H@HH@H@HH@HH@@H@@HH@H@HH@H@HHHMM@@H@@@H@#     `
               `                                W@@@@@@@@@@HH@H@H@H@H@@H@@H@MNHHHH#HHHHNMH@@H@H@HHHHHHHHHH@HH@HH@@#@@@H@@HH@H@H@@@H@H@@H@H@H@@H@HH@@@H@HHHM@H@H@M\`
                            `                  `.M@@@@H@M@@H@H@H@MH@HH@@@@@M##H##H#HHH###H@@HH@HMHHHHHHHHHH@H@@@H@MH@H@@@@@H@@@H@@H@@HH@HHH@HH@H@@HHH@HMHHHHH@MM@
                                                `.M@@@HH@M@@H@@H@@@H@H@H@@M####HHH#HH#H##@HH@H@@HHHHHHHHHHHH@H@@@HMHH@@H@@@HHH@H@H@@@@H@@H@@H@H@H@H@H@HH@HHH@H@D
               `                               `  ?MMH@@@@H@HMH@HHH@H@@@MM##H#HHMHHHHHHHHH@@H@H@HHHH@HHHHHH@M@HH@@HH@@@@HH@H@H@@H@HH@H@HH@HH@@@HH@H@H@@@@H@@@@MD
                            `                  `  `?MH@@H@@H@@@H@@HH@H@HM###H#HHHHHHHHH##H@H@H@H@HHH@HHHHHHH@@@H@@HH@H@H@@H@@@HH@HH@HHHH@H@HH@H@@H@H@HHHH@@@@@HF
                                                   `.TM@@H@H@H@HH@@@H@MM##HHH#HHHHHMHHHHHM@@@@H@HHHHHHH#HH@@H@@@@@HM@@HH@HH@HH@HH@HHM@@@H@@@H@@HH@@H@@HH@H@H@@@]
                                                      .UHHH@H@H@@HHH@H#HH#HHH#HHHHHHHHH#HHH@HH@H@HHHHHHHHHHHMH@@H@H#M@@HH@@@H@HMH@H@HH@@H@HH@@H@H@HH@HH@HH@@@@@]`
               `                                      ``.TMHH@@H@@H@MHH#HH#HH#HHHHHHHHHHHHH@H@H@HHHHHHHHHHH@@MH@@@HNH@H@@HH@@@@M@H@@@H@@@H@@H@HHHH@HH@H@@@H@@@H]
               */
#include<bits/stdc++.h>
#include <atcoder/all>
//#include <boost/multiprecision/cpp_int.hpp>
using namespace std;
using namespace atcoder;
#define FOR(i, a, b) for (ll i = (a); i <= (b); i++)
#define rep(i, n) FOR(i, 0, n - 1)
#define NREP(i, n) FOR(i, 1, n)
#define _GLIBCXX_DEBUG
using ll = long long;
using ui = uint64_t;
using pii = pair<int, int>;
using piii = pair<pii, pii>;
using pll = pair<ll, ll>;
using ull = unsigned long;
const ll INF = 1LL << 60;
const ll inf = 1LL << 50;
//const long long mod = 998244353;
using mint = modint998244353;
//ll base = 998244353;

vector<int> di{1, 0, -1, 0};
vector<int> dj{0, 1, 0, -1};

struct Edge {
  ll from;
  ll to;
  ll co;
};

struct S {
  ll value;
  ll idx;
};

S op(S a, S b) { return {max(a.value , b.value), a.idx}; }
S mapping(ll f, S x) { return {f+x.value, x.idx}; }
ll composition(ll f, ll g) { return f+g; }
ll id() { return 0; }
S e() { return {0, 0}; }





int main() {
    ll n, m;
    cin >> n >> m;
    vector<ll> a(n);
    rep(i, n)cin >> a[i];
    ull l = 0, r = 1LL << 60;
    while(r-l > 1){
      ull mid = (r+l)/2;
      ull c = 0;
      rep(i, n){
        ull x = (mid/a[i]+1)/2;
        x = x*x*a[i];
        c+=x;
      }
      if(c >= m)r = mid;
      else l = mid;
    } 
    ull res = 0, cost = 0;
    rep(i, n){
      //ull x = (l+1)/(2*a[i]);
      ull x = (l/a[i]+1)/2;
      res+=x;
      x = x*x*a[i];
      cost+=x; 
    }
    rep(i, n){
      //ull x = (l+1+1)/(2*a[i]);
      ull x = ((l+1)/a[i]+1)/2;

      if(l+1 ==  (2*x-1)*a[i] && x != 0 && cost+(2*x-1)*a[i] <= m){
        res++;
        cost += l+1;
      }
    }
    cout << res << endl;
    return 0;
}

Submission Info

Submission Time
Task E - Square Price
User po1
Language C++ 20 (gcc 12.2)
Score 0
Code Size 21407 Byte
Status WA
Exec Time 89 ms
Memory 4964 KiB

Compile Error

Main.cpp: In function ‘int main()’:
Main.cpp:192:12: warning: comparison of integer expressions of different signedness: ‘ull’ {aka ‘long unsigned int’} and ‘ll’ {aka ‘long long int’} [-Wsign-compare]
  192 |       if(c >= m)r = mid;
      |          ~~^~~~
Main.cpp:207:62: warning: comparison of integer expressions of different signedness: ‘long long unsigned int’ and ‘ll’ {aka ‘long long int’} [-Wsign-compare]
  207 |       if(l+1 ==  (2*x-1)*a[i] && x != 0 && cost+(2*x-1)*a[i] <= m){
      |                                            ~~~~~~~~~~~~~~~~~~^~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 475
Status
AC × 2
AC × 8
WA × 18
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 2 ms 3524 KiB
00_sample_01.txt AC 1 ms 3460 KiB
01_random_00.txt WA 84 ms 4804 KiB
01_random_01.txt WA 85 ms 4708 KiB
01_random_02.txt WA 85 ms 4964 KiB
01_random_03.txt WA 85 ms 4792 KiB
01_random_04.txt WA 85 ms 4724 KiB
01_random_05.txt WA 85 ms 4716 KiB
01_random_06.txt WA 85 ms 4728 KiB
01_random_07.txt AC 85 ms 4832 KiB
01_random_08.txt WA 85 ms 4728 KiB
01_random_09.txt WA 85 ms 4720 KiB
01_random_10.txt WA 8 ms 3568 KiB
01_random_11.txt WA 74 ms 4544 KiB
01_random_12.txt WA 7 ms 3696 KiB
01_random_13.txt WA 16 ms 3520 KiB
01_random_14.txt AC 53 ms 4164 KiB
01_random_15.txt WA 82 ms 4808 KiB
01_random_16.txt AC 41 ms 4172 KiB
01_random_17.txt AC 26 ms 3700 KiB
01_random_18.txt WA 65 ms 4320 KiB
01_random_19.txt AC 72 ms 4524 KiB
01_random_20.txt WA 53 ms 4868 KiB
01_random_21.txt AC 89 ms 4788 KiB
01_random_22.txt WA 1 ms 3596 KiB
01_random_23.txt WA 1 ms 3540 KiB


2025-06-20 (Fri)
00:51:08 +09:00